自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

只需七步!零基礎(chǔ)入門(mén)Python變量與數(shù)據(jù)類(lèi)型

開(kāi)發(fā) 后端
Python支持多種編程范型,包括函數(shù)式、指令式、結(jié)構(gòu)化、面向?qū)ο蠛头瓷涫骄幊?。它擁有?dòng)態(tài)類(lèi)型系統(tǒng)和垃圾回收功能,能夠自動(dòng)管理內(nèi)存使用,并且其本身?yè)碛幸粋€(gè)巨大而廣泛的標(biāo)準(zhǔn)庫(kù)。

 [[397059]]

Python(英國(guó)發(fā)音:/ˈpaɪθən/ 美國(guó)發(fā)音:/ˈpaɪθɑːn/)是一種廣泛使用的解釋型、高級(jí)和通用的編程語(yǔ)言。Python支持多種編程范型,包括函數(shù)式、指令式、結(jié)構(gòu)化、面向?qū)ο蠛头瓷涫骄幊獭K鼡碛袆?dòng)態(tài)類(lèi)型系統(tǒng)和垃圾回收功能,能夠自動(dòng)管理內(nèi)存使用,并且其本身?yè)碛幸粋€(gè)巨大而廣泛的標(biāo)準(zhǔn)庫(kù)。

Python有著范圍廣泛的基本數(shù)據(jù)類(lèi)型。Python的一個(gè)非常有用方面就是容器類(lèi)型的概念,容器有二種基本形式:序列和映射。有次序的序列類(lèi)型是列表(動(dòng)態(tài)數(shù)組)、元組和字符串。所有序列類(lèi)型都是位置索引的(從0到長(zhǎng)度?1),并且除了字符串,都可以包含任意類(lèi)型的對(duì)象,在同一個(gè)序列中包括多種類(lèi)型的對(duì)象。字符串和元組是不可變的,使得它們成為字典的鍵的完美候選者。在另一方面,列表是可變的,元素可以被插入、刪除、修改、添加或就地排序。

本篇內(nèi)容總結(jié)包括從變量、輸入輸出到數(shù)據(jù)類(lèi)型的基本介紹和常用方法。

一、變量與類(lèi)型轉(zhuǎn)換

變量賦值

  1. >>> x=5 
  2. >>> x 

變量計(jì)算

  1. >>> x+2  # 兩個(gè)變量的和 
  2. >>> x-2  # 兩個(gè)變量的減法 
  3. >>> x*2  # 兩個(gè)變量相乘 
  4. 10 
  5. >>> x**2 # 求變量的冪 
  6. 25 
  7. >>> x%2  # 變量的余數(shù) 
  8. >>> x/float(2) # 變量的除法 
  9. 2.5 

類(lèi)型和類(lèi)型轉(zhuǎn)換

方法 說(shuō)明
str() 5', '3.45', 'True' 字符串
int() 5, 3, 1 整數(shù)
float() 5.0, 1.0 浮點(diǎn)數(shù)
bool() True, True, True 布爾值

二、獲取幫助

  1. >>> help(str) 

三、輸入與輸出

