python中的函式

2021-09-19 09:45:32 字數 2975 閱讀 9779

定義:

def hello():

print('你好')

#呼叫函式

hello()

其中hello為函式名,可以在主程式中直接呼叫.

需要注意: 函式必須是先定義再使用

return是可選的,若沒有,則函式返回空.

函式中一旦執行到return,則函式執行結束

定義乙個求平方值的函式

#定義函式

def pfh(x,y):

print(f'和的平方和為')

return x**2 + y**2

#呼叫a = pfh(3,4)

#a的值為25

固定的引數

1.引數沒有預設值

def mysum(x,y):

return int(x) + int(y)

傳入的變數與定義的引數必須是一一對應,否則會報錯.

2.引數存在預設值

def mysum_1(x = 0,y = 0):

return int(x) + int(y)

在執行這個函式時,不帶引數不會報錯.

帶不定個數的引數 *args

def ex(*args):

print(args)

ex(1)

ex(1,2)

ex(1,2,3)

結果為(1,)(1,2)(1,2,3)

傳入的值在函式中以元組存放

依據此特性,可以傳入不定個數的引數.

def musum_2(args*):

return sum([int(i) for i in args])

組合式寫法
def mysum_3(x,*args):

return x + sum([int(i) for i in args])

這表示該函式至少傳入乙個引數,固定的引數必須寫在前面

關鍵字引數 **kw

關鍵字引數的寫法類似於 a = 1,b =2

def ex_1(x,*args,**kw):

print(x,args,kw)

ex_1(1,2,a = 1)

ex_1(1,2,3,4,a = 1,b = 2)

執行結束可得

1,(2,),

1,(2,3,4),

命名關鍵字

*之後的為可選引數,不能傳入* 後沒有的引數,如示例中,若再傳入xx=1,則程式報錯.

def ex_2(x,*,id,yw = 60,sx = 60):

print(x,id,yw,sx)

ex_2 (1,id = '12001')

ex_2 (1,id = '12001',yw = 66)

ex_2 (1,id = '12001',yw = 66,sx = 77)

>>>

1 12001 60 60

1 12001 66 60

1 12001 66 77

def change(x,y,z):

x = 777

y = 'asdf'

z = (4,5)

print('函式內:',x,y,z)

a = 666

b = 'abc'

c = (1,2)

change(a,b,c)

print('函式外:',a,b,c)

執行結果為:

函式內: 777 asdf (4, 5)

函式外: 666 abc (1, 2)

結論: 在不做全域性變數時,數值,字串,元組的值不能被函式改變.

a = [1,2]

b =

c =

def change2(x,y,z):

y['12001'] = [88,99]

z.add(8)

print('函式內:',x,y,z)

change2(a,b,c)

print('函式外:',a,b,c)

函式內: [1, 2, 3]

函式外: [1, 2, 3]

故可得,在函式內改變列表,字典,集合,可直接作用於函式外.

先寫乙個小例子:

ga = 1

gb = 'a'

gc =[1,2,3]

def test1():

print(ga,gb)

print(gc)

test1()

print(gc)

def test2():

ga = 2

gb = 'b'

print(ga,gb)

gc =(1,2)

print(gc)

test()

print(ga,gb)

print(gc)

1 a

[1, 2, 3, 4]

[1, 2, 3, 4]

2 b(1, 2)

1 a[1, 2, 3, 4]

凡是在函式外定義的變數都是全域性變數,可以直接在函式內呼叫.

凡是在函式內定義的變數叫區域性變數,只在函式內有效.

注意若同時定義了區域性變數和全域性變數,區域性變數優先順序高.

def test3():

global ga

ga = 999

test3()

print(ga)

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...

Python中的函式

你可以定義乙個由自己想要功能的函式,以下是簡單的規則 任何傳入引數和自變數必須放在圓括號中間。圓括號之間可以用於定義引數。函式的第一行語句可以選擇性地使用文件字串 用於存放函式說明。函式內容以冒號起始,並且縮排。return expression 結束函 數,選擇性地返回乙個值給呼叫方。不帶表示式的...