中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python之數據類型的示例分析

發布時間:2020-12-09 09:48:02 來源:億速云 閱讀:170 作者:小新 欄目:編程語言

小編給大家分享一下Python之數據類型的示例分析,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!

字符串

字符串的坑:

三引號的字符串如果中間沒有雙引號的字符串,會在解釋器中輸出為雙引號

三引號的字符串如果中間有雙引號的字符串,會在解釋器中輸出為單引號

字符串是存儲在內存中

字符串的操作:

輸入:input()

輸出:print()

索引:str[index]

取地址: id(str)

切片:str[start: end: step] (負數步長 -- 倒序選取; 選取方向需一致,否則無法選取數據)

查找:find():語法:str.find(substr, start, end)注意:返回值是第一次出現的索引值;如果子串不存在返回-1,不會報錯.

例如:mystr = 'hello world and itcast and itheima and Python' print(mystr.find('and')) # 12 print(mystr.find('and',15,30)) # 23 print(mystr.find('ands')) # -1 ands子串不存在 index():

語法: str.index(substr, start, end)返回值是第一次出現的索引值;如果子串不存在,會報錯例如:mystr = 'hello world and itcast and itheima and Python'print(mystr.index('and')) # 12 print(mystr.index('and',15,30)) # 23print(mystr.index('ands')) #如果index查找子串不存在,報錯 count(): 統計子串出現的次數語法: str.index(substr, tart, end)注意: 返回值是子串出現的次數,如果子串不存在返回0,不會報錯例如:mystr = 'hello world and itcast and itheima and Python' print(mystr.count('and',15,30)) # 1 print(mystr.count('and')) # 3print(mystr.count('ands')) # 0 rfind(): 和find()功能相同,但查找方向為右側開始rindex(): 和index()功能相同,但查找訪問為右側開始

Python之數據類型的示例分析

修改:replace() : 替換語法: str.replace(舊子串,新子串, 替換次數)注意:如果不寫替換次數,默認會將舊子串全部替換替換次數如果超出子串出現次數,則替換次數為該子串出現的次數。調用replace函數后,發現原有字符串的數據并沒有做到修改,修改后的數據是replace函數的返回值 說明: 字符串是不可變數據類型例如: mystr = 'hello world and itcast and itheima and Python' new_str = mystr.replace('and','he') new_str = mystr.replace('and','he',1) new_str = mystr.replace('and','he',10) split() : 分割語法:str.split(分割字符, num)注意:返回值是一個列表, 丟失分割字符num 表示的是分隔字符出現的次數,即將來返回數據個數為num+1個

例如mystr = 'hello world and itcast and itheima and Python' list1 = mystr.split('and') list1 = mystr.split('and',2) join():

合并語法:字符或子串. join(多字符組成的序列)注意:用一個子串或子串合并字符串,即是將多個字符串合并為一個新的字符串例如:mylist = ['aa','bb','cc'] new_str = '...'.join(mylist) print(new_str)

大小寫轉換capitalize() : 將字符串第一個字符轉換成大寫語法:str.capitalize()注意:capitalize()函數轉換后,只字符串第一個字符大寫,其他的字符全都小寫

例如:mystr = 'hello world and itcast and itheima and Python' new_str = mystr.capitalize() print(new_str) title(): 將字符串每個單詞首字母轉換成大寫語法: str.title()

例如:mystr = 'hello world and itcast and itheima and Python' new_str = mystr.title() print(new_str) lower(): 將字符串中大寫轉小寫語法: str.lower()注意:全部轉為小寫

例如: mystr = 'hello world and itcast and itheima and Python'new_str = mystr.lower() print(new_str) upper(): 將字符串中小寫轉大寫語法: str.upper()注意:全部轉為小寫

例如:mystr = 'hello world and itcast and itheima and Python' new_str = mystr.upper() print(new_str)

