小白學習筆記之Python函式(二)

2021-10-24 09:57:54 字數 2925 閱讀 3065

定義函式時,可以在形參前邊加乙個*,這樣這個形參可以獲取到所有的實參

帶*號的形參只能有乙個,屬於位置引數,可以和其他引數配合使用,傳遞為乙個元祖

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