從今天開始, 小白我將帶領大家學習一下 Python 零基礎入門的內容. 本專欄會以講解 + 練習的模式, 帶領大家熟悉 Python 的語法, 應用, 以及代碼的基礎邏輯.
函數 (Function) 是一段可以幫助我們實現我們想要功能的代碼段. 函數可以重復使用, 我們也可以自定義函數.
格式:
def 函數名(參數1, 參數2, 參數3...):
函數主體
例子:
# 定義無參函數
def func():
print("祖國你好")
# 調用函數
func()
輸出結果:
祖國你好
例子:
# 定義函數
def num_compare(num1, num2):
# 條件判斷, 比較數字大小
if num1 > num2:
print("第一個數字大")
elif num1 == num2:
print("兩個數字相同")
else:
print("第二個數字大")
# 調用函數
num_compare(1, 2)
輸出結果:
第二個數字大
更優的寫法:
# 定義函數
def num_compare(num1, num2):
# 判斷傳入的參數是否為數字
if str(num1).isdigit() == False or str(num2).isdigit() == False:
print("參數必須為數字")
return # 跳出函數
# 條件判斷, 比較數字大小
if num1 > num2:
print("第一個數字大")
elif num1 == num2:
print("兩個數字相同")
else:
print("第二個數字大")
# 調用函數
num_compare("a", 2)
num_compare("c", "d")
num_compare(1, 2)
輸出結果:
參數必須為數字
參數必須為數字
第二個數字大
我們將傳入的參數轉換為字符串 (String), 然後通過函數isdigit()
判斷是否為數字, 避免了可能會發生的錯誤.
參數 (Parameter)
Python 中的參數有兩大類:
形參 (形式參數), 是在函數定義, 的時候命名的參數.
例子:
# 定義函數
def sum(num1, num2): # num1, num2為形式參數
# 返回求和
return num1 + num2
# 獲取結果
total = sum(2, 3) # 2, 3為實際參數
print(total)
輸出結果:
5
實參 (實際參數) 是在實際執行是, 傳遞給函數的參數. 形參相當於實參的一個副本.
例子:
# 定義函數
def multi(num1, num2): # num1, num2為形式參數
# 返回乘積
return num1 *num2
# 獲取結果
total = multi(2, 3) # 2, 3為實際參數
print(total)
輸出結果:
6
局部變量 (Local Variable) 只能在變量所在的函數內使用. 當我們創建局部變量時, 內存中會臨時分配一塊空間, 當函數執行完該臨時空間就會被回收.
例子:
# 定義函數
def func():
# 局部變量
a = 10
b = 20
# 調試輸出
print("函數內")
print(a)
print(b)
# 調用函數
func()
# 在函數外調用變量 (報錯)
print("函數外")
print(a)
print(b)
輸出結果:
Traceback (most recent call last):
File "C:/Users/Windows/Desktop/講課/第五課 函數/第五課 局部變量.py", line 17, in <module>
print(a)
NameError: name 'a' is not defined
函數內
10
20
函數外
注意: 局部變量無法在函數外調用
例子:
# 在函數體外定義的變量為全局變量
a = 10
# 定義函數
def func():
# 使用global修飾符在函數內申明變量
global b
b = 10
# 調試輸出
print("函數內")
print(a)
print(b)
# 調用函數
func()
# 輸出結果
print("函數外")
print(a)
print(b)
輸出結果:
函數內
10
10
函數外
10
10