函式也是⼀個物件
函式⽤來儲存⼀些可執⾏的**,並且可以在需要時,對這些語句進⾏多次 調⽤
語法
def 函式名([形參1,形參2,形參3....]):
**塊
注意: 函式名必須符合識別符號的規範(可以包含字⺟、數字、下劃線但是不能以數字開 頭)
print是函式物件 print()是調⽤函式
# 定義乙個函式
# 函式中儲存的**不會立即執行,需要呼叫函式**才會執行
def fn():
print('hahah')
print('heiheihei')
print('hello')
print(fn)
# print print()
# fn()
# fn()
# fn()
# fn()
# fn是函式物件 fn()呼叫函式
# 定義乙個函式 來求任意2個數的和
# 函式的引數
# 在定義函式的時候,可以在函式後面的()中定義數量不等的形參。多個形參之間使用,隔開
def s(a,b):
# a = none
# b = none
# print(a+b)
# print('a =',a)
# print('b =',b)
print(a,'+',b,'=',a+b)
s(10,20)
形參(形式引數) 定義形參就相當於在函式內部宣告了變數,但是並不是賦值 實參(實際引數)指定了形參,那麼在調⽤函式時必須傳遞實參,實參將會賦值 給對應的形參,簡單來說有⼏個形參就要有⼏個實參
def fn(a = 5,b =10,c=20):
print('a =',a)
print('b =',b)
print('c =',c)
def fn2(a):
print('a =',a)
a = 123
b = false
c = none
# b = 'python'
fn(a,b,c)
定義形參時,可以為形參指定預設值。指定了預設值以後,如果⽤戶傳遞了參 數則預設值不會⽣效。如果⽤戶沒有傳遞,則預設值就會⽣效
位置引數:位置引數就是將對應位置的實參賦值給對應位置的形參
關鍵字引數 : 關鍵字引數可以不按照形參定義的順序去傳遞,⽽根據引數名 進⾏傳遞
混合使⽤位置引數和關鍵字引數的時候必須將位置引數寫到關鍵字引數前⾯ 去
# 定義形參時,可以為形參指定預設值
# 指定了預設值以後,如果使用者傳遞了引數預設值不會生效
# 如果使用者沒有傳遞引數,預設值則生效
def fn(a = 5,b =10,c=20):
print('a =',a)
print('b =',b)
print('c =',c)
# fn(1,2)
# fn(1,2,3)
# fn(b=1,c=2,a=3)
# 位置引數和關鍵字引數可以混合使用
# fn(2,c=50)
# fn(c=60,1) # syntaxerror: positional argument follows keyword argument
## import requests
# ## # headers = {}
# ## response = requests.get(headers=headers,'******')
定義函式時,可以在形參前⾯加⼀個*,這樣這個形參可以獲取到所有的實 參,它會將所有的實參儲存到⼀個元組中
帶*號的形參只能有⼀個,可以和其他引數配合使⽤
*形參只能接受位置引數,不能接受關鍵字引數
**形參可以接收其他的關鍵字引數,它會將這些引數統⼀儲存到字典當中。字 典的key就是引數的名字,字典的value就是引數的值
**形參只有⼀個,並且必須寫在所有引數的後⾯
def s(*a):
# 定義乙個變數 儲存結果
result = 0
# 遍歷元組,將元組中的元素進行累加
for r in a:
result += r
print(result)
s(12,560)
#不定長引數
def fn(*a):
print('a =',a,type(a))
fn(1,2,3,4,5)
# 帶*號的引數只能有乙個 syntaxerror: invalid syntax
def fn2(a,b,*c):
print('a =', a)
print('b =', b)
print('c =', c)
fn2(1,2,3,4,5)
def fn2(a,*b,c):
print('a =', a)
print('b =', b)
print('c =', c)
fn2(1,2,3,4,c=5)
def fn2(*a,b,c):
print('a =', a)
print('b =', b)
print('c =', c)
fn2(1,2,3,b=4,c=5)
# 不定長引數不一定都要寫在後面,但是注意 帶*的引數後面的所有引數,必須以關鍵字形式來傳遞
# **的形參可以接收其他的關鍵字引數 它會將這些引數統一儲存到字典當中
# 字典的key就是引數的名字,字典的value就是引數的在值
# **形參只能有乙個,並且必須寫在所有引數後面
# *a 處理的是位置引數 **a 是處理的是關鍵字引數
# def fn3(**a):
# print('a =', a)
## fn3(b=2,d=1,c=3)
傳遞實參時,也可以在序列型別的引數前新增星號,這樣它會⾃動的將序列 中元素依次作為引數傳遞 要求序列中的元素的個數必須和形參的個數⼀致
def fn(a,b,c):
print('a =', a)
print('b =', b)
print('c =', c)
t=(20,30,40)
fn(*t)
# 傳遞實參時候,也可以在序列型別的引數前面新增*號,這樣它會自動的將序列三種的元素依次作為引數傳遞
# 建立乙個字典
# 可以通過**來對字典進行解包
d =
fn(**d)
# help()函式
# 通過help()函式來查詢python中函式的用法
# 自定義函式
def fn(a:bool,b:int,c:str)->int:
'''這個函式式乙個文件字串的例項
引數a:作用 型別 預設值......
b:作用 型別 預設值......
c:作用 型別 預設值......
'''return 100
help(fn)
Python課堂筆記 函式
def student name name 函式冒號起始,下面縮排代表以下都是該函式的內容 列印學生的名字 相當於函式的注釋,解釋函式的功能 print 姓名 name return 返回多個值。def student name and age name input 請輸入姓名 n age int ...
python 函式 課堂筆記 12 21
python 函式 函式是組織好的,可重複使用的,用來實現單一,或相關功能的 報 語法 def 函式名 引數列表 引數體return 可以返回多個值,返回的多個值組成乙個元組,返回值加上一對中括號,則返回乙個列表 函式分為定義和呼叫 可更改 mutable 與不可更改 immutable 物件 在p...
課堂筆記09 函式2
返回值就是函式執 以後返回的結果 通過return來指定函式的返回值 return後 可以跟任意物件,返回值甚 可以是 個函式 help 是python中內建函式,通過help 函式可以查詢python中函式的 法 在定義函式時,可以在函式內部編寫 檔字串,檔字串就是對函式的 說明 作 域 scop...