本文小編為大家詳細(xì)介紹“Python的基本數(shù)據(jù)類型有哪些及怎么使用”,內(nèi)容詳細(xì),步驟清晰,細(xì)節(jié)處理妥當(dāng),希望這篇“Python的基本數(shù)據(jù)類型有哪些及怎么使用”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學(xué)習(xí)新知識吧。
公司主營業(yè)務(wù):做網(wǎng)站、成都網(wǎng)站制作、移動網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。創(chuàng)新互聯(lián)建站是一支青春激揚、勤奮敬業(yè)、活力青春激揚、勤奮敬業(yè)、活力澎湃、和諧高效的團隊。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團隊有機會用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯(lián)建站推出漠河免費做網(wǎng)站回饋大家。
默認(rèn)輸入十進制
二進制0b、八進制0o、十六進制0x
16 == 0b10000 == 0o20 == 0x10
True
十進制與其他進制的轉(zhuǎn)換
a = bin(16) # 轉(zhuǎn)二進制 b = oct(16) # 轉(zhuǎn)八進制 c = hex(16) # 轉(zhuǎn)十六進制 print(a, b, c)
0b10000 0o20 0x10
注意:上述轉(zhuǎn)換后結(jié)果為字符串類型,因此如果進行相等比較的話,輸出的是False結(jié)果
a == b == c
False
type(a)
str
其他進制轉(zhuǎn)十進制
d = int(a, 2) # 二進制轉(zhuǎn)十進制 e = int(b, 8) # 八進制轉(zhuǎn)十進制 f = int(c, 16) # 十六進制轉(zhuǎn)十進制 print(d, e, f)
16 16 16
不確定小數(shù)問題
(0.1+0.2) == 0.3
False
0.1+0.2
0.30000000000000004
計算機采用二進制小數(shù)來表示浮點數(shù)的小數(shù)部分
原因:部分小數(shù)不能用二進制小數(shù)完全表示
二進制 十進制
0.00011001100110011001 0.09999942779541016 0.0011001100110011 0.1999969482421875 0.01001100110011001 0.29999542236328125 0.01100110011001101 0.40000152587890625 0.1 === === 0.5
通常情況下不會影響計算精度
0.1 + 0.7
0.7999999999999999
四舍五入獲得精確解
可以采用四舍五入的方式解決:round(parameter, 保留小數(shù)位數(shù))
a = 3*0.1 print(a)
0.30000000000000004
b = round(a, 1) print(b) b == 0.3
0.3 True
大寫J或小寫j均可
3+4j 2+5J
(2+5j)
虛部系數(shù)為1時,需要顯式寫出
2+1j
加減乘除運算   +  -  /  *
(1+3-4*2)/5
-0.8
取反 -
x = 1 -x
-1
乘方運算**
2**3
8
整數(shù)商//和模運算%
13//5 # 整數(shù)商 x/y 向下取整數(shù)
2
13 % 5 # 模運算 余數(shù) 13=2*5+3
幾點說明
整數(shù)與浮點數(shù)運算結(jié)果是浮點數(shù)
除法運算的結(jié)果是浮點數(shù)
1+1.5
2.5
2/5
0.4
8/4
2.0
求絕對值 abs()
abs(-5)
5
abs(3+4j) # 對復(fù)數(shù)a+bj 執(zhí)行的是求模運算(a^2+b^2)^0.5
5.0
冪次方 pow(x,n)
冪次方取模 pow(x,n,m)
pow(2, 5) # pow(x,n) x的n次方 等價于x**n
32
pow(2, 5, 3) # 2^5 % 3 更快速
2
四舍五入 round(x,n)
a = 1.618 print(round(a)) # 默認(rèn)四舍五入為整數(shù)
2
print(round(a, 2)) # 參數(shù)2表示四舍五入后保留2位小數(shù)
1.62
print(round(a, 5)) # 位數(shù)不足,無需補齊
1.618
整數(shù)商和模運算 divmod(x,y)
等價于返回二元元組(x//y,x % y)
divmod(13, 5) # 較(x//y,x % y)更快,只執(zhí)行了一次x/y
(2, 3)
序列最大/最小值 max( )  min( )
max(3, 2, 3, 6, 9, 4, 5)
9
a = [3, 2, 3, 6, 9, 4, 5] print("max:", max(a)) print("min:", min(a))
max: 9 min: 2
求和sum(x)
注意:sum里面需要填入一個序列數(shù)據(jù)
sum((1, 2, 3, 4, 5))
15
借助科學(xué)計算庫 math\scipy\numpy
import math # 導(dǎo)入庫 print(math.exp(1)) # 指數(shù)運算 e^x print(math.log2(2)) # 對數(shù)運算 print(math.sqrt(4)) # 開平方運算 等價于4^0.5
2.718281828459045 1.0 2.0
import numpy as np a = [1, 2, 3, 4, 5] print(np.mean(a)) # 求均值 print(np.median(a)) # 求中位數(shù) print(np.std(a)) # 求標(biāo)準(zhǔn)差
3.0 3.0 1.4142135623730951
用""或''括起來的任意字符
print("Python") print('Python')
Python Python
字符串中有雙引號或單引號的情況
雙中有單
print("I'm 18 years old")
I'm 18 years old
單中有雙
print('"Python" is good')
"Python" is good
雙中有雙,單中有單——轉(zhuǎn)義符  \
# print(""Python" is good") print("\"Python\" is good") # \ 字符
"Python" is good
轉(zhuǎn)義符可以用來換行繼續(xù)輸入
s = "py\ thon" print(s)
python
s = "My name is Peppa Pig"
變量名[位置編號]
正向索引——從零開始遞增
位置編號不能超過字符串的長度
空格也是一個位置
print(s[0]) print(s[2]) print(s[5])
M m
s = "My name is Peppa Pig"
反向索引——從-1開始遞減
print(s[-1]) print(s[-3]) print(s[-5])
g P a
索引只能獲得一個字符,如何獲得多個字符?
變量名[開始位置:結(jié)束位置:切片間隔]
切片間隔如不設(shè)置默認(rèn)為1,可省略
切片范圍不包含結(jié)束位置(前閉后開)
s = "Python" print(s[0:3:1])
Pyt
print(s[0:3])
Pyt
print(s[0:3:2])
Pt
起始位置是0 可以省略
結(jié)束位置省略,代表可以取到最后一個字符
可以使用反向索引
s = "Python" print(s[0:6])
Python
print(s[:6])
Python
print(s[:])
Python
print(s[-6:])
Python
反向切片
起始位置是-1也可以省略
結(jié)束位置省略,代表可以取到第一個字符
關(guān)鍵點在于-1,代表前一個位置比后一個位置大-1
s = "123456789" print(s[-1:-10:-1])
987654321
print(s[:-10:-1])
987654321
print(s[::-1])
987654321
字符串1+字符串2
a = "I love " b = "my wife " a+b
'I love my wife '
字符串 * n   n * 字符串
c = a+b print(c*3) print(3*c)
I love my wife I love my wife I love my wife I love my wife I love my wife I love my wife
子集in全集  任何一個連續(xù)的切片都是原字符串的子集
folk_singers = "Peter, Paul and Mary" "Peter" in folk_singers
True
"PPM" in folk_singers
False
遍歷字符串字符  for 字符 in 字符串
for s in "Python": print(s)
P y t h o n
所含字符的個數(shù)
s = "python" len(s)
6
將中文字庫,英文字母、數(shù)字、特殊字符等轉(zhuǎn)化成計算機可識別的二進制數(shù)
每個單一字符對應(yīng)一個唯一的互不重復(fù)的二進制編碼
Python 中使用的是Unicode編碼
將字符轉(zhuǎn)化為Unicode碼——ord(字符)
print(ord("1")) print(ord("a")) print(ord("*")) print(ord("中")) print(ord("國"))
49 97 42 20013 22269
將Unicode碼轉(zhuǎn)化為字符——chr(Unicode碼)
print(chr(1010)) print(chr(10000)) print(chr(12345)) print(chr(23456))
? ? ? 寵
返回一個列表
原字符串不變
上述特性適合以下所有字符串處理方法
languages = "Python C C++ Java PHP R" languages_list = languages.split(" ")#括號里的參數(shù)就是我們希望對目標(biāo)字符串進行分割的標(biāo)記 print(languages_list) print(languages)
['Python', 'C', 'C++', 'Java', 'PHP', 'R'] Python C C++ Java PHP R
可迭代類型 如:字符串、列表
s = "12345" s_join = ",".join(s) #把可迭代的對象每一個都取出來,相鄰兩個之間加上聚合字符 s_join
'1,2,3,4,5'
序列類型的元素必須是字符類型
# s = [1, 2, 3, 4, 5] 無法使用聚合 s = ["1", "2", "3", "4", "5"] "*".join(s)
'1*2*3*4*5'
strip從兩側(cè)開始搜索,遇到指定字符執(zhí)行刪除,遇到非指定字符,搜索停止
類似的還有左刪除lstrip和右刪除rstrip
s = " I have many blanks " print(s.strip(" ")) #從兩端進行搜索,遇到指定字符后刪除空格,然后停止 print(s.lstrip(" ")) print(s.rstrip(" ")) print(s)
I have many blanks I have many blanks I have many blanks I have many blanks
s = "Python is coming" s1 = s.replace("Python","Py") print(s1)
Py is coming
s = "Python is an excellent language" print("an:", s.count("an")) print("e:", s.count("e"))
an: 2 e: 4
字符串.upper() 字母全部大寫
s = "Python" s.upper()
'PYTHON'
字符串.lower() 字母全部小寫
print(s.lower()) print(s)
python Python
字符串.title()首字母大寫
s.title()
'Python'
a = 10 print(a > 8) print(a == 12) print(a < 5)
True False False
any() 數(shù)據(jù)有一個是非零就為True
all() 數(shù)據(jù)有一個是零就為False (元素都是非零的)
print(any([False,1,0,None])) # 0 False None 都是無 print(all([False,1,0,None]))
True False
n = 2800 while True: m = eval("請輸入一個正整數(shù):")) if m == n: print("正確") break elif m > n: print("太大了") else: print("太小了")
請輸入一個正整數(shù):280 太小了 請輸入一個正整數(shù):2800 正確
import numpy as np x = np.array([[1, 3, 2, 5, 7]]) # 定義 numpy數(shù)組 print(x > 3) x[x > 3]
[[False False False True True]] array([5, 7])
type(變量)
age = 20 name = "Ada" print(type(age)) print(type(name))
<class 'int'> <class 'str'>
isinstance(變量,預(yù)判類型) 承認(rèn)繼承
變量類型是預(yù)判類型的子類型,則為真,否則為假
print(isinstance(age, int)) # 承認(rèn)繼承 這里的int就相當(dāng)于是一個類
True
print(isinstance(age, object)) print(isinstance(name, object)) # object 是所有類的老祖宗
True True
字符串檢查方法
字符串.isdigit()字符是否只有數(shù)字組成
age = "20" name = "Ada"
age.isdigit()
True
name.isdigit()
False
字符串.isalpha()字符是否只有字母組成
name.isalpha()
True
age.isalpha()
False
字符串.isalnum()字符是否只有數(shù)字和字母組成
"Ada20".isalnum() # 比如可用于判斷用戶名是否合法
True
數(shù)字類型轉(zhuǎn)字符串  str(數(shù)字類型)
age = 20 print("My age is "+str(age))
My age is 20
僅有數(shù)字組成的字符串轉(zhuǎn)數(shù)字  int()  float()  eval(232, 232, 232); background: rgb(249, 249, 249);">
s1 = "20" s2 = "10.1"
int(s1) # 僅整型 # int(s2) 會錯誤
20
float(s1)
20.0
float(s2)
10.1
eval(232, 232, 232); background: rgb(249, 249, 249);">20
eval(232, 232, 232); background: rgb(249, 249, 249);">10.1
讀到這里,這篇“Python的基本數(shù)據(jù)類型有哪些及怎么使用”文章已經(jīng)介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領(lǐng)會,如果想了解更多相關(guān)內(nèi)容的文章,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
分享名稱:Python的基本數(shù)據(jù)類型有哪些及怎么使用
URL分享:http://aaarwkj.com/article0/igddio.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供ChatGPT、全網(wǎng)營銷推廣、網(wǎng)站策劃、網(wǎng)站制作、面包屑導(dǎo)航、靜態(tài)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)