Python中函數的作用
要寫出高質量的代碼首先要解決的就是重復代碼的問題,這可能也是大多數語言一種必不可少的操作。
定義函數
在Python中可以使用def關鍵字來定義函數,和變量一樣每個函數也有一個響亮的名字,而且命名規則跟變量的命名規則是一致的。在函數名后面的圓括號中可以放置傳遞給函數的參數,這一點和數學上的函數非常相似,程序中函數的參數就相當於是數學上說的函數的自變量,而函數執行完成后我們可以通過return關鍵字來返回一個值,這相當於數學上說的函數的因變量。
函數的參數
函數是絕大多數編程語言中都支持的一個代碼的“構建塊”,但是Python中的函數與其他語言中的函數還是有很多不太相同的地方,其中一個顯著的區別就是Python對函數參數的處理。在Python中,函數的參數可以有默認值,也支持使用可變參數,所以Python並不需要像其他語言一樣支持函數的重載,因為我們在定義一個函數的時候可以讓它有多種不同的使用方式。
用模塊管理函數
對於任何一種編程語言來說,給變量、函數這樣的標識符起名字都是一個讓人頭疼的問題,因為我們會遇到命名沖突這種尷尬的情況。最簡單的場景就是在同一個.py文件中定義了兩個同名函數,由於Python沒有函數重載的概念,那么后面的定義會覆蓋之前的定義,也就意味着兩個函數同名函數實際上只有一個是存在的。
例題:
def gcd(x, y):
(x, y) = (y, x) if x > y else (x, y)
for factor in range(x, 0, -1):
if x % factor == 0 and y % factor == 0:
return factor
def lcm(x, y):
return x * y // gcd(x, y)


