首頁  >  文章  >  後端開發  >  python基礎語法詳解之函數

python基礎語法詳解之函數

WBOY
WBOY轉載
2022-04-24 13:04:572728瀏覽

本篇文章為大家帶來了關於python的相關知識,其中主要介紹了關於函數的相關問題,包括了函數呼叫、定義函數、函數參數、函數傳回值以及變數作用域等等內容,下面一起來看一下,希望對大家有幫助。

python基礎語法詳解之函數

推薦學習:python影片教學

什麼是函數? ?

函數是組織好的,可重複使用的,用來實現單一,或相關聯功能的程式碼段。函數能提高應用的模組性,和程式碼的重複使用率。你已經知道Python提供了許多內建函數,像是print()。但你也可以自己建立函數,這被叫做使用者自訂函數。
簡而言之,函數在我們日常就用的很多了,但大多數都是官方定義好的函數,我們直接呼叫就可以例如input(),print()等,只不過它如何定義的我們也就不關心了。要是我們的程式碼中需要大量重複使用一串複雜的程式碼區塊,那麼我們就可以定義一個函數來表示這段程式碼區塊,需要用到時直接呼叫即可! !

1.函數呼叫

函數由三個部分組成:函數名,參數以及傳回值。
函數名稱就是函數的識別符。
函數的參數就是在呼叫函數時提供一個資料給函數。

name = input("请输入你的姓名:")list  = len(name)print(list)

python基礎語法詳解之函數
在這裡,input,len,print是函數名,函數括號內的為參數,等號左邊的為回傳值。
呼叫函數:一般為函數名稱加小括號。小括號內可填入參數,為函數提供資料。當然有些函數不需要參數(list.clear()),有些函式必須要傳遞參數(list.append())。

2.定義函數

需用def(define)關鍵字定義函數,需以冒號結束。
函數必須先定義在呼叫

def name():
    print('苏凉')def QQ_num():
    print('787991021')def Total():
    name()
    QQ_num()
    Total()

python基礎語法詳解之函數

# 定義函數:
函數頭:關鍵字def 自訂函數名加小括號,最後以冒號結尾。 def name(),def QQ_num(),def Total()
函數本體:需要函數實作的函數。即函數體前必須縮排4個字元。一個tab鍵。
注意:函數的執行是從上到下的,也就是必須先定義函數在呼叫。

3.函數參數

函數的參數可以讓我們定義的函數更靈活。
注意:定義函數時若傳入了參數,那麼在呼叫時也必須指定參數。

傳參時可傳入一個參數,也可傳入多個參數。

# 传入一个参数def list(len):
    print('+' * len)list(5)# 传多个参数def list2(num1 , num2):
    print(num2 * num1)list2('*',15)list2(5,10)

呼叫函數時給定實際的值(實參),這樣就會給定義的參數(形參)進行賦值。

python基礎語法詳解之函數
注意:在傳入多個參數時,需注意參數的數量以及順序是否正確,順序不同函數的意義也不同。

4.函數傳回值

函數可以回傳單一值也可以傳回多個值,用return來傳回值。
注意:當函數執行到return時則函數執行結束。即不會再執行return後的函數體。

def num(age,sex):
    if age200:
        return
    else:
        return age,sex

x = int(input('输入年龄:'))Sex = input('输入性别:')num ,sex  = num(x,Sex)print(num,sex)

函數傳回多少個值就要用多少個值去接收,否則就會報錯。此時分別傳回單一值。

python基礎語法詳解之函數

一種特殊情況為用一個變數接受,此時傳回的值為一個元組型別!

result = num(x,Sex)print(result)

python基礎語法詳解之函數
總結:函數可以傳回單一值也可以傳回多個值,當傳回多個值時,需要以對應多個變數接收函數傳回的值,若只用一個值接收,則傳回一個元組類型的值。

5.变量作用域

变量的作用域:即是指在那个地方可以使用变量。这就涉及到了全局和局部两种变量。
全局(global)变量:在函数外定义的变量。无论在函数体内或者函数体外都可以使用! ?全局变量在函数体内只能使用而不能直接修改!!
局部(local)变量:在函数内定义的变量,在函数内定义的变量,只能在函数体内使用和修改,在函数外调用就无效了。 在函数内可以定义一个名字和函数外一样的变量,但他们的意义时不一样的!!


a = 15 #这里a为全局变量def num():
    a = 5 #这里a为局部变量,名字可以相同但代表不同的值
    print(a)num()print(a)

结果:
python基礎語法詳解之函數

这里可以看到局部变量是不能修改全局变量的值的。


a = 15 #这里a为全局变量def num():
    # 在函数体内可以使用全局变量
    print(a)
    num() #结果15print(a) #结果15

在函数体内是可以使用全局变量的


a = 15 #这里a为全局变量def num():
    global a  #定义全局变量
    a = 5
    print(a)num() #结果5print(a) #结果5

若想要在函数体内修改全局变量,则需在修改之前,定义全局变量,此时函数体内的变量a为全局变量,不再是函数体内定义的局部变量了。

推荐学习:python视频教程

以上是python基礎語法詳解之函數的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:csdn.net。如有侵權,請聯絡admin@php.cn刪除