欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
Python語(yǔ)法大全

一、Python的特點(diǎn)

  1. 簡(jiǎn)單Python是一種代表簡(jiǎn)單思想的語(yǔ)言。

  2. 易學(xué)Python有極其簡(jiǎn)單的語(yǔ)法。

  3. 免費、開(kāi)源Python是FLOSS(自由/開(kāi)放源碼軟件)之一。

  4. 高層語(yǔ)言使用Python編寫(xiě)程序時(shí)無(wú)需考慮如何管理程序使用的內存一類(lèi)的底層細節。

  5. 可移植性Python已被移植到很多平臺,這些平臺包括Linux、Windows、FreeBSD、Macintosh、Solaris、OS/2、Amiga、AROS、AS/400、BeOS、OS/390、z/OS、Palm OS、QNX、VMS、Psion、Acom RISC OS、VxWorks、PlayStation、Sharp Zaurus、Windows CE甚至還有PocketPC。

  6. 解釋性可以直接從源代碼運行。在計算機內部,python解釋器把源代碼轉換為字節碼的中間形式,然后再把它翻譯成計算機使用的機器語(yǔ)言。

  7. 面向對象Python既支持面向過(guò)程編程也支持面向對象編程。

  8. 可擴展性部分程序可以使用其他語(yǔ)言編寫(xiě),如c/c++。

  9. 可嵌入型可以把Python嵌入到c/c++程序中,從而提供腳本功能。

  10. 豐富的庫Python標準庫確實(shí)很龐大。它可以幫助你處理各種工作,包括正則表達式、文檔生成、單元測試、線(xiàn)程、數據庫、網(wǎng)頁(yè)瀏覽器、CGI、FTP、電子郵件、XML、XML-RPC、HTML、WAV文件、密碼系統、GUI(圖形用戶(hù)界面)、Tk和其他與系統有關(guān)的操作。

二、基本概念

1. python中數有四種類(lèi)型:整數、長(cháng)整數、浮點(diǎn)數和復數。

  • 整數, 如 1

  • 長(cháng)整數 是比較大的整數

  • 浮點(diǎn)數 如 1.23、3E-2

  • 復數 如 1 + 2j、 1.1 + 2.2j

2. 字符串(字符的序列)

  • python中單引號和雙引號使用完全相同。

  • 使用三引號('''或''')可以指定一個(gè)多行字符串。

  • 轉義符 '\'

  • 自然字符串, 通過(guò)在字符串前加r或R。 如 r'this is a line with \n' 則\n會(huì )顯示,并不是換行。

  • python允許處理unicode字符串,加前綴u或U, 如 u'this is an unicode string'。

  • 字符串是不可變的。

  • 按字面意義級聯(lián)字符串,如'this ' 'is ' 'string'會(huì )被自動(dòng)轉換為this is string。

3. 標識符的命名

  • 第一個(gè)字符必須是字母表中字母或下劃線(xiàn)'_'。

  • 標識符的其他的部分有字母、數字和下劃線(xiàn)組成。

  • 標識符對大小寫(xiě)敏感。

4. 對象python程序中用到的任何“東西”都成為“對象”。

5. 邏輯行和物理行物理行是我們在編寫(xiě)程序時(shí)看到的,邏輯行則是python看到的。python中分號;標識一個(gè)邏輯行的結束,但是實(shí)際中一般每個(gè)物理行只寫(xiě)一個(gè)邏輯行,可以避免使用分號。多個(gè)物理行中可以寫(xiě)一個(gè)邏輯行,如下:

上面\的使用被稱(chēng)為‘明確的行連接’, 又如:

6. 縮進(jìn)空白在python是非常重要的,行首的空白是最重要的,又稱(chēng)為縮進(jìn)。行首的空白(空格和制表符)用來(lái)決定邏輯行的縮進(jìn)層次,從而決定語(yǔ)句分組。這意味著(zhù)同一層次的語(yǔ)句必須有相同的縮進(jìn),每一組這樣的語(yǔ)句稱(chēng)為一個(gè)塊。注意:不要混合使用空格和制表符來(lái)縮進(jìn),因為在跨越不同的平臺時(shí)無(wú)法正常工作。

三、運算符與表達式

2. 運算符優(yōu)先級(從低到高)

3. python 控制臺輸出

四、控制語(yǔ)句

1. if 語(yǔ)句

2. while語(yǔ)句

3. for 循環(huán) for..in

