Python系列6 函式

2021-10-07 07:08:30 字數 1732 閱讀 4070

函式從某種角度來講也是一種控制流程,這種控制流程的特點在於函式更加的靈活。

//函式定義語法

//def 函式名 (形參) : 函式體

def my_abs(x):

if x >= 0:

return x

else:

return -x

def myprint():

print("今天你吃飯沒")

myprint()

今天你吃飯沒

定義函式時,需要確定函式名和引數的個數。也可以不傳入引數。

函式體內部可以用return隨時返回結果,函式執行完畢也沒有return語句時,自動return none。

函式可以同時返回多個值,但其實就是將多個返回值打包成為了乙個tuple。

函式呼叫有那種方式,直接呼叫和間接呼叫。

>>> n = abs    //直接呼叫

>>> n(-2)

2>>> abs(-2) //間接呼叫

2

//命名關鍵字引數,作用限制關鍵字引數的名字。使用*進行分隔

def person(name, age, *, city, job):

print(name, age, city, job)

>>> person('jack', 24, city='beijing', job='engineer')

jack 24 beijing engineer

//如果函式定義中已經有了乙個可變引數,後面跟著的命名關鍵字引數就不再需要乙個特殊分隔符*了:

def person(name, age, *args, city, job):

print(name, age, args, city, job)

函式引數具有多種型別(從函式形參來看):位置引數、預設引數、可變引數、關鍵字引數、命名關鍵字引數、引數組合

//其中x便是位置引數,占有函式實參的位置

def power(x):

return x * x

//預設引數

def power(x, n=2):

s = 1

while n > 0:

n = n - 1

s = s * x

return s

//n=2,便為預設引數,預設引數可以簡化函式的呼叫

//.......python在進行定義時,預設引數的值已經被計算出來了,如果預設引數中的值被改變,下次呼叫時函式值已發生改變

//可變引數,傳入的引數是可變的

def fun(n, *args): #將多餘的資料打包成陣列

print(n)

print(args) # 未拆包

print(*args) # 進行拆包

fun(1,2,3,4)

輸出:1

(2, 3, 4)

2 3 4

//關鍵字引數 **kwargs,用於接收形參的命名引數

def fun(**kwargs): #打包

print(kwargs) #未拆包

print(*kwargs) # 進行拆包

fun(a=1, b=2)

輸出:a b

ES6系列二 函式

一 箭頭函式,就是函式的簡寫。如果只有乙個引數,可以省 如果只有乙個return,可以省 普通函式 function name 箭頭函式,去掉 function,加上 let show1 function let show2 show1 show2 let show4 function a let ...

python系列七 python函式

函式是帶名字的 塊,用於定義具體的工作 需要在程式中多次執行同一項任務時,你無須反覆編寫完成該任務的 而只需定義乙個執行該任務的函式,反覆呼叫 通過使用函式,程式的編寫,閱讀,測試和修復都將更容易 定義乙個簡單函式 def print user print hello!print user 說明 函...

python系列 2 函式

def hello name print hello name hello alice hello bob import random def getanswer answernumber if answernumber 1 return it is a certain elif answernum...