python的函數定義 python的函數定義和調用方法有哪些特點

python里函數的定義

定義:

專注于為中小企業提供網站制作、成都網站設計服務,電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業湖口免費做網站提供優質的服務。我們立足成都,凝聚了一批互聯網行業人才,有力地推動了1000+企業的穩健成長,幫助中小企業通過網站建設實現規模擴充和轉變。

def 函數名(形參1,形參2='初始定義的內容'):

函數中執行的內容

調用:

函數名(實參1)或函數名(形參2=實參2,形參1=實參1)或函數名(實參1,實參2)

python所有內置函數的定義詳解

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中,全局變量保存的數據供整個腳本文件使用;而局部變量只用于臨時保存數據,變量僅供局部代碼塊使用。

Python函數和模塊的定義與使用,包括變量的類型及匿名函數用法

函數是組織好,可重復使用的,用來實現相關功能的代碼段

函數提高了代碼的重復利用率和應用的模塊性。

除Python自帶的函數之外,也可以自己創建函數,叫做自定義函數

語法:

函數代碼塊以 def 開頭

參數為 輸入值 ,放于函數名后口號里面,

函數內容以冒號:開始,函數體縮進, return 返回 輸出值

函數調用使用關鍵字參數來確定傳入的參數值,此時,如果多個函數則不需要按照指定順序。

在定義函數時,指定參數默認值。調用時如果不傳入參數,則使用默認值

不定長部分如果沒有指定參數,傳入是一個空元組

加了 兩個星號 ** 的參數會以字典的形式導入

/ 用來指明函數形參必須使用指定位置參數,不能使用關鍵字參數的形式。

3.8版本之后的才能使用

不使用 def 定義函數,沒有函數名

lamdba主體時一個表達式,而不是代碼塊,函數體比def簡單很多

定義在函數內部的為局部變量,僅能在函數內部使用

定義在函數外部的為全局變量,可在全局使用

模塊是將包含所有定義的函數和變量的文件,一般將同類功能的函數組和在一起稱為模塊。

模塊需要導入后,在調用相應函數進行使用

模塊導入的方法:

從模塊中導入一個指定的部分

把一個模塊的所有內容全都導入

當前名稱:python的函數定義 python的函數定義和調用方法有哪些特點
文章位置:http://m.kartarina.com/article32/dogiopc.html

成都網站建設公司_創新互聯,為您提供網站導航網站改版響應式網站做網站電子商務網站策劃

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

成都app開發公司
主站蜘蛛池模板: 亚洲精品无码你懂的| 97久久精品无码一区二区| 久久午夜夜伦鲁鲁片免费无码| 亚洲精品无码高潮喷水在线| 在线无码午夜福利高潮视频| 久久亚洲精品无码| 精品无码一区二区三区在线| 中文一国产一无码一日韩| 日韩毛片免费无码无毒视频观看| 久久精品中文字幕无码绿巨人 | 无码任你躁久久久久久久| 精品欧洲av无码一区二区| 五月婷婷无码观看| 无码专区人妻系列日韩精品少妇| 成在人线av无码免费高潮水| 无码精品人妻一区二区三区免费| 日韩人妻无码精品久久免费一 | 亚洲av无码乱码国产精品| 精品无码中文视频在线观看| 亚欧免费无码aⅴ在线观看| 国产激情无码一区二区三区| AV无码小缝喷白浆在线观看| 东京热一精品无码AV| 西西午夜无码大胆啪啪国模 | 人妻无码一区二区不卡无码av| 国产成人无码精品一区不卡| 日韩乱码人妻无码中文视频| 亚洲一本到无码av中文字幕| 亚洲中文字幕无码av在线| 国产精品无码专区| 亚洲AV无码一区东京热久久| 亚洲欧洲美洲无码精品VA| 成年无码av片完整版| 18禁超污无遮挡无码免费网站| 亚洲va中文字幕无码| 日日麻批免费40分钟无码| 亚洲AV无码专区亚洲AV伊甸园 | 亚洲国产成人无码av在线播放| 亚洲AV无码久久寂寞少妇| 国产AV一区二区三区无码野战| 亚洲av无码乱码国产精品|