注意: 當for循環(huán)結束后執行else語(yǔ)句; range(a, b)返回一個(gè)序列,從a開(kāi)始到b為止,但不包括b,range默認步長(cháng)為1,可以指定步長(cháng),range(0,10,2);

4. break語(yǔ)句

終止循環(huán)語(yǔ)句,如果從for或while中終止,任何對應循環(huán)的else將執行。

5. continue語(yǔ)句

continue語(yǔ)句用來(lái)調過(guò)當前循環(huán)的剩余語(yǔ)句,然后繼續下一輪循環(huán)。

五、函數

函數通過(guò)def定義。def關(guān)鍵字后跟函數的標識符名稱(chēng),然后跟一對圓括號,括號之內可以包含一些變量名,該行以冒號結尾;接下來(lái)是一塊語(yǔ)句,即函數體

1. 函數形參

函數中的參數名稱(chēng)為‘形參’,調用函數時(shí)傳遞的值為‘實(shí)參’

2. 局部變量

在函數內定義的變量與函數外具有相同名稱(chēng)的其他變量沒(méi)有任何關(guān)系,即變量名稱(chēng)對于函數來(lái)說(shuō)是局部的。這稱(chēng)為變量的作用域。 global語(yǔ)句, 為定義在函數外的變量賦值時(shí)使用global語(yǔ)句。

3. 默認參數

通過(guò)使用默認參數可以使函數的一些參數是‘可選的’。

注意: 只有在形參表末尾的那些參數可以有默認參數值,即不能在聲明函數形參的時(shí)候,先聲明有默認值的形參而后聲明沒(méi)有默認值的形參,只是因為賦給形參的值是根據位置而賦值的。

4. 關(guān)鍵參數

如果某個(gè)函數有很多參數,而現在只想指定其中的部分,那么可以通過(guò)命名為這些參數賦值(稱(chēng)為‘關(guān)鍵參數’)。 優(yōu)點(diǎn):不必擔心參數的順序,使函數變的更加簡(jiǎn)單;假設其他參數都有默認值,可以只給我們想要的那些參數賦值。

5. return 語(yǔ)句

return語(yǔ)句用來(lái)從一個(gè)函數返回,即跳出函數??蓮暮瘮捣祷匾粋€(gè)值。 沒(méi)有返回值的return語(yǔ)句等價(jià)于return None。None表示沒(méi)有任何東西的特殊類(lèi)型。

6. DocStrings(文檔字符串)

六、模塊

模塊就是一個(gè)包含了所有你定義的函數和變量的文件,模塊必須以.py為擴展名。模塊可以從其他程序中‘輸入’(import)以便利用它的功能。 在python程序中導入其他模塊使用'import', 所導入的模塊必須在sys.path所列的目錄中,因為sys.path第一個(gè)字符串是空串''即當前目錄,所以程序中可導入當前目錄的模塊。

1. 字節編譯的.pyc文件

導入模塊比較費時(shí),python做了優(yōu)化,以便導入模塊更快些。一種方法是創(chuàng )建字節編譯的文件,這些文件以.pyc為擴展名。 pyc是一種二進(jìn)制文件,是py文件經(jīng)編譯后產(chǎn)生的一種byte code,而且是跨平臺的(平臺無(wú)關(guān))字節碼,是有python虛擬機執行的,類(lèi)似于java或.net虛擬機的概念。pyc的內容,是跟python的版本相關(guān)的,不同版本編譯后的pyc文件是不同的。

2. from .. import

如果想直接使用其他模塊的變量或其他,而不加'模塊名+.'前綴,可以使用from .. import。 例如想直接使用sys的argv, fromsysimportargv或 fromsysimport*

3. 模塊的_name_

每個(gè)模塊都有一個(gè)名稱(chēng),py文件對應模塊名默認為py文件名,也可在py文件中為name賦值;如果是name,說(shuō)明這個(gè)模塊被用戶(hù)單獨運行。

4. dir()函數

dir(sys)返回sys模塊的名稱(chēng)列表;如果不提供參數,即dir(),則返回當前模塊中定義名稱(chēng)列表。 del -> 刪除一個(gè)變量/名稱(chēng),del之后,該變量就不能再使用。

七、數據結構

python有三種內建的數據結構:列表、元組和字典。

1. 列表

