一、變量和表達式
Python是強類型語言,無法根據上下文自動解析轉換成合適的類型。 Python是一種動態語言,在程序運行過程中,同一個變量名在運行的不同階段可以代表不同形式的值(整型,浮點,列表,元組),變量名只是各種數據及對象的引用。C語言中的變量名是用來存放結果的內存片段。
1、在Python中是通過對象的引用而不是值來賦值給變量的。
2、賦值操作符主要是"=",同時也可使用增量賦值,如 x+=1。但是沒有自增、自減操作符。
3、在C語言中,賦值語句可以當作表達式(可以返回值),但是在Python中賦值語句不會返回值,如下面的就是非法的:
SyntaxError: invalid syntax
以 #! 開頭的稱為組織行,這行告訴你的Linux/Unix系統當你執行你的程序的時候,它應該運行哪個解釋器。例如:#!/usr/bin/python
以 # 開頭的稱為注釋行。
二、條件語句
控制流語句:通過使用or,and,not關鍵字可以建立任意的條件表達式
if-elif-else:(Python 沒有 switch-case 語句,可以通過 if 語句配合字典完成同樣的工作)
break 和 continue:用于中斷和繼續循環。
三、文件的輸入/輸出
f=open("out.txt","w")
year=1
money=1000
while year<=5:
money=money*(1+0.05)
f.write("%3d %0.2f/n" % (year,money)) # print>>f,"%3d %0.2f" % (year,money)
year+=1
f.close()
for line in f.xreadlines():
# Do something with line
四、內建類型
4.1 None類型
None表示空對象。如果一個函數沒有顯示的返回一個值,None就被返回。None的bool值為false
4.2 數值類型
Python有4種數值類型:整數、長整數、浮點數和復數。所有數值類型都是不可變類型。
python不支持自增自減操作符++,--,++i,其實是+(+i)的意思
運算符與表達式:基本上與其它語言相類似,只是有以下幾點不同:
x*y:乘法。2 * 3得到6。'la' * 3得到'lalala'。
x**y:冪運算,返回 x 的 y 次冪。
x/y:x 除以 y,4/3得到1(整數的除法得到整數結果)。4.0/3或4/3.0得到1.3333333333333333。
x//y:取整除。返回商的整數部分。4 // 3.0得到1.0。
除法//:地板除在任何時候都會將小數部分舍為0
-x 改變x的符號位
4.3 字符串
字符串:單引號(‘)和雙引號(")的作用相同,只能創建單行字符串。轉義符是(/)。
三引號(如:'''或者""")之間的一切都是字符串的內容。
自然字符串:在字符串前加R(或r)指示某些不需要如轉義符那樣的特別處理的字符串,如:print R“Hello/n World”,將直接輸出“Hello/n World”而不會出現換行的情況。
str() repr() 函數或者向后的引號(`)可以將其他類型的數據轉換為字符串。
Unicode字符串:在字符串前加U(或u)。如 a=u'hello',每個字符用16位來表示 "hello" 'world'會被自動連接為一個字符串"helloworld" ,"s1" u"s2"就會產生u"s1s2"
字符串、Unicode字符串及tuple是不可變的序列。
4.4 列表和元組(list & tuple)
列表和元組是任意對象的序列,支持的常用操作:
一個元素的元組:a=(12,) #注意一定要個額外的逗號!
對于tuple中的元素,不可以修改,也不可以添加
列表是可變的序列,允許插入,刪除,替換元素等操作
可變序列支持的操作:
4.5 字典
字典就是一個關聯數組(或稱為哈希表),是一個通過關鍵字索引的對象集合。
使用{}來創建一個字典
字典的key是不能修改的對象(比如數字和tuple)。
五、循環
六、函數
def say(message, times = 1): # time 的默認參數值是 1
print message * times
return time # 無返回值的函數可省掉 return,等同于return None
只有在形參表末尾的那些參數可以有默認參數值,即你不能在聲明函數形參的時候,先聲明有默認值的形參而后聲明沒有默認值的形參。這是因為賦給形參的值是根據位置而賦值的。例如,def func(a, b=5)是有效的,
但是def func(a=5, b)是無效的。
global a # 獲得全局變量a
用戶自定義函數:
用戶自定義函數有如下屬性:
f.__module__ #函數所在的模塊名
f.__doc__ 或者 f.func_doc #文檔字符串
f.__name__ 或者 f.func_name #函數名
f.__dict__ 或者 f.func_dict #支持任意函數屬性的函數名字空間
f.func_code #編譯后產生的字節碼
f.func_defaults #包含所有默認參數的元組
f.func_globals #函數所在的模塊的全局名稱空間的字典
f.func_closure #None or a tuple of cells that contain bindings for the function's free variables.
七、類
類方法的定義:
八、異常
用try和except語句來捕獲異常:
如果有IOError異常,就將錯誤原因放置在對象e中,然后運行except代碼塊,如果發生其他類型的異常就將控制權轉到處理該異常的except的代碼塊,如果沒找到該代碼塊,程序將終止運行,若沒有發生異常,except代
碼會被忽略掉。
九、模塊
import 模塊名
import 模塊名 as 別名
from 模塊 import 對象(函數)
from 模塊 import *
內建函數dir()可以列出一個模塊中的所有可訪問的內容
可以被import導入的模塊:
1.使用python寫的程序(.py程序)
2.C或C++擴展(已編譯的共享庫或DLL)
3.包(包含多個模塊)
4.內建模塊(使用C寫的并已鏈接到python解釋器內)
十、引用與副本(引用計數)
python中的一切數據都是對象。
對于可變對象,改變一個引用就等于改變了該對象的所有的引用:
兩種創建可變對象的副本:
(1)淺拷貝(shallow copy):創建一個新對象,但它包含的子元素仍然是原來對象子元素的引用:
(2)深拷貝(deep copy)
十一、類型轉換
十二、其他
文檔字符串DocStrings: 如果一個模塊、類、函數體的第一個語句是未命名的字符串,改字符串就自動成為該對象的文檔字符串 說白了就是類似于JavaDoc的東西。
文檔字符串的慣例是一個多行字符串,它的首行以大寫字母開始,句號結尾。第二行是空行,從第三行開始是詳細的描述。可以使用__doc__(注意雙下劃線)調用函數的文檔字符串屬性(屬于函數的名稱)。Python把每一樣東西都作為對象,包括這個函數。
Python中的help(),它所做的只是抓取函數的__doc__屬性,然后整潔地展示給你。
自動化工具也可以以同樣的方式從你的程序中提取文檔。隨Python發行版附帶的pydoc命令,與help()類似地使用DocStrings。
新聞熱點
疑難解答
圖片精選