Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Industrial programming >> Python

Menguasai Angka, Konversi Tipe, dan Matematika di Python

Menguasai Angka, Konversi Tipe, dan Matematika di Python

Temukan bagaimana Python menangani data numerik, nuansa konversi tipe, dan utilitas matematika yang kuat untuk pemrograman sehari-hari.

Tipe Data Angka di Python

Python mengategorikan angka ke dalam tiga tipe inti: int untuk bilangan bulat, float untuk bilangan real dengan bagian pecahan, dan complex untuk bilangan dengan bagian real dan imajiner. Kehadiran titik desimal membedakan int dari float (misalnya, 5 adalah bilangan bulat, 5.0 adalah float). Bilangan kompleks mengikuti notasi x + yj, di mana x adalah bagian real dan y adalah bagian imajiner.

Gunakan type() untuk memeriksa kelas suatu nilai dan isinstance() untuk memverifikasi keanggotaan dalam tipe tertentu. Misalnya:

a = 5
print(type(a))
print(type(5.0))
c = 5 + 3j
print(c + 3)
print(isinstance(c, complex))

Keluaran:

<class 'int'> <class 'float'> (8+3j) True

Bilangan bulat di Python memiliki presisi arbitrer; float mempertahankan sekitar 15 digit desimal akurasi. Untuk pengembang yang bekerja dengan representasi biner, heksadesimal, atau oktal, Python menawarkan awalan yang nyaman:

Sistem BilanganAwalan
Biner0b atau 0B
Oktal0o atau 0O
Heksadesimal0x atau 0X

Contoh:

# Output: 107
print(0b1101011)
# Output: 253 (251 + 2)
print(0xFB + 0b10)
# Output: 13
print(0o15)

Hasil:

107 253 13

Konversi Tipe (Coercion)

Python secara otomatis mempromosikan bilangan bulat menjadi float selama aritmetika jika operand float terlibat. Misalnya:

>>> 1 + 2.0
3.0

Konversi eksplisit sama sederhananya dengan int(), float(), dan complex(), yang juga dapat mengurai string:

>>> int(2.3)
2
>>> int(-2.8)
-2
>>> float(5)
5.0
>>> complex('3+5j')
(3+5j)

Saat mengonversi float ke int, Python memotong bagian desimal alih-alih membulatkan.

Decimal Python

Aritmetika titik terapung dapat menghasilkan hasil yang mengejutkan karena batas representasi biner. Misalnya:

>>> (1.1 + 2.2) == 3.3
False

Karena angka seperti 0.1 tidak dapat direpresentasikan secara tepat dalam biner, operasi menghasilkan error pembulatan kecil. Modul decimal mengatasi hal ini dengan menyediakan aritmetika desimal presisi arbitrer:

import decimal
print(0.1)
print(decimal.Decimal(0.1))

Keluaran:

0.1 0.1000000000000000055511151231257827021181583404541015625

Menggunakan Decimal mempertahankan digit signifikan dan representasi desimal yang tepat, penting untuk perhitungan keuangan:

from decimal import Decimal as D
print(D('1.1') + D('2.2'))
print(D('1.2') * D('2.50'))

Keluaran:

3.3 3.000

Karena operasi decimal lebih lambat dari biner float, simpan Decimal untuk skenario yang memerlukan presisi tepat, seperti nilai moneter, presisi yang dapat dikonfigurasi, atau pengendalian digit signifikan.

Kapan Menggunakan Decimal Alih-alih Float?

Pecahan Python

Modul fractions menawarkan dukungan bilangan rasional, memungkinkan aritmetika tepat dengan pembilang dan penyebut sebagai bilangan bulat:

import fractions
print(fractions.Fraction(1.5))
print(fractions.Fraction(5))
print(fractions.Fraction(1,3))

Keluaran:

3/2 5 1/3

Membuat Fraction dari float dapat menghasilkan hasil yang tidak intuitif karena pembulatan biner, jadi gunakan masukan string untuk bilangan desimal:

import fractions
# Dari float
print(fractions.Fraction(1.1))
# Dari string
print(fractions.Fraction('1.1'))

Keluaran:

2476979795053773/2251799813685248 11/10

Pecahan mendukung semua operator aritmetika:

from fractions import Fraction as F
print(F(1, 3) + F(1, 3))
print(1 / F(5, 6))
print(F(-3, 10) > 0)
print(F(-3, 10) < 0)

Keluaran:

2/3 6/5 False True

Matematika Python

Modul math Python menyediakan fungsi untuk trigonometri, logaritma, faktorial, dan lebih banyak:

import math
print(math.pi)
print(math.cos(math.pi))
print(math.exp(10))
print(math.log10(1000))
print(math.sinh(1))
print(math.factorial(6))

Keluaran:

3.141592653589793 -1.0 22026.465794806718 3.0 1.1752011936438014 720

Untuk keacakan dan pengambilan sampel, modul random menawarkan:

import random
print(random.randrange(10, 20))
x = ['a', 'b', 'c', 'd', 'e']
print(random.choice(x))
random.shuffle(x)
print(x)
print(random.random())

Contoh keluaran (nilai bervariasi):

18 e ['c', 'e', 'd', 'b', 'a'] 0.5682821194654443

Kedua modul menyediakan dokumentasi komprehensif yang menjelaskan semua fungsi dan atribut yang tersedia.

Python

  1. Menguasai Konversi Tipe C#: Implisit, Eksplisit, Parse, dan Metode Convert
  2. Kata Kunci dan Pengidentifikasi Python: Menguasai Kata Terjamin dan Konvensi Penamaan
  3. Pernyataan, Indentasi, dan Komentar Python: Panduan Jelas
  4. Variabel, Konstanta, dan Literal Python – Panduan Komprehensif
  5. Menguasai Konversi & Casting Tipe Python: Panduan Komprehensif
  6. Menguasai Input/Output Python dan Impor Modul: Panduan Praktis
  7. Memahami Variabel Global, Lokal, dan Nonlokal Python
  8. Menguasai Operasi Direktori dan File di Python
  9. Menguasai Error dan Exception Bawaan Python
  10. Mengambil Tanggal dan Waktu Saat Ini di Python: Panduan Praktis