list是處理一組有序項目的數據結構,列表是可變的數據結構。列表的項目包含在方括號[]中,eg: [1, 2, 3], 空列表[]。判斷列表中是否包含某項可以使用in, 比如 l = [1, 2, 3]; print 1 in l; #True;支持索引和切片操作;索引時(shí)若超出范圍,則IndexError;使用函數len()查看長(cháng)度;使用del可以刪除列表中的項,eg: del l[0] # 如果超出范圍,則IndexError list函數如下:

append(value)  ---向列表尾添加項value

count(value)  ---返回列表中值為value的項的個(gè)數

extend(list2)  ---向列表尾添加列表list2

index(value, [start, [stop]])---返回列表中第一個(gè)出現的值為value的索引,如果沒(méi)有,則異常 ValueError

insert(i, value)  ---向列表i位置插入項vlaue,如果沒(méi)有i,則添加到列表尾部

pop([i])  ---返回i位置項,并從列表中刪除;如果不提供參數,則刪除最后一個(gè)項;如果提供,但是i超出索引范圍,則異常IndexError

remove(value)  ---刪除列表中第一次出現的value,如果列表中沒(méi)有vlaue,則異常ValueError

reverse()  ---列表反轉

sort(cmp=None, key=None, reverse=False)  ---列表排序

2. 元組

tuple和list十分相似,但是tuple是不可變的,即不能修改tuple,元組通過(guò)圓括號中用逗號分割的項定義;支持索引和切片操作;可以使用 in 查看一個(gè)元素是否在tuple中??赵M();只含有一個(gè)元素的元組('a',) #需要加個(gè)逗號 優(yōu)點(diǎn):tuple比list速度快;對不需要修改的數據進(jìn)行‘寫(xiě)保護’,可以是代碼更安全 tuple與list可以相互轉換,使用內置的函數list()和tuple()。

元組最通常的用法是用在打印語(yǔ)句,如下例:

函數如下:

count(value)  ---返回元組中值為value的元素的個(gè)數

index(value, [start, [stop]])  ---返回列表中第一個(gè)出現的值為value的索引,如果沒(méi)有,則異常 ValueError

3. 字典

字典由鍵值對組成,鍵必須是唯一的;eg: d = {key1:value1, key2:value2};空字典用{}表示;字典中的鍵值對是沒(méi)有順序的,如果想要一個(gè)特定的順序,那么使用前需要對它們排序;d[key] = value,如果字典中已有key,則為其賦值為value,否則添加新的鍵值對key/value;使用del d[key] 可以刪除鍵值對;判斷字典中是否有某鍵,可以使用in 或 not in;

dict函數如下: clear()  ---刪除字典中所有元素

copy()  ---返回字典的一個(gè)副本(淺復制)

dict.fromkeys(seq,val=None) ---創(chuàng )建并返回一個(gè)新字典,以序列seq中元素做字典的鍵,val為字典所有鍵對應的初始值(默認為None)

get(key,[default])  ---返回字典dict中鍵key對應值,如果字典中不存在此鍵,則返回default 的值(default默認值為None)

has_key(key)  ---判斷字典中是否有鍵key

items()  ---返回一個(gè)包含字典中(鍵, 值)對元組的列表

keys()  ---返回一個(gè)包含字典中所有鍵的列表

values()  ---返回一個(gè)包含字典中所有值的列表

pop(key, [default])  ---若字典中key鍵存在,刪除并返回dict[key],若不存在,且未給出default值,引發(fā)KeyError異常

popitem()  ---刪除任意鍵值對,并返回該鍵值對,如果字典為空,則產(chǎn)生異常KeyError

setdefault(key,[default])  ---若字典中有key,則返回vlaue值,若沒(méi)有key,則加上該key,值為default,默認None

update(dict2)  ---把dict2的元素加入到dict中去,鍵字重復時(shí)會(huì )覆蓋dict中的鍵值

viewitems()---返回一個(gè)view對象,(key, value)pair的列表,類(lèi)似于視圖。優(yōu)點(diǎn)是,如果字典發(fā)生變化,view會(huì )同步發(fā)生變化。在迭代過(guò)程中,字典不允許改變,否則會(huì )報異常

viewkeys()  ---返回一個(gè)view對象,key的列表

4. 序列

序列類(lèi)型是指容器內的元素從0開(kāi)始的索引順序訪(fǎng)問(wèn),一次可以訪(fǎng)問(wèn)一個(gè)或者多個(gè)元素;列表、元組和字符串都是序列; 序列的兩個(gè)主要特點(diǎn)是:索引操作符和切片操作符;索引可以得到特定元素;切片可以得到部分序列;

