https://m.toutiao.com/is/BFWMGB5/
一、概述Python 是一個(gè)高層次的結(jié)合了解釋性,、編譯性,、互動(dòng)性和面向?qū)ο蟮慕忉屝跃幊陶Z言。其實(shí)python的基礎(chǔ)語法跟其它編程語言都非常類似,,只是寫法有些不一樣而已,。 關(guān)于Python更詳細(xì)的介紹和環(huán)境準(zhǔn)備可以參考我這篇文章:Python 介紹和環(huán)境準(zhǔn)備
二,、變量1)變量定義語法規(guī)則: 變量名 = 值變量名 = 變量名 = 值
例如: var1 = 123var2 = var3 = 456
定義變量的語法規(guī)則中間的=,并不是數(shù)學(xué)中等于號(hào)的意思,,在編程語言中而是賦值的意思,。賦值:其實(shí)程序在執(zhí)行的時(shí)候,先計(jì)算等號(hào)(=)右邊的值,,然后把右邊的值賦值給等號(hào)左邊的變量名中,。 注意點(diǎn):變量名自定義,要滿足標(biāo)識(shí)符的命名規(guī)則,。
2)定義變量的規(guī)則變量命名規(guī)范 - 標(biāo)識(shí)符命名規(guī)則是Python中定義各種名字的時(shí)候的統(tǒng)一規(guī)范,,具體規(guī)范如下: - 由數(shù)字、字母,、下劃線組成
- 不能以數(shù)字開頭
- 不能使用Python內(nèi)置關(guān)鍵字
- 嚴(yán)格區(qū)分大小寫
下面是列舉的常見關(guān)鍵字,,這些關(guān)鍵字不用去背,在學(xué)習(xí)Python的過程中自然就會(huì)記得的,,不用就不會(huì)犯錯(cuò),,也可以通過keyword模塊查看 import keywordprint(keyword.kwlist)# ['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
3)變量命名規(guī)范- 見名知義
- 大駝峰:即每個(gè)單詞首字母都大寫,例如:UserName
- 小駝峰:第二個(gè)(含)以后的單詞首字母大寫,,力例如:userName
- 下劃線:例如:user_name
4)變量類型轉(zhuǎn)換Python是弱類型語言,,弱類型語言有下面兩個(gè)特點(diǎn): - 變量不用先聲明就可以直接賦值,對(duì)一個(gè)沒聲明的變量賦值就相當(dāng)于定義了一個(gè)新變量,。
- 變量的數(shù)據(jù)類型可以改變,,如,一個(gè)變量可以先被賦值為字符串,,后再被賦值為整數(shù),。
在Python中,為了應(yīng)對(duì)不同的業(yè)務(wù)需求,,把數(shù)據(jù)分為下面幾種類型: - Number(數(shù)字)int:有符號(hào)整型long:長整型,,也可以代表八進(jìn)制和十六進(jìn)制(Python3中沒有)float:浮點(diǎn)型complex:復(fù)數(shù)
- String(字符串)
- Boolean 布爾類型True 真False 假
- List(列表)
- Tuple(元組)
- Set(集合)
- Dictionary(字典)
Python3 的六個(gè)標(biāo)準(zhǔn)數(shù)據(jù)類型中: 【溫馨提示】不管對(duì)于多大或者多小的整數(shù),Python 3.x 只用 int 一種類型存儲(chǔ),,表示為長整型,,并且整數(shù)的取值范圍是無限的。
示例如下: # 類型轉(zhuǎn)換age = 18#打印age看一下值,,這里通過type()函數(shù)來輸出age的類型print(age, type(age))# #強(qiáng)制類型轉(zhuǎn)換把a(bǔ)ge轉(zhuǎn)換為浮點(diǎn)型,,再輸出一下age的值和age的類型age = float(age)print(age, type(age))
常用的類型轉(zhuǎn)換函數(shù):
函數(shù) | 功能 | int(x) | 把x轉(zhuǎn)換為整數(shù) | float(x) | 把x轉(zhuǎn)換為浮點(diǎn)數(shù) | str(x) | 把x轉(zhuǎn)換為字符串類型 | list(x) | 把x轉(zhuǎn)換為列表類型 | chr(x) | 把x轉(zhuǎn)換為一個(gè)字符 | ord(x) | 把字符x轉(zhuǎn)換為相應(yīng)整數(shù)值 | hex(x) | 把整數(shù)x轉(zhuǎn)換為十六進(jìn)制字符串 | oct(x) | 把整數(shù)x轉(zhuǎn)換為八進(jìn)制字符串 |
三、注釋Python 中的注釋有單行注釋和多行注釋,,注釋不會(huì)影響程序的執(zhí)行,,只會(huì)使代碼更易于閱讀和理解。 1)單行注釋Python 中單行注釋以 # 開頭,,例如: print('Hello, World!')
2)多行注釋多行注釋用三個(gè)單引號(hào) ''' 或者三個(gè)雙引號(hào) ''' 將注釋括起來,,例如: 1,、單引號(hào)(''')注釋#!/usr/bin/python3 '''這是多行注釋,用三個(gè)單引號(hào)這是多行注釋,,用三個(gè)單引號(hào) 這是多行注釋,,用三個(gè)單引號(hào)'''print('Hello, World!')
2、雙引號(hào)(''')注釋#!/usr/bin/python3 '''這是多行注釋,,用三個(gè)雙引號(hào)這是多行注釋,,用三個(gè)雙引號(hào) 這是多行注釋,用三個(gè)雙引號(hào)'''print('Hello, World!')
四,、運(yùn)算符Python的運(yùn)算符,,運(yùn)算符是一些特殊的符號(hào),通過運(yùn)算符將不同的數(shù)據(jù)連接構(gòu)成表達(dá)式,。先通過一張圖來看一下常用操作符,。 1)算術(shù)運(yùn)算符運(yùn)算符 | 功能 | 輸入 | 輸出 | + | 加 | 66+22 | 88 | - | 減 | 66-22 | 44 | * | 乘 | 11*6 | 66 | / | 除 | 60/10 | 6 | % | 取余 | 10%9 | 1 | // | 整除 | 20//9 | 2 | ** | 冪 | 3**3 | 27,即三的三次方 |
2)關(guān)系運(yùn)算符定義:a=1,,b=2 運(yùn)算符 | 功能 | 輸入 | 輸出 | > | 大于 | a>b | False | < | 小于 | a<b | False | != | 不等于 | a!=b | True | == | 判段是否相等 | a==b | False | >= | 大于等于 | a>=b | False | <= | 小于等于 | a<=b | True |
3)賦值運(yùn)算符賦值運(yùn)算符從字面上可以理解為賦給變量一個(gè)值,,通常我們用=將右邊的指賦給左邊。下面來通過下表來看一下常用的賦值運(yùn)算符: 運(yùn)算符 | 功能 | 輸入 | = | 賦值 | a=2 | -= | 減賦值 | a-=2(a=a-2) | += | 加賦值 | a+=2(a=a+2) | *= | 乘賦值 | a=2(a=a2) | /= | 除賦值 | a/=2(a=a/2) | %= | 取余賦值 | a%=2(a=a%2) | **= | 冪賦值 | a=2(a=a2) | //= | 整除賦值 | a//=2(a=a//2) |
4) 邏輯運(yùn)算符定義:a=5,,b=1 運(yùn)算符 | 功能 | 輸入 | 輸出 | and | 與 | a>0 and a>b | True | or | 或 | a>100 or a>b | True | not | 非 | not(a>b and a>0) | False |
5)位運(yùn)算符位操作符屬于操作符中比較難的內(nèi)容,,位操作符以二進(jìn)制為單位進(jìn)行運(yùn)算,操作的對(duì)象以及結(jié)果都是整數(shù)型,。位操作符有如下幾個(gè):&(按位與),、|(按位或)、^(按位異或),、~(按位取反),、>>(右位移)和<<(左位移)。
具體說明看下表: 運(yùn)算符 | 名稱 | 例子 | 功能 | & | 按位與 | A&B | A和B進(jìn)行位與運(yùn)算 | | | 按位或 | A|B | A和B進(jìn)行位或運(yùn)算 | ~ | 按位取反 | ~A | A進(jìn)行取反運(yùn)算 | ^ | 按位異或 | A^B | A和B進(jìn)行位異或運(yùn)算 | >> | 右位移 | A>>c | A右移c位 | << | 左位移 | A<<c | A左移c位 |
1,、位與運(yùn)算(A&B)位與運(yùn)算中,,A和B按位進(jìn)行與運(yùn)算,當(dāng)每位對(duì)應(yīng)全是1的時(shí)候?qū)?yīng)結(jié)果位1,,反之為0 【結(jié)論】可以看出,,當(dāng)10111001&00100011得到00100011。當(dāng)對(duì)應(yīng)位同時(shí)為1才為1,。
2,、位或運(yùn)算(A|B)【結(jié)論】可以看出,當(dāng)10110010 | 01011110得到11111110,,對(duì)應(yīng)位置存在一個(gè)1的時(shí)候即為1,。
3,、異或位運(yùn)算(A^B)【結(jié)論】可以看出,,10110010^01011110得到11101100,,對(duì)應(yīng)位置相反的時(shí)候,即0對(duì)應(yīng)1,,1對(duì)應(yīng)0的時(shí)候得到1,。
4、按位取反運(yùn)算(~A)【結(jié)論】按位取反的過程中需要運(yùn)用補(bǔ)碼運(yùn)算,,即0補(bǔ)為1,,1補(bǔ)為0。
5,、左右位移右移時(shí),,(第一行為移動(dòng)前,第二行為移動(dòng)后) 【結(jié)論】右邊最低位為溢出位被丟棄,,在填充左側(cè)最高位時(shí),,如果最高位是0,則填0,,如果最高位是1,,則填1。右移相當(dāng)于除上2的n次方,。
左移時(shí),, (第一行為移動(dòng)前,第二行為移動(dòng)后) 【結(jié)論】左邊最高位為溢出位被丟棄,,在最右邊空位補(bǔ)0,,左移相當(dāng)于乘上2的n次方。
運(yùn)算符優(yōu)先級(jí)如下: 五,、數(shù)據(jù)類型Python3 中有七個(gè)標(biāo)準(zhǔn)的數(shù)據(jù)類型: - Number(數(shù)字)
- Boolean(布爾類型)
- String(字符串)
- List(列表)
- Tuple(元組)
- Dictionary(字典)
- Set(集合)
數(shù)字和布爾類型就沒什么可說的了,,這里主要講一下另外五種類型:字符串、列表,、元組,、字典、集合 1)String(字符串)1,、創(chuàng)建字符串字符串是 Python 中最常用的數(shù)據(jù)類型,。我們可以使用引號(hào)( ' 或 ' )來創(chuàng)建字符串。創(chuàng)建字符串很簡單,,只要為變量分配一個(gè)值即可,。例如: var1 = 'Hello World!'
2、字符串連接字符串自帶連接方法,,在連接的時(shí)候我們可以使用+直接連接或追加一個(gè)字符串到另一個(gè)字符串的末尾,。 示例如下: >>> my_str = 'www.test.com'>>> my_str'www.test.com'>>> his_str = '人生苦短,我用Python'>>> my_str + his_str'www.test.com人生苦短,我用Python'
3,、字符串切片字符串切片是非常常用的功能,,示例如下: >>> my_str = 'www.test.com'>>> my_str 'www.test.com'>>> my_str[0:2]#通過切片訪問0-1'ww'>>> my_str[3:6]#3-5'.te'>>> my_str[7:10]#7-9't.c'>>> my_str[::2]#步長為2的訪問整個(gè)字符串'wwts.o'>>> my_str[::-1]#逆置字符串'moc.tset.www'
4、字符串常用方法【1】count()方法通常使用count()方法來統(tǒng)計(jì)字符串中的某個(gè)元素在字符串中出現(xiàn)的次數(shù),,如果不存在返回0,,如果存在則返回存在的次數(shù),語法格式如下: my_str.count(x)
my_str 為我們要檢索的字符串名,,x為我們要統(tǒng)計(jì)的字符,。
示例如下: >>> my_str = 'www.test.com'>>> my_str'www.test.com'>>> my_str.count('w')3>>> my_str.count('.')2>>> my_str.count('t')2>>> my_str.count('*')0
返回的數(shù)字即該字符在字符串中出現(xiàn)的次數(shù),因?yàn)?/span>*不存在,,所以返回值為0,。 【2】find()方法find方法來檢索字符串中是否包含指定元素,如果包含該元素則返回該元素第一次出現(xiàn)的索引位置,,如果不存在該字符則返回-1,,它的語法結(jié)構(gòu)為: my_str.find(x)
my_str 為要檢索的字符串名,x為我們要尋找的元素,。
示例如下: >>> my_str = 'www.test.com'>>> my_str'www.test.com'>>> my_str.find('w')#尋找字符w0>>> my_str.find('t')#尋找字符p4>>> my_str.find('m')#尋找字符m11>>> my_str.find('*')#尋找字符*,,因?yàn)?不存在因而返回-1-1
【3】index()方法index()方法和find()方法類似,index()方法在檢索到指定字符的時(shí)候也會(huì)返回該字符第一次出現(xiàn)的索引位置,,但是如果檢索不到就會(huì)拋出異常,,它的語法格式為: my_str.index(x)
my_str為要檢索的字符串名,x為要尋找的元素,。
示例如下: >>> my_str = 'www.test.com'>>> my_str.index('w')0>>> my_str.index('o')10>>> my_str.index('*')Traceback (most recent call last): File '<stdin>', line 1, in <module>ValueError: substring not found
上面三種方法為他們的省略格式,,在標(biāo)準(zhǔn)文檔中,他們的格式分別為: my_str.count(x[,start[,end]])my_str.find(x[,start[,end]])my_str.index(x[,start[,end]])
示例如下: >>> my_str = 'www.test.com'>>> my_str.index('o',6,13)#在6-12之間尋找o10>>> my_str.count('w',0,5)#統(tǒng)計(jì)w在0-4之間存在的次數(shù)3>>> my_str.find('t',3,9)#在3-8之間尋找t4
【4】lower()方法和upper()方法這兩種方法和上一節(jié)的測(cè)試方法類似,,前者lower()是返回一個(gè)副本,,副本中把字符串中所有字符轉(zhuǎn)換為了小寫字符,而后者upper()是返回一個(gè)副本,,副本中把字符串中所有字符轉(zhuǎn)換為了大寫字符,。 示例如下: >>> my_str = 'ABCabc'#包含大小寫字母的字符串>>> my_str.upper()#將字符串全部大寫'ABCABC'>>> my_str.lower()#將字符串全部小寫'abcabc'>>> my_str#再看一下原始字符串有沒有改變'ABCabc'
【5】lstrip()方法、rstrip ()方法和strip()方法這三種方法的原理類型,,他們都是用于處理字符串中的空白字符,。 - lstrip()方法會(huì)返回一個(gè)副本,副本中的字符串刪除所有前導(dǎo)的空白字符,。
- rstrip()方法會(huì)返回一個(gè)副本,,副本中的字符串刪除所有后導(dǎo)的空白字符。
- strip()方法會(huì)返回一個(gè)副本,,副本中的字符串刪除所有前導(dǎo)和后導(dǎo)的空白字符,。
示例如下: >>> my_str = ' \n\t www.test.com \t\n '>>> my_str.rstrip()#返回刪除后導(dǎo)空白字符的副本' \n\t >>> my_str.lstrip()#返回刪除前導(dǎo)空白字符的副本'www.test.com \t\n '>>> my_str.strip()#返回刪除前導(dǎo)后導(dǎo)空白字符的副本'www.test.com'
【6】replace() 方法replace()方法返回一個(gè)副本,,副本中將我們需要替代的字符替換掉,它的語法格式為: my_str.replace(old,new)
my_str為字符串名,,old為要替換掉的字符,,new為替換上的字符。
示例如下: >>> my_str = 'www.test.com'>>> my_str.replace('test','hello')'www.hello.com'
5,、格式化字符串格式化字符串就是在先創(chuàng)建一個(gè)空間,然后再這個(gè)空間留幾個(gè)位置,,然后根據(jù)需求填入相應(yīng)的內(nèi)容,,這里留出的位置相當(dāng)于占位符,格式化字符串有兩種方式,。一種是使用%操作符,,一種是使用format()方法。 【1】 %操作符%操作符在我們格式化字符串的時(shí)候十分方便,,它的語法結(jié)構(gòu)如下: '%[+][-][0][.m]格式化字符'%iteration
- iteration為我們要填入的內(nèi)容,,第一個(gè)%后面為我們要選擇的格式。
- [+]為右對(duì)齊,,數(shù)字大小代表對(duì)齊寬度,。
- [-]為左對(duì)齊,數(shù)字大小代表對(duì)齊寬度,。
- [.m]中的m為可選精度,,表示保留小數(shù)點(diǎn)后幾位小數(shù)。
- 格式化字符為我們需要選定的格式,,它的常用類型為字符串%s,、十進(jìn)制整數(shù)%d、單字符%c,、浮點(diǎn)數(shù)%f,、十六進(jìn)制數(shù)%x、八進(jìn)制數(shù)%o,、字符%%,。
示例如下: >>> my_str =66666.66666>>> print('保留2位小數(shù)格式為:%.2f'%my_str)保留2位小數(shù)格式為:66666.67>>> for i in range(5):... print('%-5d'%i,end=' ')#左對(duì)齊方式... print('%5d'%i)#右對(duì)齊方式...0 01 12 23 34 4
【2】format()方法format()方法提供了更多的方法去格式化字符串,它的基本語法是通過'{}’和':’來代替'%’,。它的語法格式為: str.format()
示例如下: namea = '小明'nameb = '小華'print('{}是{}的好朋友'.format(namea,nameb))
2)List(列表)列表是最常用的 Python 數(shù)據(jù)類型,,它可以作為一個(gè)方括號(hào)內(nèi)的逗號(hào)分隔值出現(xiàn)。在其它語言里叫做數(shù)組,。 1,、創(chuàng)建列表創(chuàng)建一個(gè)列表,只要把逗號(hào)分隔的不同的數(shù)據(jù)項(xiàng)使用方括號(hào)括起來即可,。如下所示: list1 = ['Google', 'test', 1997, 2000]list2 = [1, 2, 3, 4, 5 ]list3 = ['a', 'b', 'c', 'd']list4 = ['red', 'green', 'blue', 'yellow', 'white', 'black']
2,、訪問列表中的值與字符串的索引一樣,,列表索引從 0 開始,第二個(gè)索引是 1,,依此類推,。 #!/usr/bin/python3list = ['red', 'green', 'blue', 'yellow', 'white', 'black']print( list[0] )print( list[1] )print( list[2] )
索引也可以從尾部開始,最后一個(gè)元素的索引為 -1,,往前一位為 -2,,以此類推。 #!/usr/bin/python3list = ['red', 'green', 'blue', 'yellow', 'white', 'black']print( list[-1] )print( list[-2] )print( list[-3] )
3,、更新列表#!/usr/bin/python3 list = ['Google', 'test', 1997, 2000] print ('第三個(gè)元素為 : ', list[2])list[2] = 2001print ('更新后的第三個(gè)元素為 : ', list[2]) list1 = ['Google', 'test', 'Taobao']list1.append('Baidu')print ('更新后的列表 : ', list1)
4,、刪除列表元素#!/usr/bin/python3 list = ['Google', 'test', 1997, 2000] print ('原始列表 : ', list)del list[2]print ('刪除第三個(gè)元素 : ', list)
5、列表截取與拼接列表截取示例如下: >>>L=['Google', 'test', 'Taobao']>>> L[2]'Taobao'>>> L[-2]'Runoob'>>> L[1:]['test', 'Taobao']>>>
列表拼接示例如下: >>>squares = [1, 4, 9, 16, 25]>>> squares += [36, 49, 64, 81, 100]>>> squares[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]>>>
6,、常用方法- len(list)——列表元素個(gè)數(shù)
- list(seq)——將元組轉(zhuǎn)換為列表
- max(list)——返回列表元素最大值
- min(list)——返回列表元素最小值
- list.append(obj)——在列表末尾添加新的對(duì)象
- list.insert(index, obj)——在列表頭部添加新的對(duì)象
- list.pop([index=-1])——移除列表中的一個(gè)元素(默認(rèn)最后一個(gè)元素),,并且返回該元素的值
- list.remove(obj)——移除列表中某個(gè)值的第一個(gè)匹配項(xiàng)
- list.reverse()——反向列表中元素
- list.sort( key=None, reverse=False)——對(duì)原列表進(jìn)行排序
- list.clear()——清空列表
3)Tuple(元組)- Python 的元組與列表類似,不同之處在于元組的元素不能修改,。
- 元組使用小括號(hào)( ),,列表使用方括號(hào) [ ]。
- 元組創(chuàng)建很簡單,,只需要在括號(hào)中添加元素,,并使用逗號(hào)隔開即可。
1,、創(chuàng)建元組示例如下: >>> tup1 = ('Google', 'test', 1997, 2000)>>> tup2 = (1, 2, 3, 4, 5 )>>> tup3 = 'a', 'b', 'c', 'd' # 不需要括號(hào)也可以>>> type(tup3)<class 'tuple'>
2,、訪問元組元組可以使用下標(biāo)索引來訪問元組中的值,如下實(shí)例: >>> tup1 = ('Google', 'test', 1997, 2000)>>> tup2 = (1, 2, 3, 4, 5, 6, 7 )>>> print ('tup1[0]: ', tup1[0])tup1[0]: Google>>> print ('tup2[1:5]: ', tup2[1:5])tup2[1:5]: (2, 3, 4, 5)>>>
3,、修改元組元組中的元素值是不允許修改的,,但我們可以對(duì)元組進(jìn)行連接組合生成一個(gè)新的元組,原有的元組是不變的,,如下實(shí)例: >>> tup1 = (12, 34.56)>>> tup2 = ('abc', 'xyz')>>> tup3 = tup1 + tup2>>> print (tup3)(12, 34.56, 'abc', 'xyz')>>>
4,、刪除元組元組中的元素值是不允許刪除的,但我們可以使用del語句來刪除整個(gè)元組,,如下實(shí)例: >>> tup = ('Google', 'Runoob', 1997, 2000)>>> print (tup)('Google', 'Runoob', 1997, 2000)>>> del tup>>> print ('刪除后的元組 tup : ')刪除后的元組 tup :>>> print (tup)Traceback (most recent call last): File '<stdin>', line 1, in <module>NameError: name 'tup' is not defined>>>
5,、元組截取示例如下: >>> tup = ('Google', 'test', 'Taobao', 'Wiki', 'Weibo','Weixin')>>> tup[1]'test'>>> tup[-2]'Weibo'>>> tup[1:]('test', 'Taobao', 'Wiki', 'Weibo', 'Weixin')>>> tup[1:4]('test', 'Taobao', 'Wiki')>>>
6、常用函數(shù)- len(tuple)——計(jì)算元組元素個(gè)數(shù),。
- max(tuple)——返回元組中元素最大值,。
- min(tuple)——返回元組中元素最小值。
- tuple(iterable)——將可迭代系列轉(zhuǎn)換為元組,。
4)Dictionary(字典)字典和列表和元組不同,,字典中存儲(chǔ)的是一組數(shù)據(jù),且可存儲(chǔ)任意類型的數(shù)據(jù),。
字典的每個(gè)鍵值 key=>value 對(duì)用冒號(hào) : 分割,,每個(gè)對(duì)之間用逗號(hào)(,)分割,,整個(gè)字典包括在花括號(hào) {} 中 ,格式如下所示: d = {key1 : value1, key2 : value2, key3 : value3 }
1、創(chuàng)建字典tinydict1 = { 'abc': 456 }tinydict2 = { 'abc': 123, 98.6: 37 }
2,、訪問字典里的值>>> tinydict = {'Name': 'test', 'Age': 7, 'Class': 'First'}>>> print ('tinydict['Name']: ', tinydict['Name'])tinydict['Name']: test>>> print ('tinydict['Age']: ', tinydict['Age'])tinydict['Age']: 7
3,、修改字典>>> tinydict = {'Name': 'test', 'Age': 7, 'Class': 'First'}>>> tinydict['Age'] = 8 # 更新 Age>>> tinydict['School'] = 'python教程' # 添加信息>>> print ('tinydict['Age']: ', tinydict['Age'])tinydict['Age']: 8>>> print ('tinydict['School']: ', tinydict['School'])tinydict['School']: python教程>>>
4、刪除字典元素>>> tinydict = {'Name': 'test', 'Age': 7, 'Class': 'First'}>>> del tinydict['Name'] # 刪除鍵 'Name'>>> tinydict.clear() # 清空字典>>> del tinydict # 刪除字典>>> print ('tinydict['Age']: ', tinydict['Age'])Traceback (most recent call last): File '<stdin>', line 1, in <module>NameError: name 'tinydict' is not defined>>> print ('tinydict['School']: ', tinydict['School'])Traceback (most recent call last): File '<stdin>', line 1, in <module>NameError: name 'tinydict' is not defined>>>
但這會(huì)引發(fā)一個(gè)異常,,因?yàn)橛脠?zhí)行 del 操作后字典不再存在,。 5、常用方法- len(dict)——計(jì)算字典元素個(gè)數(shù),,即鍵的總數(shù),。
- str(dict)——輸出字典,可以打印的字符串表示,。
- type(variable)——返回輸入的變量類型,如果變量是字典就返回字典類型,。
- dict.clear()——?jiǎng)h除字典內(nèi)所有元素,。
- dict.get(key, default=None)——返回指定鍵的值,如果鍵不在字典中返回 default 設(shè)置的默認(rèn)值
- key in dict——如果鍵在字典dict里返回true,,否則返回false,。
- dict.items()——以列表返回一個(gè)視圖對(duì)象。
- dict.keys()——返回一個(gè)視圖對(duì)象,。
- dict.values()——返回一個(gè)視圖對(duì)象,。
- pop(key[,default])——?jiǎng)h除字典 key(鍵)所對(duì)應(yīng)的值,返回被刪除的值,。
5)Set(集合)集合(set)是一個(gè)無序的不重復(fù)元素序列,。可以使用大括號(hào) { } 或者 set() 函數(shù)創(chuàng)建集合,。
parame = {value01,value02,...}或者set(value)
【注意】創(chuàng)建一個(gè)空集合必須用 set() 而不是 { },,因?yàn)?{ } 是用來創(chuàng)建一個(gè)空字典。 1,、創(chuàng)建集合basket = {'apple', 'orange', 'apple', 'pear', 'orange', 'banana'}
2,、訪問集合元素print(basket)
3、添加集合元素s.add( x )
將元素 x 添加到集合 s 中,,如果元素已存在,,則不進(jìn)行任何操作。
示例如下: >>> thisset = set(('Google', 'test', 'Taobao'))>>> thisset.add('Facebook')>>> print(thisset){'Taobao', 'Google', 'test', 'Facebook'}>>>
還有一個(gè)方法,,也可以添加元素,,且參數(shù)可以是列表,元組,,字典等,,語法格式如下: s.update( x )
示例如下: >>> thisset = set(('Google', 'test', 'Taobao'))>>> thisset.update({1,3})>>> print(thisset){1, 'Google', 3, 'Taobao', 'test'}>>> thisset.update([1,4],[5,6])>>> print(thisset){1, 'Google', 3, 4, 5, 6, 'Taobao', 'test'}>>>
【溫馨提示】添加的元素位置是不確定的,,是隨機(jī)的。
4,、移除元素語法格式如下: s.remove( x )
示例如下: >>> thisset = set(('Google', 'test', 'Taobao'))>>> thisset.remove('Taobao')>>> print(thisset){'Google', 'test'}>>> thisset.remove('Facebook')Traceback (most recent call last): File '<stdin>', line 1, in <module>KeyError: 'Facebook'>>>
從上面可知,,刪除不存在的元素會(huì)報(bào)錯(cuò),如果元素不存在,,不會(huì)發(fā)生錯(cuò)誤,。格式如下所示: s.discard( x )
示例如下: >>> thisset = set(('Google', 'test', 'Taobao'))>>> thisset.discard('Google')>>> print(thisset){'Taobao', 'test'}>>> thisset.discard('Facebook')>>> print(thisset){'Taobao', 'test'}>>>
5、常用函數(shù)- len(s)——計(jì)算集合元素個(gè)數(shù),。
- s.add(x)——給集合添加元素,。
- s.update(x)——給集合添加元素。
- s.remove(x)——移除指定元素,。
- s.union(s2)——返回兩個(gè)集合的并集,。
- s.clear()——清空集合。
- x in s——判斷元素是否在集合中存在,。
六,、流程控制流程控制三種結(jié)構(gòu),它們分別是順序結(jié)構(gòu),、選擇結(jié)構(gòu),、循環(huán)結(jié)構(gòu)。 1)選擇結(jié)構(gòu)1,、if語句Python 條件語句是通過一條或多條語句的執(zhí)行結(jié)果(True 或者 False)來決定執(zhí)行的代碼塊,。 語法格式如下:
if 表達(dá)式1: 語句 if 表達(dá)式2: 語句 elif 表達(dá)式3: 語句 else: 語句elif 表達(dá)式4: 語句else: 語句
示例如下: # !/usr/bin/python3 num=int(input('輸入一個(gè)數(shù)字:'))if num%2==0: if num%3==0: print ('你輸入的數(shù)字可以整除 2 和 3') else: print ('你輸入的數(shù)字可以整除 2,但不能整除 3')else: if num%3==0: print ('你輸入的數(shù)字可以整除 3,,但不能整除 2') else: print ('你輸入的數(shù)字不能整除 2 和 3')
2,、match..case語句Python 3.10 增加了 match...case 的條件判斷,不需要再使用一連串的 if-else 來判斷了,。就跟其它語言switch...case一樣,。 語法格式如下: match subject: case <pattern_1>: <action_1> case <pattern_2>: <action_2> case <pattern_3>: <action_3> case _: <action_wildcard>
case _: 類似于 C 和 Java 中的 default:,當(dāng)其他 case 都無法匹配時(shí),,匹配這條,,保證永遠(yuǎn)會(huì)匹配成功。
示例如下: mystatus=400print(http_error(400))def http_error(status): match status: case 400: return 'Bad request' case 404: return 'Not found' case 418: return 'I'm a teapot' case _: return 'Something's wrong with the internet'
3)循環(huán)結(jié)構(gòu)Python 中的循環(huán)語句有 while 和 for 語句,。 1,、while語句Python 中 while 語句的一般形式: while 判斷條件(condition): 執(zhí)行語句(statements)……
執(zhí)行流程圖如下: 示例如下:
#!/usr/bin/env python3 n = 100 sum = 0counter = 1while counter <= n: sum = sum + counter counter += 1 print('1 到 %d 之和為: %d' % (n,sum))
執(zhí)行結(jié)果如下: 1 到 100 之和為: 5050
while 循環(huán)使用 else 語句 語法格式如下: while <expr>: <statement(s)>else: <additional_statement(s)>
示例如下: #!/usr/bin/python3 count = 0while count < 5: print (count, ' 小于 5') count = count + 1else: print (count, ' 大于或等于 5')
執(zhí)行以上腳本,輸出結(jié)果如下: 0 小于 51 小于 52 小于 53 小于 54 小于 55 大于或等于 5
2,、for語句Python for 循環(huán)可以遍歷任何可迭代對(duì)象,,如一個(gè)列表或者一個(gè)字符串。 for循環(huán)的一般格式如下: for <variable> in <sequence>: <statements>else: <statements>
流程圖: 示例如下:
#!/usr/bin/python3 sites = ['Baidu', 'Google','Runoob','Taobao']for site in sites: print(site)
以上代碼執(zhí)行輸出結(jié)果為: BaiduGoogleRunoobTaobao
for...else 語法 在 Python 中,,for...else 語句用于在循環(huán)結(jié)束后執(zhí)行一段代碼,。 語法格式如下: for item in iterable: # 循環(huán)主體else: # 循環(huán)結(jié)束后執(zhí)行的代碼
示例如下: for x in range(6): print(x)else: print('Finally finished!')
嵌套for循環(huán)示例如下(九九乘法表): for i in range(1,10):#先遍歷1~9 for j in range(1,i+1):#然后遍歷1~i print(i,'*',j,'=',i * j,end='丨')#循環(huán)輸出1~i * i的值 print(end='\n')
輸出信息: 1 * 1 = 1丨2 * 1 = 2丨2 * 2 = 4丨3 * 1 = 3丨3 * 2 = 6丨3 * 3 = 9丨4 * 1 = 4丨4 * 2 = 8丨4 * 3 = 12丨4 * 4 = 16丨5 * 1 = 5丨5 * 2 = 10丨5 * 3 = 15丨5 * 4 = 20丨5 * 5 = 25丨6 * 1 = 6丨6 * 2 = 12丨6 * 3 = 18丨6 * 4 = 24丨6 * 5 = 30丨6 * 6 = 36丨7 * 1 = 7丨7 * 2 = 14丨7 * 3 = 21丨7 * 4 = 28丨7 * 5 = 35丨7 * 6 = 42丨7 * 7 = 49丨8 * 1 = 8丨8 * 2 = 16丨8 * 3 = 24丨8 * 4 = 32丨8 * 5 = 40丨8 * 6 = 48丨8 * 7 = 56丨8 * 8 = 64丨9 * 1 = 9丨9 * 2 = 18丨9 * 3 = 27丨9 * 4 = 36丨9 * 5 = 45丨9 * 6 = 54丨9 * 7 = 63丨9 * 8 = 72丨9 * 9 = 81丨
4)break 和 continue 語句1,、break 語句break 語句可以跳出 for 和 while 的循環(huán)體。如果你從 for 或 while 循環(huán)中終止,,任何對(duì)應(yīng)的循環(huán) else 塊將不執(zhí)行,。
2、continue 語句continue 語句被用來告訴 Python 跳過當(dāng)前循環(huán),,然后繼續(xù)進(jìn)行下一輪循環(huán),。
示例如下:
n = 5while n > 0: n -= 1 if n == 2: continue print(n)print('循環(huán)結(jié)束。')
這些基礎(chǔ)知識(shí)非常簡單,,也是非常重要的,,其實(shí)網(wǎng)上有很多資料介紹,這里只是整理了一些常用的,,由于篇幅比較長,,剩余的部分放在下篇文章介紹~
|