一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

100天精通Python(基礎(chǔ)篇)——第4天:數(shù)據(jù)類型

 oldzhoua 2023-01-04 發(fā)布于廣東

開啟掘金成長之旅!這是我參與「掘金日新計(jì)劃 · 12 月更文挑戰(zhàn)」的第11天,點(diǎn)擊查看活動(dòng)詳情

1 六大數(shù)據(jù)類型

  • Number(數(shù)字)
  • String(字符串)
  • Tuple(元組)
  • List(列表)
  • Dictionary(字典)
  • Set(集合)
  • 不可變數(shù)據(jù)(3 個(gè)):Number(數(shù)字)、String(字符串)、Tuple(元組)
  • 可變數(shù)據(jù)(3 個(gè)):List(列表)、Dictionary(字典)、Set(集合)

2 Number(數(shù)字)

三種不同的數(shù)值類型

  • int(整型) :通常被稱為是整型或整數(shù),是正或負(fù)整數(shù),不帶小數(shù)點(diǎn)。布爾(bool)是整型的子類型。
  • float(浮點(diǎn)型):浮點(diǎn)型由整數(shù)部分與小數(shù)部分組成,浮點(diǎn)型也可以使用科學(xué)計(jì)數(shù)法表示(2.5e2 = 2.5 x 102 = 250)
  • complex(復(fù)數(shù)):復(fù)數(shù)由實(shí)數(shù)部分和虛數(shù)部分構(gòu)成,可以用a + bj,或者complex(a,b)表示, 復(fù)數(shù)的實(shí)部a和虛部b都是浮點(diǎn)型

數(shù)字類型轉(zhuǎn)換

  • int(x):將x轉(zhuǎn)換為一個(gè)整數(shù)。
  • float(x):將x轉(zhuǎn)換到一個(gè)浮點(diǎn)數(shù)。
  • complex(x):將x轉(zhuǎn)換到一個(gè)復(fù)數(shù),實(shí)數(shù)部分為 x,虛數(shù)部分為 0。
  • complex(x, y):將 x 和 y 轉(zhuǎn)換到一個(gè)復(fù)數(shù),實(shí)數(shù)部分為 x,虛數(shù)部分為 y。x 和 y 是數(shù)字表達(dá)式

常用數(shù)學(xué)函數(shù)

函數(shù)描述
abs(x)返回?cái)?shù)字的絕對值,如abs(-10) 返回 10
fabs(x)返回?cái)?shù)字的絕對值,如math.fabs(-10) 返回10.0
ceil(x)返回?cái)?shù)字的上入整數(shù),如math.ceil(4.1) 返回 5
floor(x)返回?cái)?shù)字的下舍整數(shù),如math.floor(4.9)返回 4
max(x1, x2,...)返回給定參數(shù)的最大值,參數(shù)可以為序列。
min(x1, x2,...)返回給定參數(shù)的最小值,參數(shù)可以為序列。
pow(x, y)x**y 運(yùn)算后的值。
round(x [,n])返回浮點(diǎn)數(shù) x 的四舍五入值,如給出 n 值,則代表舍入到小數(shù)點(diǎn)后的位數(shù)。

隨機(jī)數(shù)函數(shù)

函數(shù)描述
choice(seq)從序列的元素中隨機(jī)挑選一個(gè)元素,比如random.choice(range(10)),從0到9中隨機(jī)挑選一個(gè)整數(shù)。
randrange ([start,] stop [,step])從指定范圍內(nèi),按指定基數(shù)遞增的集合中獲取一個(gè)隨機(jī)數(shù),基數(shù)默認(rèn)值為 1
random()隨機(jī)生成下一個(gè)實(shí)數(shù),它在[0,1)范圍內(nèi)。
shuffle(lst)將序列的所有元素隨機(jī)排序
uniform(x, y)隨機(jī)生成下一個(gè)實(shí)數(shù),它在[x,y]范圍內(nèi)。