刪除前后空格lstrip(): 刪除字符串左側空白字符語法: str.lstrip()例如:mystr = ' hello world and itcast and itheima and Python ' new_str = mystr.lstrip() print(new_str) rstrip(): 刪除字符串右側空白字符語法: str.rstrip()

例如:mystr = ' hello world and itcast and itheima and Python ' new_str = mystr.rstrip() print(new_str) strip(): 刪除字符串兩側側空白字符語法: str.strip()

例如:mystr = ' hello world and itcast and itheima and Python ' new_str = mystr.strip() print(new_str)

字符串對齊ljust(): 返回一個原字符串左對齊,并使用指定字符(默認空格)填充至對應長度的新字符串語法: str.ljust(長度,填充字符)例如:mystr = "hello"print(mystr.ljust(10,'.')) 效果為: 'hello.....' rjust(): 返回一個原字符串右對齊,并使用指定字符(默認空格)填充至對應長度的新字符串語法: str.rjust(長度,填充字符)

例如:mystr = "hello" print(mystr.rjust(10,'.')) 效果為: '.....hello' center():返回一個原字符串居中對齊,并使用指定字符(默認空格)填充至對應長度的新字符串語法: str.center(長度,填充字符)例如: mystr = "hello" print(mystr.conter(10,'.')) 效果為: '..hello...'

判斷開頭結尾startswith(): 檢查字符串是否是以指定子串開頭,是則返回True,否則返回False。如果設置開始和結束位置下標,則在指定范圍內檢查語法 : str.startswith(子串,start,end)

例如: mystr = 'hello world and itcast and itheima and Python' print(mystr.startswith('hello')) print(mystr.startswith('hel')) print(mystr.startswith('hels')) endswith(): 檢查字符串是否是以指定子串結尾,是則返回True,否則返回False。如果設置開始和結束位置下標,則在指定范圍內檢查語法:str.endswith(子串,start,end)

例如:mystr = 'hello world and itcast and itheima and Python' print(mystr.endswith('Python')) print(mystr.endswith('Pythons'))

判斷isalpha(): 如果字符串至少有一個字符并且所有字符都是字母則返回True,否則返回False語法: str.isalpha()例如: mystr = 'hello world and itcast and itheima and Python' print(mystr.isalpha()) isdigit(): 如果字符串只包含數字則返回True,否則返回Flase.語法: str.isdigit()

例如:mystr1 = '12345' print(mystr1.isdigit()) isalnum(): 如果字符串至少有一個字符并且所有字符都是字母或數字語法: str.lsalnum()

例如:mystr2 = 'abc123' print(mystr2.isalnum()) isspace(): 如果字符串中只包含空白,則返回True,否則返回False.語法: str.isspace()

例如:mystr3 = ' 'print(mystr3.isspace())

列表

列表的坑:

列表是數據結構的一種具體的體現

列表的格式[數據1, 數據2, 數據3]

在工作中,列表盡可能的存儲相同類型的數據

Python之數據類型的示例分析

列表的操作:

增append(): 列表結尾追加數據語法: list.append(數據)注意:列表追加數據的時候,直接在原列表里面追加了指定數據,即修改了原列表,故列表為可變類型數據。如果append()追加的數據是一個序列,則追加整個序列到列表

例如:name_list = ['Tom','Lily','Rost'] name_list.append('xiaoming') print(name_list) # 結果: ['Tom','Lily','Rost','xiaoming'] extend(): 列表結尾追加數據,如果數據是一個序列,則將這個序列的數據逐一添加到列表語法: list.extend(數據)

例如:name_list = ['Tom','Lily','Rost'] name_list.extend('xiaoming') print(name_list) # 結果: ['Tom','Lily','Rost','x','i','a',...] insert(): 指定位置新增數據語法: list.insert(位置下標,數據)例如:name_list = ['Tom','Lily','Rost'] name_list.insert(1, 'xiaoming') print(name_list) # 結果: ['Tom','xiaoming','Lily','Rost']

