Python 中函式(function)的用法

2022-06-16 09:12:08 字數 3284 閱讀 5135

函式是組織好的,可重複使用的,用來實現單一,或相關聯功能的**段。

函式能提高應用的模組性,和**的重複利用率。python提供了許多內建函式,比如print()、input(),也可以自己建立函式,這被叫做使用者自定義函式。

一:定義函式

可以定義乙個由自己想要功能的函式,以下是簡單的規則:

任何傳入引數和自變數必須放在圓括號中間。圓括號之間可以用於定義引數。

函式的第一行語句可以選擇性地使用文件字串—用於存放函式說明。

函式內容以冒號起始,並且縮排。

return [表示式]結束函式,選擇性地返回乙個值給呼叫方。不帶表示式的return相當於返回 none。

語法:

def

functionname( parameters ):

"""comments"""

function_suite

return [expression]

例項:

def

func(parameter):

"""列印傳入的字元到顯示裝置上

"""print

(parameter)

return parameter

二:函式呼叫

定義乙個函式只給了函式乙個名稱,指定了函式裡包含的引數,和**塊結構。

這個函式的基本結構完成以後,可以通過另乙個函式呼叫執行,也可以直接從python提示符執行。

例項:

#

coding: utf-8

#team : quality management center

#author:carson

#date :2019/6/25 9:07

#tool :pycharm

#定義函式

deffunc(parameter):

"""列印傳入的字元到顯示裝置上

"""print

(parameter)

return

parameter

#呼叫函式

func('

五星紅旗迎風飄揚')

func(

'再次呼叫func()函式

')

以上例項輸出結果:

五星紅旗迎風飄揚

再次呼叫func()函式

三:引數傳遞

在 python 中,型別屬於物件,變數是沒有型別的:

a = [1,2,3]

a = '

china

'

以上**中,[1,2,3]是 list 型別,"runoob"是 string 型別,而變數 a 是沒有型別,她僅僅是乙個物件的引用(乙個指標),可以是 list 型別物件,也可以指向 string 型別物件。

在 python 中,strings, tuples, 和 numbers 是不可更改的物件,而 list,dict 等則是可以修改的物件。

以下是呼叫函式時可使用的正式引數型別:

必備引數須以正確的順序傳入函式。呼叫時的數量必須和宣告時的一樣。

呼叫函式時,你必須傳入乙個引數,不然會出現語法錯誤

定義乙個函式rt(a),呼叫函式時沒有傳入實參:

def

rt(a):

print

(a)rt()

報錯:

rt()

typeerror: rt() missing 1 required positional argument: '

a'

正確傳入必備引數:

def

rt(a):

print

(a)rt(123)

rt('

asggh

')

輸出:

123asggh

關鍵字引數和函式呼叫關係緊密,函式呼叫使用關鍵字引數來確定傳入的引數值。

使用關鍵字引數允許函式呼叫時引數的順序與宣告時不一致,因為 python 直譯器能夠用引數名匹配引數值。

#

可寫函式說明

defprintinfo(name, age):

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

"""print("

name:

", name)

print("

age

", age)

return

#呼叫printinfo函式

printinfo(age=50, name="

miki

")

輸出結果:

name:  miki

age 50

呼叫函式時,預設引數的值如果沒有傳入,則被認為是預設值。下例會列印預設的age,如果age沒有被傳入:

#

可寫函式說明

def printinfo(name, age = 28):

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

"""print("

name:

", name)

print("

age

", age)

return

#呼叫printinfo函式

printinfo(name='

carson')

printinfo(age=50, name="

miki

")

輸出結果:

name:  carson

age 28name: miki

age 50

你可能需要乙個函式能處理比當初宣告時更多的引數。這些引數叫做不定長引數,和上述2種引數不同,宣告時不會命名。

四:匿名函式

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

語法:lambda函式的語法只包含乙個語句,如下:

lambda [arg1 [,arg2,.....argn]]:expression

例項:

num = lambda x, y: x*y

print(num(3, 9))

print(num(7, 8))

輸出:

27

56

五:return語句

xLua C 訪問lua中的全域性function

這種是建議的方式,效能好很多,而且型別安全。缺點是要生成 如果沒生成 會拋invalidcastexception異常 delegate要怎樣宣告呢?對於function的每個引數就宣告乙個輸入型別的引數。多返回值要怎麼處理?從左往右對映到c 的輸出引數,輸出引數包括返回值,out引數,ref引數。...

python函式實驗 Python中的函式

一 定義 1 def函式名 引數 2 3 4 函式體5 6 返回值 函式的定義主要有如下要點 def 表示函式的關鍵字 函式名 函式的名稱,日後根據函式名呼叫函式,用引號標記即可 函式體 函式中進行一系列的邏輯計算,如 傳送郵件 計算出 11,22,38,888,2 中的最大數等.引數 為函式體提供...

python中的lo函式 Python 函式

函式 內建函式 print input len type print hello world 函式 引數 定義函式 def greet name print name 早上好 return 第一行def的意思是定義 define greet是 函式名 自己取的 再搭配乙個括號和冒號,括號裡面的nam...