切片操作符中的第一個(gè)數(冒號之前)表示切片開(kāi)始的位置,第二個(gè)數(冒號之后)表示切片到哪里結束。 如果不指定第一個(gè)數,Python就從序列首開(kāi)始。如果沒(méi)有指定第二個(gè)數,則Python會(huì )停止在序列尾。 注意,返回的序列從開(kāi)始位置 開(kāi)始 ,剛好在結束位置之前 結束。即開(kāi)始位置是包含在序列切片中的,而結束位置被排斥在切片外。 可以用負數做切片。負數用在從序列尾開(kāi)始計算的位置。

5. 綁定

當創(chuàng )建一個(gè)對象并給它賦一個(gè)變量的時(shí)候,這個(gè)變量?jì)H僅“指向”那個(gè)對象,而不是表示這個(gè)對象本身! 也就是說(shuō),變量名指向計算機中存儲那個(gè)對象的內存,這被稱(chēng)作名稱(chēng)到對象的綁定。 如果要復制一個(gè)列表或者類(lèi)似的序列或者其他復雜的對象(不是如整數那樣的簡(jiǎn)單對象),那么必須使用切片操作符來(lái)取得拷貝。

八、面向對象編程

python支持面向對象編程;類(lèi)和對象是面向對象編程的兩個(gè)主要方面,類(lèi)創(chuàng )建一個(gè)新的類(lèi)型,對象是這個(gè)類(lèi)的實(shí)例。

對象可以使用普通的屬于對象的變量存儲數據,屬于對象或類(lèi)的變量被稱(chēng)為;對象也可以使用屬于類(lèi)的函數,這樣的函數稱(chēng)為類(lèi)的方法;域和方法可以合稱(chēng)為類(lèi)的屬性。

域有兩種類(lèi)型--屬于實(shí)例的或屬于類(lèi)本身;它們分別被稱(chēng)為實(shí)例變量和類(lèi)變量。

類(lèi)使用關(guān)鍵字class創(chuàng )建,類(lèi)的域和方法被列在一個(gè)縮進(jìn)塊中。

類(lèi)的方法必須有一個(gè)額外的第一個(gè)參數,但是在調用時(shí)不為這個(gè)參數賦值,這個(gè)特殊變量指對象本身,按照慣例它的名稱(chēng)是self,類(lèi)似C#中的this。

_init_方法  在類(lèi)的一個(gè)對象被創(chuàng )建時(shí)調用該方法;相當于c++中的構造函數。

_del方法  在類(lèi)的對象被銷(xiāo)毀時(shí)調用該方法;相當于c++中的析構函數。在使用del刪除一個(gè)對象時(shí)也就調用del_方法。

Python中所有的類(lèi)成員(包括數據成員)都是public的;只有一個(gè)例外,如果使用的數據成員以雙下劃線(xiàn)為前綴,則為私有變量。

繼承:為了使用繼承,基類(lèi)的名稱(chēng)作為一個(gè)元組跟在類(lèi)名稱(chēng)的后面;python支持多重繼承。下面是一個(gè)關(guān)于繼承的例子:

九、輸入/輸出

程序與用戶(hù)的交互需要使用輸入/輸出,主要包括控制臺和文件;對于控制臺可以使用rawinput和print,也可使用str類(lèi)。rawinput(xxx)輸入xxx然后讀取用戶(hù)的輸入并返回。

1. 文件輸入/輸出

可以使用file類(lèi)打開(kāi)一個(gè)文件,使用file的read、readline和write來(lái)恰當的讀寫(xiě)文件。對文件讀寫(xiě)能力取決于打開(kāi)文件時(shí)使用的模式,常用模式有讀模式('r')、寫(xiě)模式('w')、追加模式('a'),文件操作之后需要調用close方法來(lái)關(guān)閉文件。

2. 存儲器 python提供一個(gè)標準的模塊,成為pickle,使用它可以在一個(gè)文件中存儲任何python對象,之后可以完整的取出來(lái),這被稱(chēng)為持久地存儲對象;還有另外一個(gè)模塊成為cPickle,它的功能和pickle完全一樣,只不過(guò)它是用c寫(xiě)的,要比pickle速度快(大約快1000倍)。

十、異常

當程序中出現某些異常的狀況時(shí),異常就發(fā)生了。python中可以使用try ... except 處理。