判斷是否存在in:語法: str in list

例如:name_list = ['Tom','Lily','Rost'] print('Lily' inname_list) # True print('Lilys' in name_list) # Flase not in:語法: str not in list例如:name_list = ['Tom','Lily','Rost'] print('Lily' not in name_list) # Flaseprint('Lilys' not in name_list) # True

刪del:語法: del 目標例如:name_list = ['Tom','Lily','Rost'] del name_list[0] print(name_list) # ['Lily','Rost'] pop(): 刪除指定下標的數據(默認為最后一個),并返回該數據 無論是按照下標還是刪除最后一個, pop函數會返回這個被刪除的數據語法: list.pop()

例如:name_list = ['Tom','Lily','Rost'] del_name = name_list.pop(1) print(del_name) # 'Lily' print(name_list) # ['Tom','Rost']

remove(): 移除列表中某個數據的第一個匹配項語法: list.remove(數據)

例如: name_list = ['Tom','Lily','Rose'] name_list.remove('Rose') print(name_list) # ['Tom','Lily'] clear(): 清空列表語法: list.clear()例如: name_list = ['Tom','Lily','Rost'] name_list.clear() print(name_list) # []

改修改指定下標數據

例如:name_list = ['Tom','Lily','Rost'] name_list[0] = 'aaa'print(name_list) # ['aaa','Lily','Rost'] reverse() :逆置語法: list.reverse()

例如:num_list = [1,5,2,3,6,8] num_list.reverse() print(num_list) # [8,6,3,2,5,1]sort(): 排序語法: list.sort(key=None,reverse=False)注意: reverse表示排序規則, reverse = True 降序, reverse = False 升序(默認)

例如:num_list = [1,5,2,3,6,8] num_list.sort() print(num_list) # [1,2,3,5,6,8]

查下標:index(): 返回指定數據所在位置的下標 -- 如果查找的數據不存在則報錯語法: list.index(數據,start,end)例如:name_list = ['Tom','Lily','Rose'] print(name_list.index('Lily',0,2)) # 1 count(): 統計指定數據在當前列表中持續的次數語法: list.count()

例如:name_list = ['Tom','Lily','Rose'] print(name_list.count('Lily')) len(): 訪問列表長度,即列表中數據的個數語法: len(list)

例如:name_list = ['Tom','Lily','Rose'] print(len(name_list)) # 3

復制copy(): 開辟新空間存儲數據語法: list.copy()例如:name_list = ['Tom','Lily','Rose'] name_li2 = name_list.copy() print(name_li2) # ['Tom','Lily','Rose']

遍歷while: 依次打印列表中的各個數據例如:name_list = ['Tom','Lily','Rose'] i = 0 while i < len(name_list): print(name_list[i]) i +=1 # 結果:Tom Lily Rose for: 依次打印列表中的各個數據例如:name_list = ['Tom','Lily','Rose'] for i in name_list: print(i) # 結果:Tom Lily Rose

列表嵌套概念: 列表嵌套指的就是一個列表里面包含了其他的子列表

例如:name_list = [['小明','小紅','小綠'],['Tom','Lily','Rose'],['張三','李四','王二']] print(name_list[2]) # ['張三','李四','王二'] print(name_list[2][1]) # 李四

元組

元組的坑:

一個元組可以存儲多個數據, 元組內的數據是不能修改的

元組的格式: (數據1, 數據2, 數據3)

如果定義的元組只有一個數據,那個這個數據后面也最好添加逗號, 否則數據類型為唯一的這個數據的數據類型

在工作中,元組盡可能的存儲相同類型的數據

元組的操作:

