資料型別擴充套件

2022-06-24 22:33:18 字數 1565 閱讀 1206

一、基礎資料型別

數值(int、float)

序列(list、str、tuple)

雜湊(set、dict)

可迭代物件(序列、雜湊)

二、命名元組

from collections import namedtuple

student = namedtuple('students', ('name', 'age', 'skill'))

stu = student('冪次方', 18, 'python自動化')

stu[1] ==stu.age

判斷是否是該資料型別:print(isinstance(stu, tuple))

三、推導式

三目運算:

res = true if  條件 else false

if number > 60:

print("大於")

else:

print('小於')

res = true if number > 60 else false

列表推導式:

需求,生成 [py1,,,,,py20]

li =

for i in range(1,21):

集合推導式:

se = '.format(i) for i in range(1,21)}

字典推導式:

dic = '.format(i): i * 100 for i in range(1, 21)}

可迭代物件和迭代器:

可迭代物件:能夠使用for遍歷的資料都是可迭代物件

迭代物件內部實現了迭代協議(這個物件擁有__iter__這個方法)

迭代器:迭代器也是可迭代物件的一種

迭代器: 不僅僅實現了__iter__這個方法,還實現了__next__方法

迭代物件轉換為迭代器:迭代器 = iter(可迭代物件)

迭代器:可以使用內建函式next進行迭代

li = [11, 22, 33, 44]

li_tor = iter(li)

# next函式

print(next(li_tor))

print(next(li_tor))

注意點:當使用next獲取完迭代器中所有的元素之後,再次使用next進行迭代,會丟擲迭代器停止的異常

生成器(相當於元組推導式)(特殊的迭代器):

建立生成器的兩種方式

生成器表示式:tu = (i for i in range(10))

生成器函式:只要函式中使用了yield這個關鍵字,那麼這個函式就是乙個生成器函式

def gen():

for i in range(10):

yield

三種方法:

生成器的send方法:生成器的send方法可以和生成器內部進行資料互動、呼叫send方法執行要執行一次next

close:關閉生成器 g.close()

throw:往生成器內部傳送乙個異常 、主動傳送乙個異常到生成器中

dede擴充套件資料型別 資料型別擴充套件

資料型別擴充套件 整數擴充套件 整數的進製有二進位制 0b 八進位制 0 十進位制,十六進製制 0x 例 int num1 10 int num2 0b10 int num3 010 int num4 0x10 system.out.println num1 system.out.println n...

資料型別擴充套件

進製 二進位制0b 十進位制 八進位制0 十六進製制0x int i1 0 int i2 0b10 二進位制 int i3 010 八進位制 int i4 0x10 十六進製制 system.out.println i1 0 system.out.println i2 2 system.out.pr...

資料型別擴充套件

浮點型 float 與 double 特點 有限 離散 捨入誤差 大約 接近但不等於 float a 0.1f double b 1.0 10 system.out.println f d false float d1 12354554212f float d2 d1 1 system.out.pr...