定義:

創新互聯公司從2013年創立,是專業互聯網技術服務公司,擁有項目成都網站設計、成都網站制作網站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元額爾古納做網站,已為上家服務,為額爾古納各地企業和個人服務,聯系電話:028-86922220
def 函數名(形參1,形參2='初始定義的內容'):
函數中執行的內容
調用:
函數名(實參1)或函數名(形參2=實參2,形參1=實參1)或函數名(實參1,實參2)
params
就是(5, 5)
(5,) * 2 ,就是2個5的元組,乘號可以理解成相加。"*" * 30就是30個“*"的字符串
*params作為參數,前面的*號就是把params元組分解成元素的意思,這樣就分開成為2個參數了。實際上傳遞給了x,y
于是就執行了power(5,5)
函數是組織好的,可重復使用的,用來實現單一,或相關聯功能的代碼段。
函數能提高應用的模塊性,和代碼的重復利用率。你已經知道Python提供了許多內建函數,比如print()。但你也可以自己創建函數,這被叫做用戶自定義函數。
定義一個函數
可以定義一個由自己想要功能的函數,以下是簡單的規則:
1.函數代碼塊以 def 關鍵詞開頭,后接函數標識符名稱和圓括號()。
2.任何傳入參數和自變量必須放在圓括號中間。圓括號之間可以用于定義參數。
3.函數的第一行語句可以選擇性地使用文檔字符串—用于存放函數說明。
4.函數內容以冒號起始,并且縮進。
5.return [表達式] 結束函數,選擇性地返回一個值給調用方。不帶表達式的return相當于返回 None。
語法
Python 定義函數使用 def 關鍵字,一般格式如下:
1
2
def 函數名(參數列表):
函數體
默認情況下,參數值和參數名稱是按函數聲明中定義的順序匹配起來的。
示例
讓我們使用函數來輸出"Hello World!":
1
2
def hello() :
print("Hello World!")
輸出結果
hello()
Hello World!
1、定義函數
函數是可重用的程序。本書中已經使用了許多內建函數,如len()函數和range()函數,但是還沒自定義過函數。定義函數的語法格式如下:
def 函數名(參數):
函數體
定義函數的規則如下:
①關鍵字def用來定義一個函數,它是define的縮寫。
②函數名是函數的唯一標識,函數名的命名規則遵循標識符的命名規則。
③函數名后面一定要緊跟著一個括號,括號內的參數是可選的,括號后面要有冒號。
④函數體(statement)為一個或一組Python語句,注意要有縮進。
⑤函數體的第一行可以有文檔字符串,用于描述函數的功能,用三引號括起來。
按照定義規則,可以定義第一個函數了:
def?hello_world():
...?????print('Hello,world!')???#?注意函數體要有縮進
...
hello_world()
Hello,world!
這個函數不帶任何參數,它的功能是打印出“Hello,world!”。最后一行代碼hello_world()是調用函數,即讓Python執行函數的代碼。
2、全局變量和局部變量
全局變量是定義在所有函數外的變量。例如,定義一個全局變量a,分別在函數test1()和test2()使用變量a:
a?=?100???#?全局變量
def?test1():
...?????print(a)
...
def?test2():
...?????print(a)
...
test1()
100
test2()
100
定義了全局變量a之后,在函數test1()和test2()內都可以使用變量a,由此可知,全局變量的作用范圍是全局。
局部變量是在函數內定義的變量,除了用關鍵字global修飾的變量以外。例如,在函數test1()內定義一個局部變量a,分別在函數外和另一個函數test2()內使用變量a:
def?test1():
...?????a?=?100???#?局部變量
...?????print(a)
...
def?test2():
...?????print(a)
...
test1()
100
print(a)
Traceback?(most?recent?call?last):
File?"stdin",?line?1,?in?module
NameError:?name?'a'?is?not?defined
test2()
Traceback?(most?recent?call?last):
File?"stdin",?line?1,?in?module
File?"stdin",?line?2,?in?test2
NameError:?name?'a'?is?not?defined
Python解釋器提示出錯了。由于局部變量a定義在函數test1()內,因此,在函數test1()內可以使用變量a,但是在函數外或者另一個函數test2()內使用變量a,都會報錯,由此可見,局部變量的作用范圍是定義它的函數內部。
一般情況下,在函數內聲明的變量都是局部變量,但是采用關鍵字global修飾的變量卻是全局變量:
def?test1():
...?????global?a???#?全局變量
...?????a?=?100
...?????print(a)
...
def?test2():
...?????print(a)
...
test1()
100
print(a)
100
test2()
100
這個程序與上個程序相比,只是在函數test1()中多了一行代碼“global a”,程序便可以正確運行了。在函數test1()中,采用關鍵字global修飾了變量a之后,變量a就變成了全局變量,不僅可以在該函數內使用,還可以在函數外或者其他函數內使用。
如果在某個函數內局部變量與全局變量同名,那么在該函數中局部變量會覆蓋全局變量:
a?=?100???#?全局變量
def?test1():
...?????a?=?200???#?同名局部變量
...?????print(a)
...
def?test2():
...?????print(a)
...
test1()
200
test2()
100
由于在函數test1()中定義了一個與全局變量同名的局部變量a,因此,在函數test1()中全局變量a的值被局部變量覆蓋了,但是在函數test2()中全局變量a的值沒有被覆蓋。
綜上所述,在Python中,全局變量保存的數據供整個腳本文件使用;而局部變量只用于臨時保存數據,變量僅供局部代碼塊使用。
這里來給大家演示一下,函數的定義或構造,并調用函數來實現封裝后的效果。
首先我們來看看想實現下面的這個效果,如果不使用函數應該怎么實現。
以上兩種返回結果都是1-9這幾個數字。
以上兩種方法,第一種代碼重復率太高,代碼美觀效果太差,雖然能實現效果,但是因為數量比較少,還能手工打出來這幾行代碼,如果是打印1-100000就很難實現了。這時候for循環還是可以實現的,但是for循環只能實現類似的數字和變量循環,無法進行復雜的功能開發。鑒于此,函數這個概念就被python引入了,下面先來看看函數是怎么實現上面的效果的,還是兩種方法。
這時候如果想實現上面的打印結果就直接使用函數名+小括號調用函數就可以了,這種類型的語法,不僅可以反復使用,而且封裝后的代碼更美觀。
文章題目:函數定義python 函數定義域的求法
本文網址:http://www.yijiale78.com/article40/dooedho.html
成都網站建設公司_創新互聯,為您提供軟件開發、面包屑導航、動態網站、網站導航、用戶體驗、定制網站
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