定義函式時,可以在形參前邊加乙個*,這樣這個形參可以獲取到所有的實參
帶*號的形參只能有乙個,屬於位置引數,可以和其他引數配合使用,傳遞為乙個元祖
def s(*a): #*a===>乙個(1,2,5)的元祖
# 定義乙個變數來儲存結果
r = 0
# 遍歷元祖,並將元祖中的數進行相加
for n in a:
r += n
print(r)
s(1,2,5)
帶**號的形參只有⼀個,屬於關鍵字引數,並且必須寫在所有引數的後⾯,傳遞為乙個字典
def fn3(b,c,**a): #**a是乙個字典
print('a =',a)
print('b =', b)
print('c =', c)
fn3(b=1,d=2,c=3,e=20,f=30)
引數的解包def fn4(a,b,c):
print('a =',a)
print('b =',b)
print('c =',c)
# t = (10,20,30)
# fn4(*t)
#或者d =
fn4(**d)
返回值就是函式執⾏以後返回的結果
return來指定函式的返回值
一旦執行return,函式就結束了 return可以跟任意的物件
def s(*a):
# 定義乙個變數來儲存結果
r = 0
# 遍歷元祖,並將元祖中的數進行相加
for n in a:
r += n
# print(r)
return r #這裡的r是返回值來儲存運算結果並返回
r = s(1,2,5) #這裡的r是物件來接收返回值
print(r + 3) #返回值可將函式當值來做運算
如果僅僅寫乙個return 或者沒有寫return 相當於 return none
def fn2():
# return
r = fn2()
print(r) #none
return一旦執行函式自動結束
def fn3():
print('python')
return
print('abc')
r = fn3()
print(r) #python和none 沒有abc
在函式中使用文件字串是可以給你自定義的函式起乙個說明的作用 此時可以配合help()函式使用,可以查詢其他函式的用法
def fn(a:int,b:str,c:bool)->int:
'''這個函式的功能就是乙個文件字串在函式中的使用說明
引數a,作用,型別,預設值...
b,作用,型別,預設值...
c,作用,型別,預設值...
返回值'''
return 1
help(fn)
全域性作用域
所有函式以外的區域都是全域性作⽤域
在全域性作用域中定義的變數,都是全域性變數,全域性變數可以在程式的任意位置進行訪問
a = 20 #全域性變數,處於全域性作用域
print('函式外部 a = ',a)
def fn3():
# 如果希望在函式內部修改全域性變數,則需要使用乙個關鍵字global,來宣告變數
global a
a = 100
print('函式內部 a =',a)
fn3()
print('函式外部!!!! a = ',a)
函式作用域(區域性)def fn2():
def fn3():
a = 40 #區域性變數,只作用於fn3()函式作用域內,函式外部是無法訪問的
print('fn3中 a =',a)
return fn3()
fn2() # fn3中 a = 40
命名空間就是乙個字典 是乙個專門用來儲存變數的
locals()來獲取當前作用域的命名空間 返回是乙個字典
如果在全域性作⽤域中調⽤locals()則獲取全域性命名空間,如果在函式作⽤域中調⽤locals()則獲取函式命名空間,如果在函式作⽤域中調⽤globals()則獲取全域性命名空間
a = 20
scope = locals()
print(scope)
print(a) #20
print(scope['a']) #20
def fn4():
a = 50
g = globals()
print(g) #返回的字典中不存在,因為a是區域性變數,不在全域性作用域中
fn4()
概述
遞迴是解決問題的⼀種⽅式,它的整體思想,是將⼀個⼤問題分解為⼀個個的⼩問題,直到問題⽆法分解時,再去解決問題
條件基線條件 問題可以被分解為最⼩問題,當滿⾜基線條件時,遞迴就不執⾏了
遞迴條件 可以將問題繼續分解的條件
遞迴簡單理解就是自己呼叫自己,遞迴式函式就是在函式中自己呼叫自己
def fn4(n,i):
# 引數 n 做冪運算的數字 i 做冪運算的次數
# 1.基線條件
if i == 1:
# 求1次冪
return n
# 2.遞迴條件 10 * 10 ** 3
return n * fn4(n,i-1) # 10 ** 3
print(5 ** 3) #125
print(fn4(5,3)) #125
python小白的學習筆記之函式
函式 在python中函式是以def為開頭的,後面跟上 括號裡面是引數 一般來說函式的第一行會使用 或者 來說明函式的用途,規格 用縮進來表示下面的 在函式體中 最後用return表示式來返回乙個值 第乙個例子 def printf str 用於列印文字的函式 print str 2 end str...
小白python學習筆記
1.cmd命令列下怎麼切換目錄 2.python對縮排有嚴格要求,要頂格寫,單引號 雙引號 可互換使用。3.如何在python中讓兩個print 函式輸出列印在同一行內 4.在windows下裝lightgbm包 具體是哪個教程能裝好,要自己嘗試了,費了很大功夫,最後也不知道是怎麼搞好的,反正不報錯...
Python學習筆記 Python之函式
1.函式引數函式定義的時候自己定義的引數,稱為形參 函式呼叫時候,其引數為實參,即實際要傳遞的引數 舉例 def pname username username 形參 print username pname python 傳遞了乙個實參 args是接受所有未命名的引數 關鍵字 是乙個元組型別 ag...