3 String(字符串)

Python中的字符串用單引號(hào) ' 或雙引號(hào) ' 括起來,同時(shí)使用反斜杠 \ 轉(zhuǎn)義特殊字符。

常用字符串運(yùn)算符

操作符描述實(shí)例
+字符串連接a + b 輸出結(jié)果: ab
*重復(fù)輸出字符串a*2 輸出結(jié)果:aa
[]通過索引獲取字符串中字符a='Hello’,a[1] 輸出結(jié)果:e
[ : ]截取字符串中的一部分,遵循左閉右開原則,str[0:2] 是不包含第 3 個(gè)字符的a='Hello’,a[1:4] 輸出結(jié)果 ell
in成員運(yùn)算符 - 如果字符串中包含給定的字符返回 True'H' in Hello 輸出結(jié)果 True
not in成員運(yùn)算符 - 如果字符串中不包含給定的字符返回 True'M' not in Hello 輸出結(jié)果 True

字符串格式化

name = '小袁' age = 20 # 語法一:% print('我的名字是:%s ,年齡是:%d' % (name,age)) # 我的名字是:小袁 ,年齡是:20 #語法二:f'{表達(dá)式}' print(f'我的名字是:{name},我的年齡是:{age}') # 我的名字是:小袁,我的年齡是:20 復(fù)制代碼

4 Tuple(元組)

元組創(chuàng)建很簡單,只需要在括號(hào)()中添加元素,并使用逗號(hào)隔開即可,并且==元組中的元素不能改變!==

tup1 = ('hello', 'world', 1, 2)
print(tup1) # ('hello', 'world', 1, 2)
print(type(tup1)) # <class 'tuple'>
復(fù)制代碼

遍歷元組

tup1 = ('hello', 'world', 1, 2) for i in tup1: print(i,end=' ') # hello world 1 2 復(fù)制代碼

常用運(yùn)算符

操作符描述實(shí)例
len()計(jì)算元素個(gè)數(shù)len(tup1),輸出結(jié)果:4
+連接tup1 + (3,4),輸出結(jié)果:('hello', 'world', 1, 2, 3, 4)
*復(fù)制('Hi!',) * 4 ,輸出結(jié)果:('Hi!', 'Hi!', 'Hi!', 'Hi!')
in元素是否存在3 in (1, 2, 3),輸出結(jié)果:True
[]讀取第幾個(gè)元素[0],輸出結(jié)果:hello
[ : ]截取字符串中的一部分,遵循左閉右開原則[0:2],輸出結(jié)果:('hello', 'world')

5 List(列表)

列表是寫在方括號(hào) [] 之間、用逗號(hào)分隔開的元素列表。列表中元素的類型可以不相同,它支持?jǐn)?shù)字,字符串甚至可以包含列表(所謂嵌套)。==列表中的元素是可以改變的!==

修改列表

a = [1, 2, 3, 4, 5]
# 下表索引的方式修改
a[0] = 9
print(a) # [9, 2, 3, 4, 5]

# append()方法:追加列表
a.append(6)
print(a) # [9, 2, 3, 4, 5, 6] 

# del 語句來刪除列表的的元素
del a[0]
print(a) # [2, 3, 4, 5, 6]  
復(fù)制代碼

嵌套列表

a = [1, 2, 3, 4, 5] b = ['a', 'b', 'c'] x = [a, b] print(x) # [[1, 2, 3, 4, 5], ['a', 'b', 'c']] print(x[0]) # [1, 2, 3, 4, 5] print(x[0][1]) # 2 復(fù)制代碼

遍歷列表

a = [1, 2, 3, 4, 5]

for i in a:
    print(i,end=' ')
# 1 2 3 4 5 
復(fù)制代碼

==常用運(yùn)算符同元組!==

常用方法

