首頁 > 軟體

一文搞懂Python中函數的定義與使用

2022-06-30 18:01:33

函數的定義和呼叫

函數的定義:def作為函數定義的關鍵字,為了告訴python這是一個函數。

無參函數

def s():
    print("你好呀,祝你天天開心!")
s()

輸出:

你好呀,祝你天天開心!

有參函數

函數呼叫時,將實參傳遞給形參

舉例:

def person(name,age,add)://函數的定義
    print("名字是%s,%s的年齡是%d,%s的家庭住址是%s"%(name,name,age,name,add))
person(input("請輸入你的名字"),int(input("請輸入你的年齡")),input("請輸入你的家庭住址"))
#函數的呼叫,形參實參的個數和型別必須保持一致

輸出:

請輸入你的名字易烊千璽
請輸入你的年齡22
請輸入你的家庭住址湖南懷化
名字是易烊千璽,易烊千璽的年齡是22,易烊千璽的家庭住址是湖南懷化

1:通過位置傳遞引數:僅通過位置關係將實參對應的形參聯絡起來,位置實參的順序很重要

def person(name,age):
    print("%s的年齡是%s"%(name,age))
person(12,"Jason")//12對應name,age對應jason
person("Jason",12)

輸出:

12的年齡是Jason
Jason的年齡是12

2:通過關鍵字傳遞引數:通過關鍵字將實參對應的形參聯絡起來,順序不重要,因為python知道那個實參該賦給那個形參

舉例:

def person(name,age):
    print("%s的年齡是%s"%(name,age))
person(age=12,name="Jason")
person(name="Jason",age=12)

輸出:

Jason的年齡是12
Jason的年齡是12

帶有返回值的函數

將函數的值返回給呼叫函數

舉例:

def add(number1,number2):
    return number1+number2
print(add(12,23))
a=add(19,2)
print(a)

輸出:

35
21

將函數返回值作為實參進行呼叫:

def add(number1):
    return number1+10
print(add(12))
a=add(19)
print(add(a))

輸出:

22
39

預設值:給形參設定預設值,對應的實參可以不傳遞值,如果實參也有值,則對應的預設值會被覆蓋。

def add(number1,number2=9):
    return number1+number2
print(add(12))
a=add(19)
print(a)

輸出:

21
28

函數與迴圈結合

與while迴圈結合

def getSum(x):
//函數體
    sum = 0
    i = 1
    while i < x:
        sum += i
        i += 1
    return sum//將sun返回給呼叫函數
print(getSum(10))
print(getSum(100))

輸出:

45
4950

與for迴圈結合

def getSum(x):
    i=1
    add=1
    for i in range(1,x):
       add*=i
    return add
print(getSum(10))

輸出:

362880

函數的分類

內建函數和自定義函數

內建函數

python中已經規定好用來實現某些特定功能的函數

舉例:

print(bool(2))//bool()函數用來檢視資料的布林值,非0返回True,0或返回False
print(abs(-10))//abs()函數用來取資料的絕對值
print(type(12))//type()函數用來檢視變數的型別

輸出:

True
10
<class 'int'>

自定義函數

通過編寫函數體去實現自主想實現的功能。

舉例:

def add(number1,number2,nmuber3):
    print(number1+number2+nmuber3)//列印三數之和
    print(number1 * number2 * nmuber3)//列印三數之積
    print(number1-number2-nmuber3)//列印數之差
add(10,2,7)

輸出:

19
140
1

函數的巢狀呼叫

自定義函數與三目運運算元結合:

def add(x,y):
    return x+y if x>y else x-y //三目運運算元:如果x>y,則返回值為x+y,否則為x-y
print(add(1,3))
print(add(19,2))

輸出:

-2
21

自定義函數的巢狀使用:

def add(a,b,c,d):
    max1=max(a,b)
    max2=max(max1,c)
    max3=max(max2,d)
    return max3
max_s=add(23,4,15,6)
print(max_s)

輸出:

23

函數的巢狀定義

注意函數的定義語句和呼叫語句縮排必須保持一致。

def f1():
    print('你好!')
    def f2():
        print('希望你每天開心')
        def f3():
            print('好好學習,天天向上!')
        f3()
    f2()
f1()

輸出:

你好!
希望你每天開心
好好學習,天天向上!

到此這篇關於一文搞懂Python中函數的定義與使用的文章就介紹到這了,更多相關Python 函數內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com