Python零基礎入門 基礎(七) 函式

2021-09-24 14:17:08 字數 2143 閱讀 1252

函式是指將一組語句的集合通過乙個名字(函式名)封裝起來,要想執行這個函式,只需呼叫其函式名即可。特性:

減少重複**

使程式變的可擴充套件

使程式變得易維護

def calc(x,y):#函式名

res = x**y

return res #返回函式執行結果

c = calc(a,b) #呼叫函式,結果賦值給c變數

print(c)

形參變數只有在被呼叫時才分配記憶體單元,在呼叫結束時,即刻釋放所分配的記憶體單元。因此,形參只在函式內部有效。函式呼叫結束返回主呼叫函式後則不能再使用該形參變數。

實參可以是常量、變數、表示式、函式等,無論實參是何種型別的量,在進行函式呼叫時,它們都必須有確定的值,以便把這些值傳送給形參。因此應預先用賦值,輸入等辦法使引數獲得確定值。

def stu_register(name,age,country,course):#形參

print("----註冊學生資訊------")

print("姓名:",name)

print("age:",age)

print("國籍:",country)

print("課程:",course)

stu_register("王山炮",22,"cn","python_devops")#實參

stu_register("張**",21,"cn","linux")

stu_register("劉老根",25,"cn","linux")

發現 country 這個引數 基本都 是"cn", 就像我們在**上註冊使用者,像國籍這種資訊,你不填寫,預設就會是 中國, 這就是通過預設引數實現的,把country變成預設引數非常簡單

defstu_register(name,age,course,country="cn"):

這樣,這個引數在呼叫時不指定,那預設就是cn,指定了的話,就用你指定的值。

關鍵引數指定引數名的引數,關鍵引數必須放在位置引數之後。

非固定引數若你的函式在定義時不確定使用者想傳入多少個引數,就可以使用非固定引數

def stu_register(name,age,*args): # *args 會把多傳入的引數變成乙個元組形式

print(name,age,args)

stu_register("alex",22)

#輸出#alex 22 () #後面這個()就是args,只是因為沒傳值,所以為空

stu_register("jack",32,"cn","python")

#輸出# jack 32 ('cn', 'python')

還可以有乙個**kwargs

def stu_register(name,age,*args,**kwargs): # *kwargs 會把多傳入的引數變成乙個dict形式

print(name,age,args,kwargs)

stu_register("alex",22)

#輸出#alex 22 () {}#後面這個{}就是kwargs,只是因為沒傳值,所以為空

stu_register("jack",32,"cn","python",***="male",province="shandong")

#輸出# jack 32 ('cn', 'python')

在子程式中定義的變數稱為區域性變數,在程式的一開始定義的變數稱為全域性變數。全域性變數作用域是整個程式,區域性變數作用域是定義該變數的子程式。當全域性變數與區域性變數同名時:在定義區域性變數的子程式內,區域性變數起作用;在其它地方全域性變數起作用。

要想獲取函式的執行結果,就可以用return語句把結果返回

注意:函式在執行過程中只要遇到return語句,就會停止執行並返回結果,so 也可以理解為 return 語句代表著函式的結束

如果未在函式中指定return,那這個函式的返回值為none 

匿名函式就是不需要顯式的指定函式。

res = map(lambda x:x**2,[1,5,7,4,8])

for i in res:

print(i)

Python零基礎入門

python零基礎入門 第一周前言 最近在簡單學習python,在之前的學習中也只對c語言有了乙個粗略的了解,可以說在程式設計方面沒有什麼基礎,當然這也是我第一次寫部落格,希望自己越學越好,希望自己加油 在這一周中,還是學習到了不少的東西,也希望把自己學到的東西寫下來,來加強對python的學習,若...

Python入門零基礎

開始認識 不要害怕面對一串密密麻麻的英文本元。如果你將它們獨自分開,你會發現它們就像英文單詞,都有固定的作用。不要被第一眼的陌生感所產生的恐懼給蒙蔽。而要將 看成 變數 可以用來儲存字面量,變數本身沒有任何意思 如 a hello world abc 1,dfg 2,c abc dfg。其中a ab...

零基礎如何入門Python

如果你是零基礎,注意是零基礎,想入門程式設計的話,我推薦你學python。雖然國內基本上是以c語言作為入門教學,但在麻省理工等國外大學都是以python作為程式設計入門教學的。那麼如何學習python呢?第一步 先把刀磨好 注 倘若你是土豪,用的是蘋果本,恭喜你,蘋果已經內建了python,不用再安...