方法名描述
list.append(obj)在列表末尾添加新的對象
list.count(obj)統(tǒng)計(jì)某個(gè)元素在列表中出現(xiàn)的次數(shù)
list.index(obj)從列表中找出某個(gè)值第一個(gè)匹配項(xiàng)的索引位置
list.insert(index, obj)將對象從對應(yīng)索引位置插入列表
list.pop([index=-1])移除列表中的一個(gè)元素(默認(rèn)最后一個(gè)元素),并且返回該元素的值
list.reverse()反轉(zhuǎn)列表中元素
list.sort( key=None, reverse=False)對原列表進(jìn)行排序
list.clear()清空列表
list.copy()復(fù)制列表

6 Dictionary(字典)

字典的每個(gè)鍵值 key=>value 對用冒號(hào) : 分割,每個(gè)對之間用逗號(hào)(,)分割,整個(gè)字典包括在花括號(hào) {} 中 ,格式如下所示:

d = {key1 : value1, key2 : value2, key3 : value3 } 復(fù)制代碼

==鍵必須是唯一的,但值則不必。值可以取任何數(shù)據(jù)類型,但鍵必須是不可變的,如字符串,數(shù)字==

訪問字典的值

dict = {'Name': '小明', 'Age': 20}
print(dict) # {'Name': '小明', 'Age': 20}

print (dict['Name']) # 小明
print (dict['Age']) # 20
復(fù)制代碼

修改字典

dict = {'Name': '小明', 'Age': 20} dict['Name'] = '小黑' dict['Age'] = 22 print(dict) # {'Name': '小黑', 'Age': 22} 復(fù)制代碼

遍歷字典

dict = {'Name': '小明', 'Age': 20}

#遍歷鍵
for key in dict.keys():
    print(key)
'''
Name
Age
'''

# 遍歷值
for value in dict.values():
    print(value)
'''
小明
20
'''
復(fù)制代碼

7 Set(集合)

集合可以使用大括號(hào) {} 或者 set() 函數(shù)創(chuàng)建集合,注意:創(chuàng)建一個(gè)空集合必須用 set() 而不是 { },因?yàn)?{ } 是用來創(chuàng)建一個(gè)空字典。==集合是一個(gè)無序的不重復(fù)元素序列,集合內(nèi)的元素可以改變!==

兩種創(chuàng)建格式

set1 = {'小黑',20,20} print(set1) # {'小黑', 20} ;元素不重復(fù)只顯示一個(gè)20 set2 = set('abcd') print(set2) # {'c', 'b', 'd', 'a'} ; 元素沒有順序 復(fù)制代碼

修改集合

set1 = {'小黑',20,20}

#add():添加方法
set1.add('大學(xué)生')
print(set1) # {'大學(xué)生', '小黑', 20}

# update():也可以添加元素,且參數(shù)可以是列表,元組,字典等
set1.update([1,2],[3,4])
print(set1) # {1, '大學(xué)生', 2, 3, 4, 20, '小黑'}

# remove():移除元素
set1.remove('大學(xué)生')
print(set1) # {1, 2, 3, 4, 20, '小黑'}
復(fù)制代碼

遍歷集合:

set1 = {'小黑',20,20} for i in set1: print(i,end=' ') # 20 小黑 復(fù)制代碼

8 數(shù)據(jù)類型轉(zhuǎn)換函數(shù)

int()

將float、bool、str類型的數(shù)據(jù)轉(zhuǎn)換為int類型。==float類型轉(zhuǎn)換為int類型時(shí)去除小數(shù)點(diǎn)后面的數(shù);bool類型轉(zhuǎn)換為int類型時(shí)False變?yōu)?、True變?yōu)?;str類型直接轉(zhuǎn)換為int類型==

案例

# 定義float變量
f = 9.99
# 定義bool類型變量
b1 = False
b2 = True
# 定義str類型變量
s = '111'

# 使用int()函數(shù)
int1 = int(f)
int2 = int(b1)
int3 = int(b2)
int4 = int(s)

