![](http://static.javashuo.com/static/loading.gif)
1、變量web
變量是指程序在運行時其值可改變的量。每一個變量都有一個變量標識名和特定的數據類型。變量不須要進行定義數據類型而直接使用。微信
變量名是以英文、數字以及下劃線「_」,但不能以數字開頭,並且是區分大小寫,也不能內保留字相同。less
例子:編輯器
w = 4ide
2、函數
模塊化
須要在程序中屢次執行同一項任務時,無需反覆編寫完成該任務的代碼,而是把這段代碼設置爲自定義函數,能提升程序的模塊化,和代碼的重複利用率,經過使用函數,程序編寫,閱讀,測試和修復都將更容易。固然,Python提供了許多內置函數,好比print(),內置函數不須要導入任何模塊便可直接使用。函數
一、自定義函數語法:測試
def 函數名(參數列表): 函數體flex
說明:spa
函數名是以英文、數字以及下劃線「_」,但不能以數字開頭,並且是區分大小寫,也不能與內建函數等保留字相同。
任何傳入參數和自變量必須放在圓括號中間,參數值和參數名稱是按順序來匹配傳遞;函數體能夠用return [表達式]來結束函數,選擇性地返回一個值給調用方,不帶表達式的return至關於返回空值。
注意:函數內容以冒號起始,而且縮進。
例子:
# 定義好一個函數以後,只是表示這個函數封裝了一段代碼
# 若是不主動調用函數,函數不會執行
# 計算長方形面積函數
def area(width, height):
s= width * height
return s
二、調用函數
定義好函數後就能夠跟內建函數同樣進行調用瞭如:
w = 4
h = 5
# 調用函數
a = area(w, h)
print(a)
三、函數的參數
函數的參數,能增長函數的通用性,針對相同的數據處理邏輯,可以適應更多的數據。在函數內部,把參數看成變量使用,進行須要的數據處理 ,函數調用時,按照函數定義的參數順序,把但願在函數內部處理的數據,經過參數傳遞。
形參:定義函數時,小括號中的參數,是用來接收參數用的,在函數內部做爲變量使用。
實參:調用函數時,小括號中的參數,是用來把數據傳遞到函數內部用的。
當不肯定有多少個參數時用「 * 」表示,全部參數會組成元組傳遞給函數。
例子:
#a就表明包含全部參數的元組
def num(*a):
print a #調用函數
num(1) num(1,2) num(1,2,3) num(1,2,3,4,5)
四、函數的返回值
在程序開發中,有時候,會但願一個函數執行結束後,告訴調用者一個結果,以便調用者針對具體的結果做出後續的處理。返回值是函數完成工做後,最後給調用者的一個結果,函數體最後能夠用return [表達式]來結束函數返回結果,調用函數一方,可使用變量來接收函數的返回結果。不帶表達式的return至關於返回空值。
五、局部變量和全局變量
局部變量:
局部變量是在函數內部定義的變量,只能在函數內部使用,臨時保存函數內部須要使用的數據。函數執行結束後,函數內部的局部變量,會被系統回收。不一樣的函數,能夠定義相同的名字的局部變量,可是各用各的不會產生影響。
全局變量:
全局變量是在函數外部定義的變量,(都沒有定義在某一個函數內),全部函數內部均可以使用這個變量。
例子:
num = 10
def demo1(): #在函數內部,定義一個局部變量
#與外部同名的不相關
num = 18 print ('局部變量num=',num)
def demo2(): print ('全局變量num=',num)
#調用兩個函數
demo1()
demo2()
運行結果
局部變量num= 18
全局變量num= 10
若是但願修改全局變量,使用global [表達式],聲明一下變量便可,後面再用賦值語句時,就不會建立局部變量了。
例子:
num = 10
def demo1():
global num num = 18 print ('全局變量num=',num)
本文分享自微信公衆號 - 跟着飄葉學技術(gzpyxjs)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。