標籤:命名 變數 定義 範圍 模組 用法 oba 提升 陌生人
# 函數
定義:
我們可以把程式中相對獨立的功能模組抽取出來,這樣的好處是可以減少重複代碼的編寫,將來可以重複使用這些功能模組,Python中的函數就是代表了這樣的功能模組。
命名:
age_of_student(官方) 或 ageOfStudent(大部分人的習慣用法,又稱駝峰命名法)
調用:
import 模組 (as 別名)
函數名(參數)
注意:二元運算子之間放空格,參數裡賦值時,等號兩邊不加空格。例如:def f(x=2)
#y = x !定義求階乘這個函數,將求階乘這個功能抽取出來,放到函數中。
def f(x): """ 求函數x的階乘 :param x: 任意正整數 :return: x的階乘 """ y = 1 for z in range(1, x + 1): y *= z return y
if __name__ == ‘__main__‘:
m = int(input(‘m = ‘))
n = int(input(‘n = ‘))
# 當需要計算階乘的時候,不用再寫迴圈,而是直接調用已經定義好的函數就可以了。
print(f(m) // f(n) // f(m - n))
# 函數的範圍
1.在函數外面,叫做全域變數 global variable
2.減少全域變數的使用,盡量使用局部變數。迪米特法則:不要和陌生人說話,盡量讓模組之間不要發生聯絡。
3.Python搜尋一個變數的方式是從局部範圍到嵌套範圍再到全域範圍,最後到內建範圍。即 local > enclose>global>built-in(l e g b)
4.如果想改變搜尋範圍,可以使用global 和nonlocal關鍵字。
a = 100
def foo(): # 函數內的局部變數,離開foo函數時無法訪問的。 local variable global a # 提升許可權,變為全域變數,可以直接修改,重新定義申明的變數。 a = 200 print(a) b = ‘good‘ def bar(): nonlocal b # 非局部範圍。 b = ‘hello‘ print(b) print(a) bar() print(b)foo()print(a)
# tips
ctrl + q 當前位置查看注釋,
ctrl + lb 返回寫注釋位置查看注釋
shift + F6 重新命名
# 字串倒過來的做法:[-1::-1]
Python第二周之函數及其範圍