print('int1:',int1) 
print('int1的類型是:',type(int1))
print('-'*10)

print('int2:',int2)
print('int2的類型是:',type(int2))
print('int3:',int3)
print('int3的類型是:',type(int3))
print('-'*10)

print('int3:',int4)
print('int3的類型是:',type(int4))

'''
int1: 9
int1的類型是: <class 'int'>
----------
int2: 0
int2的類型是: <class 'int'>
int3: 1
int3的類型是: <class 'int'>
----------
int3: 111
int3的類型是: <class 'int'>
'''
復(fù)制代碼

bool()

將int、float、str類型的數(shù)據(jù)轉(zhuǎn)換為bool類型。==int類型轉(zhuǎn)換為bool類型時(shí)0變?yōu)镕alse、其他數(shù)據(jù)變?yōu)門rue;float類型轉(zhuǎn)換為bool時(shí)0.0變?yōu)镕alse、其他數(shù)據(jù)變?yōu)門rue;str類型轉(zhuǎn)換為bool類型時(shí)不存在數(shù)據(jù)變?yōu)镕alse、存在數(shù)據(jù)變?yōu)門rue。==

案例

# 定義int變量 i1 = 0 i2 = -1 i3 = 1 # 定義float變量 f1 = 0.0 f2 = -1.0 f3 = 1.0 # 定義str變量 s1 = '' s2 = '0' s3 = '-1' s4 = '1' s5 = 'A' # 使用bool()函數(shù) b1 = bool(i1) b2 = bool(i2) b3 = bool(i3) b4 = bool(f1) b5 = bool(f2) b6 = bool(f3) b7 = bool(s1) b8 = bool(s2) b9 = bool(s3) b10 = bool(s4) b11 = bool(s5) print('b1:',b1) print('b1的類型是:',type(b1)) print('b2:',b2) print('b2的類型是:',type(b2)) print('b3:',b3) print('b3的類型是:',type(b3)) print('-'*10) print('b4:',b4) print('b4的類型是:',type(b4)) print('b5:',b5) print('b5的類型是:',type(b5)) print('b6:',b6) print('b6的類型是:',type(b6)) print('-'*10) print('b7:',b7) print('b7的類型是:',type(b7)) print('b8:',b8) print('b8的類型是:',type(b8)) print('b9:',b9) print('b9的類型是:',type(b9)) print('b10:',b10) print('b10的類型是:',type(b10)) print('b11:',b11) print('b11的類型是:',type(b11)) ''' b1: False b1的類型是: <class 'bool'> b2: True b2的類型是: <class 'bool'> b3: True b3的類型是: <class 'bool'> ---------- b4: False b4的類型是: <class 'bool'> b5: True b5的類型是: <class 'bool'> b6: True b6的類型是: <class 'bool'> ---------- b7: False b7的類型是: <class 'bool'> b8: True b8的類型是: <class 'bool'> b9: True b9的類型是: <class 'bool'> b10: True b10的類型是: <class 'bool'> b11: True b11的類型是: <class 'bool'> ''' 復(fù)制代碼

float()

將int、bool、str類型的數(shù)據(jù)轉(zhuǎn)換為float類型數(shù)據(jù)。==int類型轉(zhuǎn)換為float時(shí)在末尾添加小數(shù)位;bool類型轉(zhuǎn)換為float時(shí)False變?yōu)?.0,、True變?yōu)?.0;str類型直接轉(zhuǎn)換為float類型。==

案例

# 定義int變量
i1 = 1
i2 = -1
# 定義bool變量
b1 = False
b2 = True
# 定義str變量
s1 = '99'

# 使用float()函數(shù)
f1 = float(i1)
f2 = float(i2)
f3 = float(b1)
f4 = float(b2)
f5 = float(s1)

print('f1:',f1) 
print('f1的類型是:',type(f1))
print('f2:',f2) 
print('f2的類型是:',type(f2))
print('-'*10)