查找按下標查找數據:例如:tuple1 = ('aa','bb','cc','bb') print(tuple1[0]) # aaindex(): 查找某個數據,如果數據存在返回對應的下標,否則報錯語法: 語法和列表、字符串的index方法相同 -- tuple.index(子串)例如:tuple1 = ('aa','bb','cc','bb') print(tuple1.index('aa')) # 0 count(): 統計某個數據在當前元組出現的次數語法: tuple.count(數據)例如:tuple1 = ('aa','bb','cc','bb') print(tuple1.count('bb')) # 1len() : 統計元組中數據的個數語法: len(tuple)例如:tuple1 = ('aa','bb','cc','bb') print(len(tuple1)) # 4

修改元組內的直接數據如果修改則立即報錯例如:tuple1 = ('aa','bb','cc','bb') tuple1[0] = 'aaa' # 報錯 如果元組里面有列表,修改列表里面的數據例如:tuple2 = (10, 20, ['aa', 'bb', 'cc'], 50, 30) print(tuple2[2]) # 訪問到列表 tuple2[2][0] = 'aaaaa' print(tuple2) # (10, 20, ['aaaaa', 'bb', 'cc'], 50, 30)

字典

字典的坑:

字典里面的數據是以鍵值對形式出現,字典數據和數據順序沒有關系,即字典不支持下標,后期無論數據如何變化,只需要按照對應的鍵的名字查找數據即可

字典的格式: {'key1':value1, 'key2':value2}

字典的操作:

增dict[key] = value:語法: 字典系列[key] = 值注意: 如果key存在則修改這個key對應的值,如果key不存在則新增此鍵值對。字典為可變類型例如:dict1 = {'name':'Tom', 'age':20; 'gender':'男'} dict1['name'] = 'Rose' print(dict1) # {'name':'Rose', 'age':20; 'gender':'男'} dict1['id'] = 110 print(dict1) # {'name':'Tom', 'age':20; 'gender':'男', 'id':110} dict(zip(list1,list2)):語法: dict(zip(list1,list2))注意:兩個列表的數據個數需要一樣例如:a = [1,2,3,4] b = [1,2,3,4] c = dict(zip(a,b)) print(c) # {1:1, 2:2, 3:3, 4:4}

刪del()/ del: 刪除字典或刪除字典中指定鍵值對語法: del dict例如:dict1 = {'name':'Tom', 'age':20, 'gender':'男'} del dict1['gender'] print(dict1) # {'name':'Tom', 'age':20} clear(): 清空字典語法:dict.clear()例如:dict1 = {'name':'Tom', 'age':20, 'gender':'男'} dict1.clear() print(dict1) # {}

改修改:語法: 字典序列[key] = 值注意: 如果key存在則修改這個key對應的值,如果key不存在就新增此鍵值對例如:dict1 = {'name':'Tom', 'age':20; 'gender':'男'} dict1['name'] = 'Rose' print(dict1) # {'name':'Rose', 'age':20; 'gender':'男'}

查key查找語法: dict[key]注意: 如果當前查找的key存在,則返回對應的值;否則報錯例如:dict1 = {'name':'Tom', 'age':20; 'gender':'男'} print(dict1['name']) # Tomprint(dict1['id']) # 報錯 get()語法: 字典序列.get(key, 默認值)注意: 如果當前查找的key不存在則返回第二個參數(默認值),如果省略第二個參數,則返回None例如:dict1 = {'name':'Tom', 'age':20; 'gender':'男'} print(dict1.get('name')) # Tomprint(dict1.get('id',100)) # 100 print(dict1.get('id')) # None keys()語法: dict.keys()例如:dict1 = {'name':'Tom', 'age':20; 'gender':'男'} print(dict1.keys()) # dict_keys(['name','age','gender']) values()語法: dict.values()例如:dict1 = {'name':'Tom', 'age':20; 'gender':'男'} print(dict1.values()) # dict1.values(['Tom',20,'']) items()語法: dict1.items()例如:dict1 = {'name':'Tom', 'age':20; 'gender':'男'} print(dict1.items()) # dict_items([('name','Tom'),('age',20),('gender','男')])