可以讓try ... except 關(guān)聯(lián)上一個(gè)else,當沒(méi)有異常時(shí)則執行else。 我們可以定義自己的異常類(lèi),需要繼承Error或Exception。

try...finally

十一、Python標準庫

Python標準庫是隨Pthon附帶安裝的,包含了大量極其有用的模塊。

1. sys模塊  sys模塊包含系統對應的功能

  • sys.argv  ---包含命令行參數,第一個(gè)參數是py的文件名

  • sys.platform  ---返回平臺類(lèi)型

  • sys.exit([status])  ---退出程序,可選的status(范圍:0-127):0表示正常退出,其他表示不正常,可拋異常事件供捕獲

  • sys.path    ---程序中導入模塊對應的文件必須放在sys.path包含的目錄中,使用sys.path.append添加自己的模塊路徑

  • sys.modules  ---This is a dictionary that maps module names to modules which have already been loaded

  • sys.stdin,sys.stdout,sys.stderr  ---包含與標準I/O 流對應的流對象

2. os模塊  該模塊包含普遍的操作系統功能

  • os.name字符串指示你正在使用的平臺。比如對于Windows,它是'nt',而對于Linux/Unix用戶(hù),它是'posix'

  • os.getcwd()函數得到當前工作目錄,即當前Python腳本工作的目錄路徑

  • os.getenv()和os.putenv()函數分別用來(lái)讀取和設置環(huán)境變量

  • os.listdir()返回指定目錄下的所有文件和目錄名

  • os.remove()函數用來(lái)刪除一個(gè)文件

  • os.system()函數用來(lái)運行shell命令

  • os.linesep字符串給出當前平臺使用的行終止符。例如,Windows使用'\r\n',Linux使用'\n'而Mac使用'\r'

  • os.sep 操作系統特定的路徑分割符

  • os.path.split()函數返回一個(gè)路徑的目錄名和文件名

  • os.path.isfile()和os.path.isdir()函數分別檢驗給出的路徑是一個(gè)文件還是目錄

  • os.path.existe()函數用來(lái)檢驗給出的路徑是否真地存在

十二、其他

1. 一些特殊的方法

例如:

2. 綜合列表

通過(guò)列表綜合,可以從一個(gè)已有的列表導出一個(gè)新的列表。

3. 函數接收元組/列表/字典

當函數接收元組或字典形式的參數的時(shí)候,有一種特殊的方法,使用和前綴。該方法在函數需要獲取可變數量的參數的時(shí)候特別有用。 由于在args變量前有前綴,所有多余的函數參數都會(huì )作為一個(gè)元組存儲在args中。如果使用的是前綴,多余的參數則會(huì )被認為是一個(gè)字典的鍵/值對。

4. lambda

lambda語(yǔ)句被用來(lái)創(chuàng )建新的函數對象,并在運行時(shí)返回它們。lambda需要一個(gè)參數,后面僅跟單個(gè)表達式作為函數體,而表達式的值被這個(gè)新建的函數返回。 注意,即便是print語(yǔ)句也不能用在lambda形式中,只能使用表達式。

5. exec/eval

exec語(yǔ)句用來(lái)執行儲存在字符串或文件中的Python語(yǔ)句;eval語(yǔ)句用來(lái)計算存儲在字符串中的有效Python表達式。

6. assert

assert語(yǔ)句用來(lái)斷言某個(gè)條件是真的,并且在它非真的時(shí)候引發(fā)一個(gè)錯誤-- AssertionError。

7. repr函數

repr函數用來(lái)取得對象的規范字符串表示。反引號(也稱(chēng)轉換符)可以完成相同的功能。 注意,在大多數時(shí)候有 eval(repr(object))==object??梢酝ㄟ^(guò)定義類(lèi)的repr方法來(lái)控制對象在被repr函數調用的時(shí)候返回的內容。

十三、練習

實(shí)現一個(gè)通訊錄,主要功能:添加、刪除、更新、查詢(xún)、顯示全部聯(lián)系人。


本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
python 入門(mén)題庫————python語(yǔ)句和基礎數理
Python那些事——關(guān)于運維,我有話(huà)要講!
[Python 技術(shù)培訓] 第一周幻燈片 "Python 基礎篇"
你可能不知道的 Python 技巧
Python 3 入門(mén),看這篇就夠了!數萬(wàn)字長(cháng)文!保證你肯定能學(xué)會(huì )!
python基礎一
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久