print('f3:',f3) 
print('f3的類型是:',type(f3))
print('f4:',f4) 
print('f4的類型是:',type(f4))
print('-'*10)

print('f5:',f5) 
print('f5的類型是:',type(f5))

'''
f1: 1.0
f1的類型是: <class 'float'>
f2: -1.0
f2的類型是: <class 'float'>
----------
f3: 0.0
f3的類型是: <class 'float'>
f4: 1.0
f4的類型是: <class 'float'>
----------
f5: 99.0
f5的類型是: <class 'float'>
'''
復(fù)制代碼

str()

將int、float、bool、list、tuple、set、dict類型的數(shù)據(jù)轉(zhuǎn)換為str類型

案例

# 定義int類型變量 i1 = 1 # 定義float類型變量 f1 = 9.99 # 定義bool類型變量 b1 = False b2 = True # 定義list類型變量 l1 = [1, 2, 'a', 'b'] # 定義tuple類型變量 t1 = (1, 2, 'a', 'b') # 定義set類型變量 s1 = {1, 2, 'a', 'b'} # 定義dict類型變量 d1 = {'name': '小白', 'age':18} # 使用str()函數(shù) str1 = str(i1) str2 = str(f1) str3 = str(b1) str4 = str(b2) str5 = str(l1) str6 = str(t1) str7 = str(s1) str8 = str(d1) print('str1:',str1) print('str1的類型是:',type(str1)) print('-'*10) print('str2:',str2) print('str2的類型是:',type(str2)) print('-'*10) print('str3:',str3) print('str3的類型是:',type(str3)) print('str4:',str4) print('str4的類型是:',type(str4)) print('-'*10) print('str5:',str5) print('str5的類型是:',type(str5)) print('-'*10) print('str6:',str6) print('str6的類型是:',type(str6)) print('-'*10) print('str7:',str7) print('str7的類型是:',type(str7)) print('-'*10) print('str8:',str8) print('str8的類型是:',type(str8)) ''' str1: 1 str1的類型是: <class 'str'> ---------- str2: 9.99 str2的類型是: <class 'str'> ---------- str3: False str3的類型是: <class 'str'> str4: True str4的類型是: <class 'str'> ---------- str5: [1, 2, 'a', 'b'] str5的類型是: <class 'str'> ---------- str6: (1, 2, 'a', 'b') str6的類型是: <class 'str'> ---------- str7: {'b', 1, 2, 'a'} str7的類型是: <class 'str'> ---------- str8: {'name': '小白', 'age': 18} str8的類型是: <class 'str'> ''' 復(fù)制代碼

list()

將tuple、set、dict類型的數(shù)據(jù)轉(zhuǎn)換為list類型。==其中dict類型轉(zhuǎn)換為list類型時(shí),獲取的列表中存儲(chǔ)的值是dict類型變量的key值。==

案例:

# 定義tuple變量
t1 = (1, 2, 'a', 'b')
# 定義set變量
s1 = {1, 2, 'a', 'b'}
# 定義dict變量
d1 = {'name': '小白', 'age':18}

# 使用list()函數(shù)
l1 = list(t1)
l2 = list(s1)
l3 = list(d1)

print('l1:',l1) 
print('l1的類型是:',type(l1))
print('-'*10)

print('l2:',l2) 
print('l2的類型是:',type(l2))
print('-'*10)

print('l3:',l3) 
print('l3的類型是:',type(l3))

'''
l1: [1, 2, 'a', 'b']
l1的類型是: <class 'list'>
----------
l2: [1, 2, 'b', 'a']
l2的類型是: <class 'list'>
----------
l3: ['name', 'age']
l3的類型是: <class 'list'>
'''
復(fù)制代碼

tuple()

將list、set、dict類型的數(shù)據(jù)轉(zhuǎn)換為tuple類型。==其中dict類型轉(zhuǎn)換為tuple類型時(shí)獲取的元祖中存儲(chǔ)的值是dict類型變量的key值。==

