Python函式筆記 1

2021-10-10 05:23:55 字數 3168 閱讀 1018

1.函式的定義:乙個被封裝的具有特定功能的**段。【關鍵字def】

2.函式的特定點:①可以重複使用(復用性);②保持**的一致性;③方便修改。

3.函式名:給封裝好的**段(函式)起個別名。

4.引數分為兩種:形參和實參。

①形參:本質上是乙個區域性變數,由於接受函式外部的資料。它是定義函式時定義的;

②實參:在函式呼叫執行時,傳遞的資料。

5.返回值:將函式中的區域性變數傳遞到函式外部。【return為關鍵字】

注:return語句一旦執行函式就會終止。在沒有return語句的前提下,預設的返回值為none。

eg:

def

functionname

( parameters )

:"函式_文件字串"

function_suite

return

[expression]

6.變數的作用域:(起作用的範圍)就是定義在變數可以使用的**範圍。

7.全域性變數:(整個程式都可以呼叫的)在整個函式中都可以被呼叫的變數,一般直接定義在函式的外部,或者用global關鍵字在函式內部定義。(是可以被所有的函式訪問的,除非被刪掉否則一直存活到指令碼執行結束。)

8.區域性變數:函式內部定義的變數包括形參。只能在函式內部呼叫。

注:在函式中使用全域性變數時,可以呼叫全域性變數的值,不能直接修改全域性變數的值(值如果是可變型別,值可以改變)。

(7,8)eg:

total =

0# 這是乙個全域性變數

# 可寫函式說明

defsum

( arg1, arg2 )

:#返回2個引數的和."

total = arg1 + arg2 # total在這裡是區域性變數.

print

"函式內是區域性變數 : "

, total

return total

#呼叫sum函式

sum(10,

20)print

"函式外是全域性變數 : "

, total

#結果函式內是區域性變數 :

30函式外是全域性變數 :

0

9.引數型別:

①位置引數:實參的賦值時和形參定義的順序一致。

eg:

def

test1

(x,y,z)

print

(x,y,z)

test2(1,

2,3)

#結果為1,2,3

②命名引數:可以不按照順序賦值。

eg:

test1(z=

1,x=

2,y=

3)

③預設值引數:定義形參時,給形參預設值,預設值引數寫在引數列表的最右側。

eg:

#可寫函式說明

defprintinfo

( name, age =35)

:"列印任何傳入的字串"

print

"name: "

, name

print

"age "

, age

return

#呼叫printinfo函式

printinfo( age=

50, name=

"miki"

)printinfo( name=

"miki"

)#結果

name: miki

age 50

name: miki

age 35

④可變長度引數:在普通引數前加*,可將任意長度的東西存在元組中。

eg:

# 可寫函式說明

defprintinfo

( arg1,

*vartuple )

:"列印任何傳入的引數"

print

"輸出: "

print arg1

for var in vartuple:

print var

return

# 呼叫printinfo 函式

printinfo(10)

printinfo(70,

60,50)

#結果輸出:

10輸出:

7060

50

⑤可變長度的命名引數:在普通形參前加**,例如(**kwargs)。

eg:

def

login

(**kwargs)

:print

(kwargs)

login (username =

"root"

,password=

"123456"

,port =

3306

, charset"utf-8"

,host =

"localhost"

)def

login

(**kwargs)

:for i in kwargs:

print

(i,"->"

,kwargs[i]

) data =

login(

**data)

10.匿名函式

python 使用 lambda 來建立匿名函式:

①lambda只是乙個表示式,函式體比def簡單很多。

②lambda的主體是乙個表示式,而不是乙個**塊。僅僅能在lambda表示式中封裝有限的邏輯進去。

③lambda函式擁有自己的命名空間,且不能訪問自有引數列表之外或全域性命名空間裡的引數。

eg: lambda語法:【lambda [arg1 [,arg2,…argn]]:expression】

# 可寫函式說明

sum=

lambda arg1, arg2: arg1 + arg2

# 呼叫sum函式

print

"相加後的值為 : "

,sum(10

,20)print

"相加後的值為 : "

,sum(20

,20)#以上例項輸出結果:

相加後的值為 :

30相加後的值為 :

40

——綜上全部內容

Python函式筆記

引數 必選引數 預設引數 可變引數 命名關鍵字引數和關鍵字引數 nums表示把nums這個list的所有元素作為可變引數傳進去。這種寫法相當有用,而且很常見 轉元組 轉字典 1必需引數 必選引數 須以正確的順序傳入函式。呼叫時的數量必須和宣告時的一樣 2預設引數 呼叫函式時,如果沒有傳遞引數,則會使...

python函式筆記

絕對值函式abs 比較函式cmp 定義函式 def 函式名 引數 函式體return 填寫返回值。例 def my abs x if x 0 return x elif return x檢查資料型別的函式isinstance,例 isinstance 1,int 會返回true 函式的引數 預設引數...

python實用函式筆記

dir obj 顯示物件的屬性,如果沒有提供引數,則顯示全域性變數的名字 help obj 以一種整齊美觀的形式,顯示物件的文件字串,如果沒有提供任何引數,則會進入互動式幫助 int obj 將乙個物件轉換為整形 len obj 返回對像的長度 open fn,mode 以mode r 讀,w 寫 ...