Python 學(xué)習(xí)筆記
更新時(shí)間:2008年12月27日 17:12:26 作者:
Python 基本概念等學(xué)習(xí)資料
可以任意轉(zhuǎn)載,但轉(zhuǎn)載時(shí)必須標(biāo)明原作者charlee、原始鏈接http://tech.idv2.com/2008/11/03/python-memo/以及本聲明。
面向?qū)ο?/H2>
基本概念
- Python居然支持復(fù)數(shù)。如(-5+4j)。但要注意虛數(shù)單位單獨(dú)使用時(shí)要寫成 1j,不能寫成 j。
- 與Perl和PHP的區(qū)別:?jiǎn)我?hào)和雙引號(hào)沒(méi)有任何區(qū)別。沒(méi)有插值功能。
- 三引號(hào):''' 和 """ 相當(dāng)于Perl的heredoc。
- 行尾不需要用分號(hào),分號(hào)僅用于一行寫多條語(yǔ)句的情況。跟BASIC的冒號(hào)有些相似。
- 縮進(jìn)是有語(yǔ)義的!建議使用TAB縮進(jìn)
運(yùn)算符與表達(dá)式
- 運(yùn)算符 ** 乘冪,Perl也有。
- 字符串的 * 表示重復(fù),相當(dāng)于Perl的 x 運(yùn)算符。
- 居然還有專用于整除的 // 。別跟Perl 6的 // 混淆了。
控制流
- if-elif-else,Perl為if-elsif-else,bash為if-elif-fi
- if、elif等控制流語(yǔ)句后面要加冒號(hào),很像PHP的語(yǔ)法
- while和for循環(huán)可以帶else,循環(huán)正常結(jié)束時(shí)就會(huì)執(zhí)行else。不用像C語(yǔ)言那樣,循環(huán)結(jié)束時(shí)要檢查循環(huán)變量是否等于終值,以判斷是否正常結(jié)束。贊
- range函數(shù)生成的結(jié)果不包括終點(diǎn)。比較:Perl的 .. 運(yùn)算符包括終點(diǎn)。所以,Python的range(a,b)理解成C語(yǔ)言的 for(i=a;i<b,i++) 好些。
- 什么都不做的pass語(yǔ)句,算是個(gè)python特色
函數(shù)
- 函數(shù)中使用全局變量需要用global關(guān)鍵字,類似于PHP
- DocString,又一個(gè)python特色,函數(shù)的第一個(gè)邏輯航的字符串作為文檔字符串。類似于POD和javadoc,不過(guò)是寫在函數(shù)體內(nèi)的。還能通過(guò)"函數(shù)名.__doc__"訪問(wèn)
- lambda:類似于perl的閉包
數(shù)據(jù)結(jié)構(gòu)
- 列表:定義方式為 a=[1,2]。等價(jià)于perl的數(shù)組/列表
- 元組(tuple):定義方式為 a=(1,2)。
- 要注意列表中的列表不會(huì)被打散,如 a=[1,2], b=[a,3,4],結(jié)果就是 b=[[1,2],3,4]。這一點(diǎn)與Perl不同。
- 字典:定義方式為 c={'a':1, 'b':2}。等價(jià)于perl的散列。注意兩點(diǎn):
- 定義和訪問(wèn)時(shí),key必須用引號(hào)引起來(lái)。
- 使用{}定義,使用[]訪問(wèn),即c['a']。與Perl不同。
- 列表賦值是引用賦值。要想拷貝,必須用切片:b = a[:]。Perl程序員要注意。
- 列表的sort會(huì)改變?cè)斜怼?/LI>
例外
- try-except-finally,相當(dāng)于java的try-catch-finally
- 還有else,當(dāng)沒(méi)有發(fā)生異常、正常結(jié)束try塊時(shí)執(zhí)行。跟for/while的else塊一樣
- 故意拋出異常叫raise,java里面叫throw
面向?qū)ο?/H2>
- 類的__init__函數(shù)類似于C++的構(gòu)造函數(shù);__del__函數(shù)類似于C++的析構(gòu)函數(shù)。
- 類方法定義的第一個(gè)參數(shù)必須為self,調(diào)用時(shí)這個(gè)參數(shù)會(huì)被傳遞為對(duì)象本身。類似于perl,perl中第一個(gè)參數(shù)也會(huì)被傳遞為對(duì)象本身,不過(guò)需要程序員自己寫 my $self = shift; 來(lái)接收。
- 用C++的話來(lái)說(shuō),所有成員函數(shù)都是虛函數(shù)。
- 調(diào)用基類方法時(shí)要手工傳遞self,如 Parnet.__init__(self, name)。
模塊
- import foo; 相當(dāng)于perl的 use foo;
- from foo import bar 相當(dāng)于perl的 use foo qw/bar/;
相關(guān)文章
python實(shí)現(xiàn)從尾到頭打印單鏈表操作示例
這篇文章主要介紹了python實(shí)現(xiàn)從尾到頭打印單鏈表操作,結(jié)合實(shí)例形式分析了Python單鏈表的定義、判斷、添加、打印等相關(guān)操作技巧,需要的朋友可以參考下2020-02-02
Python使用sigthief簽發(fā)證書的實(shí)現(xiàn)步驟
Windows 系統(tǒng)中的一些非常重要文件通常會(huì)被添加數(shù)字簽名,其目的是用來(lái)防止被篡改,能確保用戶通過(guò)互聯(lián)網(wǎng)下載時(shí)能確信此代碼沒(méi)有被非法篡改和來(lái)源可信,從而保護(hù)了代碼的完整性、保護(hù)了用戶不會(huì)被病毒、惡意代碼和間諜軟件所侵害,本章將演示證書的簽發(fā)與偽造2021-06-06
在Django中創(chuàng)建第一個(gè)靜態(tài)視圖
這篇文章主要介紹了在Django中創(chuàng)建第一個(gè)靜態(tài)視圖的方法,與其他編程語(yǔ)言的開(kāi)始一樣,以Hello world作為示例,需要的朋友可以參考下2015-07-07
Python Requests模擬登錄實(shí)現(xiàn)圖書館座位自動(dòng)預(yù)約
這篇文章主要為大家詳細(xì)介紹了Python Requests的模擬登錄,Python實(shí)現(xiàn)圖書館座位自動(dòng)預(yù)約,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-04-04
關(guān)于PyQt5中QtGui.QImage圖片顯示問(wèn)題解析
PyQt作為Qt語(yǔ)言的Python擴(kuò)展,可以用來(lái)方便快速的開(kāi)發(fā)界面應(yīng)用,本文重點(diǎn)給大家介紹PyQt5中的QtGui.QImage圖片顯示問(wèn)題分析,需要的朋友可以參考下2022-03-03
Python復(fù)制Word內(nèi)容并使用格式設(shè)字體與大小實(shí)例代碼
這篇文章主要介紹了Python復(fù)制Word內(nèi)容并使用格式設(shè)字體與大小實(shí)例代碼,小編覺(jué)得還是挺不錯(cuò)的,具有一定借鑒價(jià)值,需要的朋友可以參考下2018-01-01
詳解python?sklearn中的數(shù)據(jù)預(yù)處理方法
本篇文章主要講解Python的sklearn庫(kù)中常用的數(shù)據(jù)預(yù)處理方法,主要介紹工具中的內(nèi)容,即該庫(kù)中的相關(guān)方法包含的常用接口和基本使用,希望對(duì)大家有所幫助2023-08-08

