欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python函數(shù)的高級應(yīng)用詳解

 更新時間:2021年11月23日 10:52:19   作者:江湖2001  
這篇文章主要為大家介紹了python函數(shù)的高級應(yīng)用,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助

前言

函數(shù)是我們所熟知的,在python中函數(shù)的定義格式如下:

def 函數(shù)名(形式參數(shù)):

? 函數(shù)體

? 函數(shù)的封裝就是實現(xiàn)代碼塊的復(fù)用,python內(nèi)置了一些基礎(chǔ)的函數(shù),開發(fā)者也可以自己定義函數(shù),函數(shù)只能先定義,再進(jìn)行調(diào)用。

一、函數(shù)調(diào)用的步驟

1、程序遇到函數(shù)調(diào)用的情況時,暫停執(zhí)行

2、將實際參數(shù)值傳遞給函數(shù)參數(shù)

3、執(zhí)行函數(shù)體語句

4、返回值并繼續(xù)向下執(zhí)行

二、參數(shù)的打包和解包

打包

? 參數(shù)的打包指的是多個參數(shù)可以同時處理,也叫可變長度參數(shù), 可變長度參數(shù)在定義函數(shù)時主要有兩種形式*parameter和**parameter,前者用來接受任意多個參數(shù)并將其放在一個元組當(dāng)中,后者接收多個關(guān)鍵參數(shù)組成鍵值對并將其放在字典當(dāng)中。

打包為元組

def demo(*p):
  print(p)
demo(1,2,3,4,5,6)
#結(jié)果
(1,2,3,4,5,6)

打包為字典

def demo(**p):
  print(p)
demo(x=1,y=2,z=3)
#結(jié)果
{'x':1,'y':2,'z':3}

#參數(shù)的打包就是將形參設(shè)為*參數(shù)名形式,實參為多個參數(shù),這是后會將多個參數(shù)處理為元組或字典的可迭代對象,是把個體打包為整體。

解包

? 與參數(shù)的打包相對應(yīng),參數(shù)的解包同樣也有s和**s兩種形式,調(diào)用含有多個位置參數(shù)的函數(shù)時,可以使用列表,元組,集合等可迭代對象作為實參,在實參名前面加一個,Python會自動對其進(jìn)行解包,并把序列中的值分別傳遞給多個形參變量。

def demo(a,b,c,d):
  print(a+B*c/d)
list1=[1,2,3,4]
demo(*list1)
#結(jié)果
2.5

? 如果實參是一個字典,可以使用**參數(shù)名的形式對其進(jìn)行解包操作,會把字典轉(zhuǎn)換成為類似關(guān)鍵參數(shù)的形式進(jìn)行參數(shù)傳遞。對于這種形式的序列解包,要求實參字典中的所有鍵必須是函數(shù)形參的名稱,或者與函數(shù)中兩個型號的可變長度參數(shù)相對應(yīng)。

s={'a':1,'b':2,'c':3}
def demo(a,b,c=4)
  print(a,b,c)
demo(**s)
#結(jié)果
1 2 3

三、變量的作用域

變量的作用域就是變量能夠作用的空間

變量按照作用域劃分:全局變量,局部變量

全局變量:在函數(shù)體外定義的變量為全局變量

全局變量在函數(shù)內(nèi)外都能夠使用,但在函數(shù)內(nèi)不能直接修改全局變量, 如果在函數(shù)內(nèi)修改全局變量,必須添加 global 關(guān)鍵字(python不推薦在函數(shù)內(nèi)修改全局變量的值)

局部變量:在函數(shù)內(nèi)定義的變量為局部變量

局部變量是在函數(shù)內(nèi)定義的變量,在函數(shù)體外局部變量是無效的

在函數(shù)內(nèi)定義的局部變量和函數(shù)外定義的全局變量是兩個概念(變量同名)

a=1
def sum()
  a=3
#這里函數(shù)外的a和函數(shù)內(nèi)的a是兩個變量 

四、變量的文檔注釋和變量名

1、函數(shù)doc文檔

函數(shù)doc文檔是用于描述函數(shù)功能,是函數(shù)內(nèi)的特殊注釋

def sum(a,b):
  '''
  返回兩個數(shù)的和
  '''
  return a+b

2、函數(shù)名的獲取

__name__方法

>>> print(print.__name__)
print
>>>

3、函數(shù)doc文檔的獲取

__doc__方法

?總結(jié)

?

本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!

相關(guān)文章

最新評論