遍歷遍歷字典的key例如dict1 = {'name':'Tom', 'age':20; 'gender':'男'} for key indict1.keys(): print(key) # 結果: name age gender 遍歷字典的values例如:dict1 = {'name':'Tom', 'age':20; 'gender':'男'} for key in dict1.values(): print(key) # 結果: Tom 20 男 遍歷字典的元素例如:dict1 = {'name':'Tom', 'age':20; 'gender':'男'} for key in dict1.items(): print(key) # 結果: ('name','Tom') ('age',20) ('gender','男') 遍歷字典的鍵值對(拆包)例如:dict1 = {'name':'Tom', 'age':20; 'gender':'男'} for key,values in dict1.items(): print(f'{key} = {values}') # 結果: name = Tom age = 20 gender = 男

集合

集合的坑:

創建集合使用{}或set(),但是如果要創建空集合只能使用set(),因為使用{}創建的是字典

集合不支持下標操作,因為集合沒有順序

集合數據有去重功能

Python之數據類型的示例分析

集合的操作:

增加數據add()語法: set.add()注意:因為集合有去重功能,所以,當向集合內追加數據是當前集合已有數據的話, 則不進行任何操作例如:s1 = {10,20} s1.add(100) s1.add(10) print(s1) # {100, 10, 20} update():語法: set.update(list)注意: 追加的數據是序列例如:s1 = {10, 20} # s1.update(100) # 報錯 s1.update([100, 200]) s1.update('abc') print(s1) # {'c', 100, 'a', 200, 10, 20, 'b'}

刪除數據remove()語法: set.remove()注意: 刪除集合中的指定數據,如果數據不存在則報錯例如:s1 = {10, 20} s1.remove(10) print(s1) # {20} s1.remove(10) print(s1) # 報錯 discard()語法: set.discard()注意: 刪除集合中的指定數據, 如果數據不存在也不會報錯例如:s1 = {10, 20} s1.discard(10) print(s1) s1.discard(10) print(s1) pop()語法: set.pop()注意: 隨機刪除集合中的某個數據,并返回這個數據例如:s1 = {10, 20, 30, 40 ,50} del_num = s1.pop() print(del_num) print(s1)

查找數據in : 判斷數據在集合序列not in :判斷數據不在集合序列例如:s1 = {10, 20, 30, 40, 50} print(10 in s1) print(10 not in s1)

公共操作

運算符

運算符描述支持的容器類型+合并字符串、列表、元組*復制字符串、列表、元組in元素是否存在字符串、列表、元組、字典、集合not in元素是否不存在字符串、列表、元組、字典、集合

例如:

# +# 1. 字符串str1 ='aa'str2 ='bb'str3 = str1 + str2print(str3)# aabb# 2. 列表list1 = [1, 2]list2 = [10, 20]list3 = list1 + list2print(list3)# [1, 2, 10, 20]# 3. 元組t1 = (1, 2)t2 = (10, 20)t3 = t1 + t2print(t3)# (10, 20, 100, 200)# * # 1. 字符串print('-'* 10)# ----------# 2. 列表list1 = ['hello']print(list1 * 4)# ['hello', 'hello', 'hello', 'hello']# 3. 元組t1 = ('world',)print(t1 * 4)# ('world', 'world', 'world', 'world')# in 或 not in # 1. 字符串print('a'in'abcd')# Trueprint('a'notin'abcd')# False# 2. 列表list1 = ['a','b','c','d']print('a'inlist1)# Trueprint('a'notinlist1)# False# 3. 元組t1 = ('a','b','c','d')print('aa'int1)# Falseprint('aa'notint1)# True

公共方法

函數描述len()計算容器中元素個數del 或 del()刪除max()返回容器中元素最?值min()返回容器中元素最?值range(start, end, step)?成從start到end的數字,步?為 step,供for循環使?enumerate()函數?于將?個可遍歷的數據對象(如列表、元組或字符串)組合為?個索引序 列,同時列出數據和數據下標,?般?在 for 循環當中

例如:

