Python基本知識點(diǎn)總結(jié)
Python注釋
python中單行注釋采用 # 開頭。
python 中多行注釋使用三個單引號(''')或三個雙引號(""")。
Python字符串
1. 字符串是以單引號??'?
??或雙引號??"?
??括起來的任意文本,比如??'abc'?
??,??"xyz"?
??等等。請注意,??''?
??或??""?
??本身只是一種表示方式,不是字符串的一部分,因此,字符串??'abc'?
??只有??a?
??,??b?
??,??c?
??這3個字符。如果??'?
??本身也是一個字符,那就可以用??""?
??括起來,比如??"I'm OK"?
??包含的字符是??I?
??,??'?
??,??m?
??,空格,??O?
??,??K?
?這6個字符。
2. 如果字符串內(nèi)部有很多換行,用??\n?
??寫在一行里不好閱讀,為了簡化,Python允許用??'''...'''?
?的格式表示多行內(nèi)容
Python函數(shù)
定義一個函數(shù)要使用??def?
??語句,依次寫出函數(shù)名、括號、括號中的參數(shù)和冒號??:?
??,然后,在縮進(jìn)塊中編寫函數(shù)體,函數(shù)的返回值用??return?
?語句返回
def my_abs(x): if x >= 0: return x else: return -x
Python模塊
在Python中,一個.py文件就稱之為一個模塊(Module)。
為了避免模塊名沖突,Python又引入了按目錄來組織模塊的方法,稱為包(Package)
導(dǎo)入模塊:
import sys
作用域
在一個模塊中,我們可能會定義很多函數(shù)和變量,但有的函數(shù)和變量我們希望給別人使用,有的函數(shù)和變量我們希望僅僅在模塊內(nèi)部使用。在Python中,是通過??_?
?前綴來實現(xiàn)的。
正常的函數(shù)和變量名是公開的(public),可以被直接引用,比如:??abc?
??,??x123?
??,??PI?
?等;
類似??__xxx__?
??這樣的變量是特殊變量,可以被直接引用,但是有特殊用途,比如上面的??__author__?
??,??__name__?
??就是特殊變量,??hello?
??模塊定義的文檔注釋也可以用特殊變量??__doc__?
?訪問,我們自己的變量一般不要用這種變量名;
類似??_xxx?
??和??__xxx?
??這樣的函數(shù)或變量就是非公開的(private),不應(yīng)該被直接引用,比如??_abc?
??,??__abc?
?等;
Python字典(Dictionary)
字典是另一種可變?nèi)萜髂P停铱纱鎯θ我忸愋蛯ο蟆?/p>
字典的每個鍵值 key=>value 對用冒號 : 分割,每個鍵值對之間用逗號 , 分割,整個字典包括在花括號 {} 中 ,格式如下所示:
d = {key1 : value1, key2 : value2 }
內(nèi)置函數(shù):
序號 | 函數(shù)及描述 |
1 | ??cmp(dict1, dict2)?? 比較兩個字典元素。 |
2 | ??len(dict)?? 計算字典元素個數(shù),即鍵的總數(shù)。 |
3 | ??str(dict)?? 輸出字典可打印的字符串表示。 |
4 | ??type(variable)?? 返回輸入的變量類型,如果變量是字典就返回字典類型。 |
內(nèi)置方法:
序號 | 函數(shù)及描述 |
1 | ??dict.clear()?? 刪除字典內(nèi)所有元素 |
2 | ??dict.copy()?? 返回一個字典的淺復(fù)制 |
3 | ??dict.fromkeys(seq[, val])?? 創(chuàng)建一個新字典,以序列 seq 中元素做字典的鍵,val 為字典所有鍵對應(yīng)的初始值 |
4 | ??dict.get(key, default=None)?? 返回指定鍵的值,如果值不在字典中返回default值 |
5 | ??dict.has_key(key)?? 如果鍵在字典dict里返回true,否則返回false |
6 | ??dict.items()?? 以列表返回可遍歷的(鍵, 值) 元組數(shù)組 |
7 | ??dict.keys()?? 以列表返回一個字典所有的鍵 |
8 | ??dict.setdefault(key, default=None)?? 和get()類似, 但如果鍵不存在于字典中,將會添加鍵并將值設(shè)為default |
9 | ??dict.update(dict2)?? 把字典dict2的鍵/值對更新到dict里 |
10 | ??dict.values()?? 以列表返回字典中的所有值 |
11 | ??pop(key[,default])?? 刪除字典給定鍵 key 所對應(yīng)的值,返回值為被刪除的值。key值必須給出。 否則,返回default值。 |
12 | ??popitem()?? 返回并刪除字典中的最后一對鍵和值。 |
Python面向?qū)ο?/h2>
1. 創(chuàng)建類
使用 class 語句來創(chuàng)建一個新類,class 之后為類的名稱并以冒號結(jié)尾:
class ClassName: '類的幫助信息' #類文檔字符串 class_suite #類體
類的幫助信息可以通過ClassName.__doc__查看。
class_suite 由類成員,方法,數(shù)據(jù)屬性組成。
__init__()方法是一種特殊的方法,被稱為類的構(gòu)造函數(shù)或初始化方法,當(dāng)創(chuàng)建了這個類的實例時就會調(diào)用該方法
self 代表類的實例,self 在定義類的方法時是必須有的,雖然在調(diào)用時不必傳入相應(yīng)的參數(shù)
self代表類的實例,而非類
類的方法與普通的函數(shù)只有一個特別的區(qū)別——它們必須有一個額外的第一個參數(shù)名稱, 按照慣例它的名稱是 self。
self 代表的是類的實例,代表當(dāng)前對象的地址,而 self.__class__ 則指向類。
2. 訪問屬性
- 使用點(diǎn)號 . 來訪問對象的屬性
- 可以使用以下函數(shù)的方式來訪問屬性:
- getattr(obj, name[, default]) : 訪問對象的屬性。
- hasattr(obj,name) : 檢查是否存在一個屬性。
- setattr(obj,name,value) : 設(shè)置一個屬性。如果屬性不存在,會創(chuàng)建一個新屬性。
- delattr(obj, name) : 刪除屬性。
Python內(nèi)置類屬性
- __dict__ : 類的屬性(包含一個字典,由類的數(shù)據(jù)屬性組成)
- __doc__ :類的文檔字符串
- __name__: 類名
- __module__: 類定義所在的模塊(類的全名是'__main__.className',如果類位于一個導(dǎo)入模塊mymod中,那么className.__module__ 等于 mymod)
- __bases__ : 類的所有父類構(gòu)成元素(包含了一個由所有父類組成的元組)
Python對象銷毀(垃圾回收)
Python 使用了引用計數(shù)這一簡單技術(shù)來跟蹤和回收垃圾
析構(gòu)函數(shù) __del__ ,__del__在對象銷毀的時候被調(diào)用,當(dāng)對象不再被使用時,__del__方法運(yùn)行
Python類的繼承
通過繼承創(chuàng)建的新類稱為子類或派生類,被繼承的類稱為基類、父類或超類。
繼承語法
class 派生類名(基類名) ...
如果在繼承元組中列了一個以上的類,那么它就被稱作"多重繼承" 。
語法:
派生類的聲明,與他們的父類類似,繼承的基類列表跟在類名之后,如下所示:
class SubClassName (ParentClass1[, ParentClass2, ...]):
Python基礎(chǔ)重載方法
下表列出了一些通用的功能,你可以在自己的類重寫:
序號 | 方法, 描述 & 簡單的調(diào)用 |
1 | __init__ ( self [,args...] ) 構(gòu)造函數(shù) 簡單的調(diào)用方法: obj = className(args) |
2 | __del__( self ) 析構(gòu)方法, 刪除一個對象 簡單的調(diào)用方法 : del obj |
3 | __repr__( self ) 轉(zhuǎn)化為供解釋器讀取的形式 簡單的調(diào)用方法 : repr(obj) |
4 | __str__( self ) 用于將值轉(zhuǎn)化為適于人閱讀的形式 簡單的調(diào)用方法 : str(obj) |
5 | __cmp__ ( self, x ) 對象比較 簡單的調(diào)用方法 : cmp(obj, x) |
Python類屬性與方法
類的私有屬性
__private_attrs:兩個下劃線開頭,聲明該屬性為私有,不能在類的外部被使用或直接訪問。在類內(nèi)部的方法中使用時 self.__private_attrs。
類的方法
在類的內(nèi)部,使用 def 關(guān)鍵字可以為類定義一個方法,與一般函數(shù)定義不同,類方法必須包含參數(shù) self,且為第一個參數(shù)
類的私有方法
__private_method:兩個下劃線開頭,聲明該方法為私有方法,不能在類的外部調(diào)用。在類的內(nèi)部調(diào)用 self.__private_methods
單下劃線、雙下劃線、頭尾雙下劃線說明:
- __foo__: 定義的是特殊方法,一般是系統(tǒng)定義名字 ,類似 __init__() 之類的。
- _foo: 以單下劃線開頭的表示的是 protected 類型的變量,即保護(hù)類型只能允許其本身與子類進(jìn)行訪問,不能用于 from module import *
- __foo: 雙下劃線的表示的是私有類型(private)的變量, 只能是允許這個類本身進(jìn)行訪問了。
web 開發(fā)
WSGI:Web Server Gateway Interface
Python內(nèi)置了一個WSGI服務(wù)器,這個模塊叫wsgiref,它是用純Python編寫的WSGI服務(wù)器的參考實現(xiàn)。所謂“參考實現(xiàn)”是指該實現(xiàn)完全符合WSGI標(biāo)準(zhǔn),但是不考慮任何運(yùn)行效率,僅供開發(fā)和測試使用
由于用Python開發(fā)一個Web框架十分容易,所以Python有上百個開源的Web框架
更多關(guān)于Python基本知識請查看下面的相關(guān)鏈接
相關(guān)文章
詳解python環(huán)境安裝selenium和手動下載安裝selenium的方法
這篇文章主要介紹了詳解python環(huán)境安裝selenium和手動下載安裝selenium的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-03-03Python定時任務(wù)APScheduler原理及實例解析
這篇文章主要介紹了Python定時任務(wù)APScheduler原理及實例解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-05-05Python Socket多線程并發(fā)原理及實現(xiàn)
這篇文章主要介紹了Python Socket多線程并發(fā)原理及實現(xiàn),幫助大家更好的理解和使用python,感興趣的朋友可以了解下2020-12-12Python 搭建Web站點(diǎn)之Web服務(wù)器網(wǎng)關(guān)接口
本文是Python 搭建Web站點(diǎn)系列文章的第二篇,接上文,主要給大家來講述Web服務(wù)器網(wǎng)關(guān)接口WSGI的相關(guān)資料,非常詳細(xì),有需要的小伙伴可以參考下2016-11-11將TensorFlow的模型網(wǎng)絡(luò)導(dǎo)出為單個文件的方法
本篇文章主要介紹了將TensorFlow的網(wǎng)絡(luò)導(dǎo)出為單個文件的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-04-04Python實現(xiàn)Event回調(diào)機(jī)制的方法
今天小編就為大家分享一篇Python實現(xiàn)Event回調(diào)機(jī)制的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-02-02