Python--高阶学习笔记
runoob.coom學習python高級部分的筆記點擊訪問
1-定義類,與C++相同,都存在構造函數,但C++的構造函數與類同名,而Python的構造函數則使用__init__()方法,在定義類時,需要在參數中寫入一個代表實例的變量,但實際調用時并不需要傳入
?? 在構建實例對象時,采用的是直接使用類名稱,并將初始化信息作為參數傳入
?? 使用一下函數對對象屬性進行訪問修改等操作
?????????? getattr(obj,屬性名):訪問對象的屬性
?????????? hasattr(obj,屬性名):檢查是否存在某個屬性
?????????? setattr(obj,屬性名,值):設置一個屬性,如果屬性不存在,創建一個新的屬性,并將其賦值
?????????? delattr(obj,屬性名):刪除屬性
?? 使用派生類時,與C++不同,基類的構造函數并不會被直接調用,需要在派生類的構造函數中進行顯示調用才行。在調用基類的方法是,需要顯式加入基類的名稱,并且加入實例對象變量,用于區分在勒種調用普通的函數
?? 使用類繼承時,將繼承的類放在括號里
?? 可以通過使用issubclass(sub,sup)判斷sub類是否是sup類的子類
?? 使用isinstance(obj,class)檢測obj是否是class類的實例對象
?? 基礎重載方法中__str__(self)可以將值轉化為適于人閱讀的形式,并且具有運算符重載,__add__等
?? 聲明私有屬性格式__private_attrs,在開頭加兩個下劃線,同理私有方法格式__private_method,在函數名前加兩個下劃線,protected類型則是在開頭處加一個下劃線
?? 可以通過對象名._類名_私有變量名訪問私有數據
2-正則表達式通常用于匹配符合某種模式的字符,Python中通過re模塊實現該功能
??? re.match()函數,用于實現匹配方法,參數為查找模式,查找目標對象,標記,如當查找模式為存在一個固定模式時,使用的語句為r'(.*' <固定單詞>(.*?).*'。對match函數而言,當所匹配的內容不在起始位置時,無法匹配成功。為了彌補這個缺陷,產生了search()函數,該函數參數與match()相近,匹配位置不在起始位置時,仍能夠進行匹配,返回匹配位置
??? re模塊同樣提供了可用于替換字符串中匹配項的函數,re.sub(),其參數構成如下首先為正則符號表達式,然后是要替換的字符串,原始字符串,最后為替換次數,0表示替換所有匹配
3-CGI編程(Common Gateway Interface)通用網關接口,所有的HTTP服務器執行CGI程序都保存在一個預先配置的目錄,成為CGI目錄,被命名為/var/www/cgi-bin目錄,其擴展名通常為.cgi或.py,通過修改httpd.conf配置文件
??? 在AddHandler cgi-script .cgi .pl .py就可以訪問Python腳本文件
???
總結
以上是生活随笔為你收集整理的Python--高阶学习笔记的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python--一些重要的小tips【持
- 下一篇: 12.2泛型