# len()# 1. 字符串str1 ='abcdefg'print(len(str1))# 7# 2. 列表list1 = [10,20,30,40]print(len(list1))# 4# 3. 元組t1 = (10,20,30,40,50)print(len(t1))# 5# 4. 集合s1 = {10,20,30}print(len(s1))# 3# 5. 字典dict1 = {'name':'Rose','age':18}print(len(dict1))# 2# del()# 1. 字符串str1 ='abcdefg'delstr1print(str1)# 2. 列表list1 = [10,20,30,40]del(list1[0])print(list1)# [20, 30, 40]# max()# 1. 字符串str1 ='abcdefg'print(max(str1))# g# 2. 列表list1 = [10,20,30,40]print(max(list1))# 40# min()# 1. 字符串str1 ='abcdefg'print(min(str1))# a# 2. 列表list1 = [10,20,30,40]print(min(list1))# 10# range()  -- range()生成的序列不包含end數字# 1 2 3 4 5 6 7 8 9foriinrange(1,10,1): print(i)# 1 3 5 7 9foriinrange(1,10,2): print(i)# 0 1 2 3 4 5 6 7 8 9foriinrange(10): print(i)#  enumerate() -- enumerate(可遍歷的對象, start=0)list1 = ['a','b','c','d','e']foriinenumerate(list1): print(i)forindex, charinenumerate(list1, start=1): print(f'下標是{index}, 對應的字符是{char}')

容器類型的轉換

tuple()作用: 將某個序列轉換成元組例如list1 = [10, 20, 30, 40, 50, 20] s1 = {100, 200, 300, 400, 500} print(tuple(list1)) print(tuple(s1))

list()作用: 將某個序列轉換成列表例如:t1 = ('a', 'b', 'c', 'd', 'e') s1 = {100, 200, 300, 400, 500} print(list(t1)) print(list(s1))

set()作用: 將某個序列轉換成集合例如:list1 = [10, 20, 30, 40, 50, 20] t1 = ('a', 'b', 'c', 'd', 'e') print(set(list1)) print(set(t1)) # 1. 集合可以快速的完成列表去重 # 2. 集合不支持下標

推導式 -- 生成式

列表推導式作用:用一個表達式創建一個有規律的列表或控制一個有規律列表例如:# while 循環實現 # 1. 準備一個空列表 list1 = [] # 書寫循環,依次追加數字到空列表list1中 i = 0 while i < 10: list1.append(i) i += 1 print(list1) # for 循環實現 list1 = [] for i in range(10): list1.append(i) print(list1) # 列表推導式實現 list1 = [i for i in range(10)] print(list1) # 帶if的列表推導式 # 方法一: range()步長實現 list1 = [i for i in range(0,10,2)] print(list1) # 方法二: 帶if的列表推導式 list1 = [i for i inrange(10) if i % 2 == 0] print(list1) # 多個for循環實現列表推導式 list1 = [(i, j)fori in range(1, 3)for j in range(3)] print(list1)

字典推導式作用: 快速合并列表為字典或提取字典中的目標數據例如:# 1. 創建一個字典:字典的key是1-5數字, value是這個數字的平方 dict1 = {i:i**2 for i in range(1, 5)} print(dict1) # {1: 1, 2: 4, 3: 9, 4: 16} # 2. 將兩個列表合并為一個字典 list1 = ['name', 'age', 'gender'] list2 = ['Tom', 20, 'man'] dict1 = {list1[i]: list2[i] for i inrange(len(list1))} print(dict1) # 3. 提取字典中的目標數據 counts = {'MBP': 268, 'HP': 125, 'DELL': 201, 'Lenovo': 199, 'acer': 99} # 需求: 提取上述電腦數量大于等于200的字典數據 count1 = {key: value for key, value in counts.items() if value >= 200} print(count1) # {'MBP':268, 'DELL': 201}