print

  1. >>> print("Hello world!"
  2.  
  3. >>> msg = "Hello world!" 
  4. >>> print(msg) 

Input

Input程序可以提示用戶(hù)輸入。所有輸入都存儲(chǔ)為字符串。

  • 提示輸入值
  1. >>> name = input("What's your name? " 
  2. >>> print("Hello, " + name + "!"
  • 提示輸入數(shù)字
  1. >>> age = input("How old are you? "
  2. >>> age = int(age) 
  3. >>> pi = input("What's the value of pi? "
  4. >>> pi = float(pi) 

四、字符串

字符串是 Python 中最常用的數(shù)據(jù)類(lèi)型。我們可以使用引號(hào)('或")來(lái)創(chuàng)建字符串。創(chuàng)建字符串很簡(jiǎn)單,只要為變量分配一個(gè)值即可。

  1. >>> my_string = 'thisStringIsAwesome'  
  2. >>> my_string 
  3. 'thisStringIsAwesome' 

字符串運(yùn)算

  1. >>> my_string * 2   # 乘法 
  2. 'thisStringIsAwesomethisStringIsAwesome'  
  3. >>> my_string + 'Innit' # 拼接 
  4. 'thisStringIsAwesomeInnit'  
  5. >>> 'm' in my_string # 是否存在 
  6. True 
  7. # 索引從零開(kāi)始  
  8. >>> my_string[3] 
  9. >>> my_string[4:9] 

字符串方法

  1. >>> my_string.upper()    # 字符串大寫(xiě) 
  2. >>> my_string.lower()    # 字符串小寫(xiě) 
  3. >>> my_string.count('w') # 計(jì)算字符串的元素 
  4. >>> my_string.replace('e''i') # 替換字符串元素 
  5. >>> my_string.strip()    # 去空格 

五、列表

列表是最常用的Python數(shù)據(jù)類(lèi)型,它可以作為一個(gè)方括號(hào)內(nèi)的逗號(hào)分隔值出現(xiàn)。

列表的數(shù)據(jù)項(xiàng)不需要具有相同的類(lèi)型。

列表以特定的順序存儲(chǔ)一系列項(xiàng)目。列表允許將信息集存儲(chǔ)在一個(gè)地方,無(wú)論只有幾個(gè)項(xiàng)還是數(shù)百萬(wàn)項(xiàng)。列表是Python最強(qiáng)大的特性之一,新程序員可以很容易地訪問(wèn)它,它們將編程中的許多重要概念聯(lián)系在一起。

使用方括號(hào)定義列表,使用逗號(hào)分隔列表中的各個(gè)項(xiàng)目。使用列表的復(fù)數(shù)名稱(chēng),使您的代碼更容易閱讀。

  1. >>> a = 'is' 
  2. >>> b = 'nice' 
  3. >>> my_list = ['my''list', a, b] 
  4. >>> my_list2 = [[4,5,6,7], [3,4,5,6]] 
  5.  
  6. >>> users = ['val''bob''mia''ron''ned'

更改列表值

一旦定義了列表,就可以更改列表中的單個(gè)元素。這可以通過(guò)引用要修改的項(xiàng)的索引來(lái)實(shí)現(xiàn)。

  1. >>> users[0] = 'valerie' 
  2. >>> users[-2] = 'ronald' 

列表切片與索引

可以使用列表中的任何一組元素。根據(jù)列表中的元素的位置(稱(chēng)為索引)來(lái)訪問(wèn)它們,列表的一部分稱(chēng)為片。要切片列表,首先從您想要的第一個(gè)項(xiàng)目的索引開(kāi)始,然后添加冒號(hào)和您想要的最后一個(gè)項(xiàng)目之后的索引。去掉列表開(kāi)始處的第一個(gè)索引,去掉列表結(jié)束處的最后一個(gè)索引。

第一個(gè)元素的索引是0,第二個(gè)元素的索引是1,以此類(lèi)推。

負(fù)索引指的是列表末尾的項(xiàng)。要獲得特定的元素,請(qǐng)先寫(xiě)出列表的名稱(chēng),然后在方括號(hào)中寫(xiě)出元素的索引。

  1. # 子集 
  2. >>> my_list[1]   # 選擇索引1的項(xiàng) 
  3. >>> my_list[-3]  # 最后選擇第三項(xiàng) 
  4. # 切片 
  5. >>> my_list[1:3] # 選擇索引1和索引2上的項(xiàng) 
  6. >>> my_list[1:]  # 選擇索引0之后的項(xiàng) 
  7. >>> my_list[:3]  # 選擇索引3之前的項(xiàng) 
  8. >>> my_list[:]   # 復(fù)制my_list 
  9. # 子集的子集 
  10. >>> my_list2[1][0] 
  11. >>> my_list2[1][:2] 

列表運(yùn)算

  1. >>> my_list + my_list 
  2. ['my''list''is''nice''my''list''is''nice']  
  3. >>> my_list * 2 
  4. ['my''list''is''nice''my''list''is''nice']  
  5. >>> my_list2 > 4 
  6. True 

列表方法

  1. >>> my_list.index(a)     # 獲取項(xiàng)目的索引 
  2. >>> my_list.count(a)     # 計(jì)算一個(gè)項(xiàng)目 
  3. >>> my_list.append('!')  # 每次追加一個(gè)項(xiàng) 
  4. >>> my_list.remove('!')  # 刪除一個(gè)項(xiàng)目 
  5. >>> del(my_list[0:1])    # 刪除一個(gè)項(xiàng)目 
  6. >>> my_list.reverse()    # 反向列表 
  7. >>> my_list.extend('!')  # 添加一個(gè)項(xiàng)目 
  8. >>> my_list.pop(-1)      # 刪除一個(gè)項(xiàng)目 
  9. >>> my_list.insert(0,'!')# 插入一個(gè)項(xiàng)目 
  10. >>> my_list.sort()       # 排序的列表 
  • 遍歷列表

列表可以包含數(shù)百萬(wàn)個(gè)項(xiàng),因此Python提供了一種有效的方法來(lái)遍歷列表中的所有項(xiàng)。當(dāng)設(shè)置一個(gè)循環(huán)時(shí),Python每次從列表中取出一項(xiàng),并將其存儲(chǔ)在一個(gè)臨時(shí)變量中,為該臨時(shí)變量提供了一個(gè)名稱(chēng)。這個(gè)名稱(chēng)應(yīng)該是列表名稱(chēng)的單數(shù)版本。

縮進(jìn)的代碼塊構(gòu)成循環(huán)體,在循環(huán)體中可以處理每個(gè)單獨(dú)的項(xiàng)。任何沒(méi)有縮進(jìn)的行在循環(huán)結(jié)束后運(yùn)行。

  1. >>> for bike in bikes: 
  2. ...     print(bike) 
  • 向列表中添加元素

可以將元素添加到列表的末尾。

  1. >>> bikes = []  
  2. >>> bikes.append('trek' 
  3. >>> bikes.append('redline'
  4. >>> bikes.append('giant'
  • 在特定位置插入元素

可以將它們插入到列表中的任何位置。

  1. >>> users.insert(0, 'joe'
  2. >>> users.insert(3, 'bea'
  • 刪除元素

可以根據(jù)元素在列表中的位置或項(xiàng)的值刪除元素。如果你通過(guò)一個(gè)項(xiàng)的值來(lái)移除它,Python只移除第一個(gè)具有該值的項(xiàng)。

  1. # 通過(guò)位置刪除 
  2. >>> del users[-1] 
  3. # 通過(guò)值刪除  
  4. >>> users.remove('mia'
  • 列表排序

方法的作用是永久地改變列表的順序。sorted()函數(shù)返回列表的副本,保持原始列表不變??梢园醋帜疙樞蚧蚍醋帜疙樞?qū)α斜碇械捻?xiàng)目進(jìn)行排序。還可以顛倒列表的原始順序。

  1. # 永久地對(duì)列表進(jìn)行排序 
  2. >>> users.sort() 
  3.  
  4. # 以反字母順序永久地對(duì)列表進(jìn)行排序 
  5. >>> users.sort(reverse=True
  6.  
  7. # 臨時(shí)排序 
  8. >>> print(sorted(users)) 
  9. >>> print(sorted(users, reverse=True)) 
  10.  
  11. # 反向排序 
  12. >>> users.reverse() 
  • 列表推導(dǎo)式
  1. >>> squares = [x**2 for x in range(1, 11)] 

range()函數(shù)

可以使用range()函數(shù)有效地處理一組數(shù)字。range()函數(shù)默認(rèn)從0開(kāi)始,停止傳遞給它的數(shù)字下面的一個(gè)數(shù)字。可以使用list()函數(shù)來(lái)有效地生成大量的數(shù)字列表。

  • 打印數(shù)字0-1000
  1. >>> for number in range(1001): 
  2. ...    print(number) 
  • 打印數(shù)字1-1001
  1. >>> for number in range(1, 1001): 
  2. ...    print(number) 
  • 列出從1到100萬(wàn)的數(shù)字
  1. >>> numbers = list(range(1, 1000001)) 

簡(jiǎn)單統(tǒng)計(jì)

您可以在包含數(shù)字?jǐn)?shù)據(jù)的列表上運(yùn)行許多簡(jiǎn)單的統(tǒng)計(jì)數(shù)據(jù)。

最小值

  1. >>> ages = [93, 99, 66, 17, 85, 1, 35, 82, 2, 77] 
  2. >>> youngest = min(ages) 

最大值

  1. >>> ages = [93, 99, 66, 17, 85, 1, 35, 82, 2, 77] 
  2. >>> oldest = max(ages) 

求和

  1. >>> ages = [93, 99, 66, 17, 85, 1, 35, 82, 2, 77] 
  2. >>> total_years = sum(ages) 
  3. >>> total_years 
  4. 557 

六、元組

元組與列表類(lèi)似,但元組中的項(xiàng)不能被修改,即不可變數(shù)據(jù)類(lèi)型。

  1. >>> dimensions = (1920, 1080) 

七、字典

字典存儲(chǔ)在片段信息之間的建立聯(lián)系。字典中的每一個(gè)項(xiàng)都是一個(gè)鍵-值對(duì)。當(dāng)提供一個(gè)鍵時(shí),Python將返回與該鍵相關(guān)聯(lián)的值。可以循環(huán)遍歷所有鍵-值對(duì)、所有鍵或所有值。

使用花括號(hào)來(lái)定義字典。使用冒號(hào)連接鍵和值,并使用逗號(hào)分隔單個(gè)鍵-值對(duì)。

  1. >>> alien = {'color''green''points': 5} 

獲取字典值(查)

要獲取單個(gè)鍵關(guān)聯(lián)的值,需提供字典的名稱(chēng),然后將鍵放在一組方括號(hào)中。如果需要的鍵不在字典中,就會(huì)出現(xiàn)錯(cuò)誤。

還可以使用get()方法,如果鍵不存在,該方法將返回None,而不是錯(cuò)誤。如果鍵不在字典中,還可以指定要使用的默認(rèn)值。

  1. >>> print("The alien's color is " + alien['color']) 
  2. "The alien's color is green" 
  3. >>> alien_0 = {'color''green''points': 5} 
  4. >>> alien_color = alien_0.get('color'
  5. >>> alien_points = alien_0.get('points', 0) 
  6. >>> print(alien_color) 
  7. 'green' 
  8. >>> print(alien_points) 
  9. None 

添加一個(gè)新鍵值對(duì)(增)

可以在字典中存儲(chǔ)任意數(shù)量的鍵值對(duì),直到計(jì)算機(jī)內(nèi)存耗盡為止。要向現(xiàn)有字典添加新的鍵-值對(duì),請(qǐng)?jiān)诜嚼ㄌ?hào)中給出字典的名稱(chēng)和新鍵,并將其設(shè)置為新值。

這還允許您從一個(gè)空字典開(kāi)始,并在它們變得相關(guān)時(shí)添加鍵-值對(duì)。

  1. >>> alien_0 = {'color''green''points': 5} 
  2. >>> alien_0['x'] = 0 
  3. >>> alien_0['y'] = 25 
  4. >>> alien_0['speed'] = 1.5 
  5.  
  6. # 向空字典中添加新鍵值對(duì) 
  7. >>> alien_0 = {} 
  8. >>> alien_0['color'] = 'green' 
  9. >>> alien_0['points'] = 5 

修改字典值(改)

可以修改與字典中任何鍵相關(guān)聯(lián)的值。為此,給出字典的名稱(chēng)并將鍵括在方括號(hào)中,然后為該鍵提供新值。

  1. >>> alien_0 = {'color''green''points': 5} 
  2. >>> print(alien_0) 
  3.   
  4. >>> alien_0['color'] = 'yellow'  
  5. >>> alien_0['points'] = 10 
  6. >>> print(alien_0) 

刪除字典鍵值對(duì)(刪)

您可以從字典中刪除任何想要的鍵-值對(duì)。為此,請(qǐng)使用del關(guān)鍵字和字典名稱(chēng),后跟方括號(hào)中的鍵。這將刪除鍵及其關(guān)聯(lián)值。

  1. >>> alien_0 = {'color''green''points': 5} 
  2. >>> print(alien_0) 
  3. >>> del alien_0['points'
  4. >>> print(alien_0) 

循環(huán)遍歷字典

可以用三種方式循環(huán)遍歷字典:可以循環(huán)遍歷所有鍵-值對(duì)、所有鍵或所有值。字典只跟蹤鍵和值之間的連接,它不跟蹤字典中條目的順序。如果希望按順序處理信息,可以對(duì)循環(huán)中的鍵進(jìn)行排序。

  • 循環(huán)變量所有鍵值對(duì)
  1. >>> fav_numbers = {'eric': 17, 'ever': 4} 
  2. >>> for name, number in fav_numbers.items(): 
  3. ...    print(name + ' loves ' + str(number)) 
  • 循環(huán)變量所有鍵
  1. >>> av_numbers = {'eric': 17, 'ever': 4} 
  2. >>> for name in fav_numbers.keys(): 
  3. ...     print(name + ' loves a number'
  • 循環(huán)變量所有值
  1. >>> av_numbers = {'eric': 17, 'ever': 4} 
  2. >>> for number in fav_numbers.values(): 
  3. ...     print(str(number) + ' is a favorite'
  • 按順序循環(huán)遍歷所有鍵
  1. >>> av_numbers = {'eric': 17, 'ever': 4} 
  2. >>> for name in sorted(fav_languages.keys()): 
  3. ...   print(name + ": " + language) 

列表中嵌套字典

  • 通過(guò)append()將字典嵌入列表
  1. # 建立一個(gè)空列表 
  2. >>> users = [] 
  3. # 創(chuàng)建一個(gè)字典,并將其嵌入到列表中 
  4. >>> new_user = { 
  5. ...     'last''fermi'
  6. ...     'first''enrico'
  7. ...     'username''efermi'
  8. ...     } 
  9. >>> users.append(new_user) 
  10. # 再創(chuàng)建另一個(gè)字典,并將其嵌入到列表中 
  11. >>> new_user = { 
  12. ...     'last''curie'
  13. ...     'first''marie'
  14. ...     'username''mcurie'
  15. ...     } 
  16. >>> users.append(new_user) 
  17. # 打印出列表中所有的信息 
  18. >>> for user_dict in users: 
  19. ...     for k, v in user_dict.items(): 
  20. ...         print(k + ": " + v) 
  21. ...   print("\n"
  • 直接定義一個(gè)字典列表
  1. >>> users = [ 
  2. ...     { 
  3. ...        'last''fermi'
  4. ...        'first''enrico'
  5. ...        'username''efermi'
  6. ...   },  
  7. ...   { 
  8. ...        'last''curie'
  9. ...        'first''marie'
  10. ...        'username''mcurie'
  11. ...   },  
  12. ... ] 
  13. # 打印所有users的信息 
  14. >>> for user_dict in users: 
  15. ...     for k, v in user_dict.items(): 
  16. ...         print(k + ": " + v) 
  17. ...   print("\n"

字典內(nèi)嵌套列表

在字典中存儲(chǔ)列表,允許將多個(gè)值與同一個(gè)鍵關(guān)聯(lián)。

  1. # 為每個(gè)人存儲(chǔ)多種語(yǔ)言。 
  2. >>> fav_languages = { 
  3. ...     'jen': ['python''ruby'], 
  4. ...     'sarah': ['c'], 
  5. ...     'edward': ['ruby''go'], 
  6. ...     'phil': ['python''haskell'], 
  7. ... } 
  8. # 顯示每個(gè)人的所有回答。 
  9. >>> for name, langs in fav_languages.items(): 
  10. ...     print(name + ": "
  11. >>> for lang in langs: 
  12. ...     print("- " + lang) 

字典內(nèi)嵌套字典

可以將一個(gè)字典存儲(chǔ)在另一個(gè)字典中。在這種情況下,與鍵相關(guān)聯(lián)的每個(gè)值本身就是一個(gè)字典。

  1. >>> users = { 
  2. ...     'aeinstein': { 
  3. ...         'first''albert'
  4. ...         'last''einstein'
  5. ...         'location''princeton'
  6. ...         }, 
  7. ...     'mcurie': { 
  8. ...         'first''marie'
  9. ...         'last''curie'
  10. ...         'location''paris'
  11. ...         }, 
  12. ... } 
  13. >>> for username, user_dict in users.items(): 
  14. ...     print("\nUsername: " + username) 
  15. ...     full_name = user_dict['first'] + " " 
  16. ...     full_name += user_dict['last'
  17. ...     location = user_dict['location'
  18. ...     print("\tFull name: " + full_name.title()) 
  19. ...     print("\tLocation: " + location.title()) 
  20.  
  21. Username: aeinstein 
  22.  Full name: Albert Einstein 
  23.  Location: Princeton 
  24.  
  25. Username: mcurie 
  26.  Full name: Marie Curie 
  27.  Location: Paris 

順序字典 OrderedDict

標(biāo)準(zhǔn)的Python字典不會(huì)跟蹤鍵和值的添加順序,它們只保留每個(gè)鍵及其值之間的關(guān)聯(lián)。使用OrderedDict可以保持鍵和值的添加順序。

  1. >>> from collections import OrderedDict 
  2. # 存儲(chǔ)每個(gè)人的語(yǔ)言。 
  3. # 跟蹤最先響應(yīng)的人。 
  4. >>> fav_languages = OrderedDict() 
  5. >>> fav_languages['jen'] = ['python''ruby'
  6. >>> fav_languages['sarah'] = ['c'
  7. >>> fav_languages['edward'] = ['ruby''go'
  8. >>> fav_languages['phil'] = ['python''haskell'
  9. # 按照輸入的順序顯示結(jié)果 
  10. >>> for name, langs in fav_languages.items(): 
  11. >>>     print(name + ":"
  12. >>>     for lang in langs: 
  13. >>>         print("- " + lang) 
  14.  
  15. jen: 
  16. - python 
  17. - ruby 
  18. sarah: 
  19. - c 
  20. edward: 
  21. - ruby 
  22. - go 
  23. phil: 
  24. - python 
  25. - haskell 

 

責(zé)任編輯:武曉燕 來(lái)源: 數(shù)據(jù)STUDIO
相關(guān)推薦

2011-07-18 16:11:32

域控制器

2014-04-30 15:20:06

數(shù)據(jù)挖掘

2023-04-26 01:07:03

2011-05-23 16:40:00

python

2019-03-10 20:37:14

Python編程語(yǔ)言

2024-01-16 08:09:28

PythonMongoDB數(shù)據(jù)存儲(chǔ)

2011-01-06 09:15:24

ESXESXi

2009-07-30 18:08:14

IT與業(yè)務(wù)融合

2023-03-27 10:04:27

數(shù)據(jù)類(lèi)型浮點(diǎn)型布爾型

2020-10-26 13:46:07

Java基礎(chǔ)入門(mén)篇

2010-08-10 13:15:36

Flex配置

2010-09-17 09:52:31

Java JDK

2022-02-25 11:27:15

云基礎(chǔ)設(shè)施云計(jì)算監(jiān)控

2023-04-28 14:38:47

2009-11-06 14:33:27

WCF代理節(jié)點(diǎn)

2021-04-13 08:42:29

C語(yǔ)言數(shù)據(jù)類(lèi)型轉(zhuǎn)換自動(dòng)類(lèi)型轉(zhuǎn)換

2023-10-17 07:57:56

Python數(shù)據(jù)類(lèi)型

2018-11-15 09:45:47

JavaScript數(shù)據(jù)類(lèi)型變量

2017-04-21 14:21:53

深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)

2009-11-06 13:59:09

WCF Service
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)