織夢網(wǎng)站首頁打開慢鄭州企業(yè)網(wǎng)絡(luò)推廣外包
Python 數(shù)字類型總結(jié)
文章目錄
- Python 數(shù)字類型總結(jié)
- 1. 數(shù)字類型概述
- 特點
- 2. 數(shù)字類型的創(chuàng)建與賦值
- 3. 數(shù)字類型轉(zhuǎn)換
- 4. 數(shù)學(xué)運算與函數(shù)
- `math` 模塊
- `cmath` 模塊
- 5. 隨機數(shù)生成
- 6. 三角函數(shù)
- 7. 數(shù)學(xué)常量
- 總結(jié)
Python 提供了多種數(shù)字類型來存儲和操作數(shù)值數(shù)據(jù)。這些類型包括整數(shù)、浮點數(shù)、長整數(shù)(在 Python 3 中已與整數(shù)合并)和復(fù)數(shù)。每種類型都有其特定的特性和使用場景。以下是關(guān)于 Python 數(shù)字類型的詳細總結(jié),包括它們的特點、轉(zhuǎn)換方法以及常用的數(shù)學(xué)和隨機數(shù)函數(shù)。
1. 數(shù)字類型概述
Python 支持以下四種主要的數(shù)字類型:
- 整型 (
int
):表示整數(shù),可以是正數(shù)或負數(shù),沒有小數(shù)部分。 - 浮點型 (
float
):表示帶有小數(shù)部分的實數(shù),支持科學(xué)計數(shù)法。 - 復(fù)數(shù) (
complex
):由實部和虛部組成,用a + bj
或complex(a, b)
表示。 - 長整型 (
long
):在 Python 2 中用于表示無限大小的整數(shù),但在 Python 3 中已被移除,統(tǒng)一為int
類型。
特點
- 不可變性:所有數(shù)字類型都是不可變的,這意味著一旦創(chuàng)建,它們的值就不能被修改。如果需要改變一個數(shù)字的值,實際上是創(chuàng)建了一個新的對象。
- 內(nèi)存管理:當(dāng)一個數(shù)字對象不再被引用時,Python 的垃圾回收機制會自動釋放其占用的內(nèi)存。
2. 數(shù)字類型的創(chuàng)建與賦值
# 整型
x = 42
y = -1000# 浮點型
pi = 3.14159
e = 2.71828
inf = float('inf') # 正無窮大
ninf = float('-inf') # 負無窮大
nan = float('nan') # 非數(shù)字# 復(fù)數(shù)
c = 3 + 4j
d = complex(1, 2)# 長整型(Python 3 中與 int 合并)
z = 123456789012345678901234567890 # 自動處理為 int
3. 數(shù)字類型轉(zhuǎn)換
Python 提供了多種內(nèi)置函數(shù)來在不同數(shù)字類型之間進行轉(zhuǎn)換:
int(x[, base])
:將x
轉(zhuǎn)換為整數(shù),base
可選參數(shù)指定進制,默認為 10。float(x)
:將x
轉(zhuǎn)換為浮點數(shù)。complex(real[, imag])
:創(chuàng)建一個復(fù)數(shù),real
和imag
分別是實部和虛部。str(x)
:將x
轉(zhuǎn)換為字符串。repr(x)
:將x
轉(zhuǎn)換為表達式字符串。eval(str)
:計算字符串中的有效 Python 表達式,并返回結(jié)果。hex(x)
:將整數(shù)x
轉(zhuǎn)換為十六進制字符串。oct(x)
:將整數(shù)x
轉(zhuǎn)換為八進制字符串。
# 類型轉(zhuǎn)換
int_value = int(3.5) # 輸出: 3
float_value = float("12.34") # 輸出: 12.34
str_value = str(42) # 輸出: '42'
complex_value = complex(1, 2) # 輸出: (1+2j)
hex_value = hex(255) # 輸出: '0xff'
oct_value = oct(64) # 輸出: '0o100'
4. 數(shù)學(xué)運算與函數(shù)
Python 提供了豐富的數(shù)學(xué)運算函數(shù),主要位于 math
和 cmath
模塊中。
math
模塊
math
模塊提供了對浮點數(shù)的數(shù)學(xué)運算函數(shù),如三角函數(shù)、指數(shù)函數(shù)、對數(shù)函數(shù)等。
import math# 常用數(shù)學(xué)函數(shù)
print(math.sqrt(16)) # 輸出: 4.0
print(math.sin(math.pi / 2)) # 輸出: 1.0
print(math.log(10)) # 輸出: 2.302585092994046
print(math.exp(1)) # 輸出: 2.718281828459045
print(math.floor(4.9)) # 輸出: 4
print(math.ceil(4.1)) # 輸出: 5
print(math.fabs(-10)) # 輸出: 10.0
print(math.pow(2, 3)) # 輸出: 8.0
print(math.pi) # 輸出: 3.141592653589793
print(math.e) # 輸出: 2.718281828459045
cmath
模塊
cmath
模塊提供了對復(fù)數(shù)的數(shù)學(xué)運算函數(shù),類似于 math
模塊,但適用于復(fù)數(shù)。
import cmath# 復(fù)數(shù)數(shù)學(xué)函數(shù)
print(cmath.sqrt(-1)) # 輸出: 1j
print(cmath.sin(1)) # 輸出: (0.8414709848078965+0j)
print(cmath.log10(100)) # 輸出: (2+0j)
5. 隨機數(shù)生成
random
模塊提供了生成隨機數(shù)的功能,廣泛應(yīng)用于模擬、游戲開發(fā)等領(lǐng)域。
import random# 生成隨機數(shù)
print(random.random()) # 輸出: [0, 1) 之間的隨機浮點數(shù)
print(random.uniform(1, 10)) # 輸出: [1, 10] 之間的隨機浮點數(shù)
print(random.randint(1, 10)) # 輸出: [1, 10] 之間的隨機整數(shù)
print(random.choice(['apple', 'banana', 'cherry'])) # 隨機選擇一個元素
print(random.randrange(0, 10, 2)) # 從 0 到 10 之間按步長 2 選擇一個隨機整數(shù)
items = [1, 2, 3, 4, 5]
random.shuffle(items) # 隨機打亂列表順序
print(items)
6. 三角函數(shù)
math
模塊還提供了常見的三角函數(shù),用于角度和弧度之間的轉(zhuǎn)換以及三角運算。
import math# 三角函數(shù)
print(math.sin(math.pi / 2)) # 輸出: 1.0
print(math.cos(math.pi / 2)) # 輸出: 6.123233995736766e-17 (接近 0)
print(math.tan(math.pi / 4)) # 輸出: 0.9999999999999999 (接近 1)
print(math.degrees(math.pi)) # 輸出: 180.0
print(math.radians(180)) # 輸出: 3.141592653589793
7. 數(shù)學(xué)常量
math
模塊中定義了一些常用的數(shù)學(xué)常量:
math.pi
:圓周率 π,約等于 3.141592653589793。math.e
:自然常數(shù) e,約等于 2.718281828459045。
import mathprint(math.pi) # 輸出: 3.141592653589793
print(math.e) # 輸出: 2.718281828459045
總結(jié)
通過上述詳細的解釋,我們?nèi)娼榻B了 Python 中的數(shù)字類型及其特點、類型轉(zhuǎn)換方法、數(shù)學(xué)運算函數(shù)、隨機數(shù)生成和三角函數(shù)等內(nèi)容。這些知識不僅涵蓋了 Python 數(shù)字類型的使用,還包括了許多實用的內(nèi)置模塊和函數(shù),幫助你在編程中更高效地處理數(shù)值數(shù)據(jù)。
如果你有任何具體問題或需要進一步的解釋,請隨時告訴我!