集合推導式作用: 快速生成集合,集合有數據去重功能例如:# 創建一個集合, 數據為下方列表的2次方 list1 = [1, 1, 2] list1 = [1, 1, 2] set1 = {i ** 2 for i in list1} print(set1) # {1, 4}

Python中的小整數對象池和大整數對象池,以及“is” 和“==”的區別

Python是一門弱變量類型語言,變量使用之前無需聲明變量的類型。對于一個變量有三個屬性:id(內存地址),type(變量類型),value(值)

對于=, == , is的區別:= 賦值操作,傳遞的是id, type, value== 判斷的是value是否相等is 判斷id是否相等

小整數對象池對于小整數對象使用了對象池技術。設置小整數的范圍為[-5,256]。在這個范圍內的小整數,任意相同的整數都是同一個對象,同理,單個字母也是這樣的小整數的緩沖池是在Python初始化的時候被創建的intern機制處理空格一個單詞的復用機會大,所以創建一次,有空格創建多次,但是字符串長度大于20,就不是創建一次了a = -5 b = -5 a is b # True a = 256 b = 256 a is b # True a = 1000 b = 1000 a is b # True a = 'abc' b = 'abc' a is b # True a = 'helloworld' b = 'helloworld' a is b # True a = 'hello world' b = 'hello world' a is b # False

大整數對象池超出小整數的范圍即為大整數,每次都會創建一個新的對象。但是處于一個代碼塊的大整數是同一個對象。終端是每次執行一次,所以每次的大整數都重新創建,而在pycharm中,每次運行是所有代碼都加載都內存中,屬于一個整體,所以這個時候會有一個大整數對象池,即處于一個代碼塊的大整數是同一個對象在pycharm中,每次運行是所有代碼都加載都內存中,屬于一個整體,所以這個時候會有一個大整數對象池,即處于一個代碼塊的大整數是同一個對象a = 1000 b = 1000 a is b # False a = -1888 b = -1888 a is b # False class C1(object): a = 100 b = 100 c = 1000 d = 1000 class C2(objcet): a = 100 b = 1000 print(C1.a is C1.b) # True print(C1.a is C1.a) # True print(C1.c is C1.d) # True print(C1.d is C1.b) # Falsec

生成器

生成器的作用根據程序設計者制定的規則循環生成數據,當條件不成立時生成數據結束數據不是一次性全部生成出來,而是使用一個,再生成一個,可以節約大量的內存

生成器的創建生成器推導式生成器推導式與列表推導式相似,不過列表推導式使用小括號# 創建生成器 my_generator = (i * 2 for i in range(5)) print(my_generator)

yield 關鍵字:yield關鍵字生成器的特性:在def函數中具有yield關鍵字defmygenerator(n): for i in range(n): print('開始生成...') yield i print('完成一次...') 注意點:代碼執行到yield會暫停,然后把結果返回出去,下次啟動生成器會在暫停的位置繼續往下執行生成器如果把數據生成完成,再次獲取生成器中的下一次數據會拋出一個StopIteration異常,表示停止迭代異常while循環內部沒有處理異常操作,需要手動添加處理異常操作for循環內部自動處理了停止迭代異常,使用起來更加方便,

生成器相關函數next函數獲取生成器中的下一個值for循環遍歷生成器中的每一個值

看完了這篇文章,相信你對Python之數據類型的示例分析有了一定的了解,想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

驻马店市| 泌阳县| 大宁县| 双辽市| 大同市| 新龙县| 赣州市| 洛南县| 光泽县| 贵港市| 邯郸县| 麻城市| 邛崃市| 独山县| 芦山县| 安西县| 广灵县| 轮台县| 陇西县| 丹凤县| 隆昌县| 大英县| 长乐市| 克什克腾旗| 久治县| 平邑县| 襄垣县| 兴业县| 深泽县| 双柏县| 镇赉县| 交城县| 周口市| 龙口市| 水富县| 永泰县| 福海县| 渝中区| 福鼎市| 漳浦县| 开平市|