案例

# 定義list變量 l1 = [1, 2, 'a', 'b'] # 定義set變量 s1 = {1, 2, 'a', 'b'} # 定義dict變量 d1 = {'name': '小白', 'age':18} # 使用tuple()函數(shù) t1 = tuple(l1) t2 = tuple(s1) t3 = tuple(d1) print('t1:',t1) print('l1的類型是:',type(t1)) print('-'*10) print('t2:',t2) print('t2的類型是:',type(t2)) print('-'*10) print('t3:',t3) print('t3的類型是:',type(t3)) ''' t1: (1, 2, 'a', 'b') l1的類型是: <class 'tuple'> ---------- t2: (1, 2, 'b', 'a') t2的類型是: <class 'tuple'> ---------- t3: ('name', 'age') t3的類型是: <class 'tuple'> ''' 復(fù)制代碼

set()

將list、tuple、dict類型的數(shù)據(jù)轉(zhuǎn)換為set類型。==其中dict類型轉(zhuǎn)換為set類型時(shí)獲取的元祖中存儲(chǔ)的值是dict類型變量的key值。==

案例

# 定義list變量
l1 = [1, 2, 'a', 'b']
# 定義tuple變量
t1 = (1, 2, 'a', 'b')
# 定義dict變量
d1 = {'name': '小白', 'age':18}

# 使用set()函數(shù)
s1 = set(l1)
s2 = set(t1)
s3 = set(d1)

print('s1:',s1) 
print('s1的類型是:',type(s1))
print('-'*10)

print('s2:',s2) 
print('s2的類型是:',type(s2))
print('-'*10)

print('s3:',s3) 
print('s3的類型是:',type(s3))

'''
s1: {1, 2, 'b', 'a'}
s1的類型是: <class 'set'>
----------
s2: {1, 2, 'b', 'a'}
s2的類型是: <class 'set'>
----------
s3: {'age', 'name'}
s3的類型是: <class 'set'>
'''
復(fù)制代碼

dict()

==因?yàn)閐ict字典類型是鍵值對對應(yīng),所以list、tuple、set類型沒法轉(zhuǎn)換==

# 創(chuàng)建空的字典 d1 = dict() print('d1:',d1) print('d1的類型是:',type(d1)) ''' d1: {} d1的類型是: <class 'dict'> ''' 復(fù)制代碼

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    精品人妻久久一品二品三品| 青青操成人免费在线视频| 在线视频免费看你懂的| 久久亚洲午夜精品毛片| 激情偷拍一区二区三区视频| 欧美整片精品日韩综合| 97人妻精品一区二区三区免| 色婷婷国产精品视频一区二区保健 | 91免费一区二区三区| 亚洲国产精品无遮挡羞羞| 欧美日韩在线观看自拍| 中文字幕熟女人妻视频| 久久精品亚洲欧美日韩| 成人区人妻精品一区二区三区| 中日韩美女黄色一级片| 国产高清三级视频在线观看| 国产日韩欧美在线亚洲| 国产人妻精品区一区二区三区| 二区久久久国产av色| 国产一区欧美一区日本道| 国产一二三区不卡视频| 成人精品欧美一级乱黄| 成人三级视频在线观看不卡 | 高清亚洲精品中文字幕乱码| 欧美日韩校园春色激情偷拍| 91人妻人人澡人人人人精品| 亚洲午夜精品视频观看| 欧美成人精品国产成人综合| 91播色在线免费播放| 国产精品亚洲综合色区韩国| 精品视频一区二区不卡| 国产不卡最新在线视频| 日本加勒比在线观看一区| 又色又爽又黄的三级视频| 色综合视频一区二区观看| 亚洲精品福利视频你懂的| 欧美日韩国产黑人一区| 欧美精品女同一区二区| 日韩aa一区二区三区| 老外那个很粗大做起来很爽| 大胆裸体写真一区二区|