背景
最近在學python3
巢狀函式
顧名思義,即使在函式中還有函式,實現了函式的多級巢狀
def test1():
age = 10
print(age)
def test2():
te = 5
print(age)
def test3():
print(te)
test3()
test1()
輸出結果:
10
test2()方法沒有被執行,這是因為任意函式在定義完成之後,需要通過函式名來進行引用呼叫,如果沒有呼叫,那麼該函式永遠不會執行。
def test1():
age = 10
print(age)
def test2():
te = 5
print(age)
def test3():
print(te)
test3()
test2()
test1()
輸出結果:
10
105
還拿上面的例子進行學習。在巢狀函式內部,函式引用變數的時候是一層一層的向外找,同時需要注意**的上下順序,被呼叫的變數不能在呼叫函式的下方定義
age = 18
def func1():
# age = 20 放在上面
def func2():
print(age)
age = 20 #放在下面,其實都是放在func2的上面
func2()
func1()
輸出結果:
traceback (most recent call last):
file "巢狀函式.py", line 13, in func1()
file "巢狀函式.py", line 10, in func1
func2()
file "巢狀函式.py", line 8, in func2
print(age)
nameerror: free variable 'age' referenced before assignment in enclosing scope
利用Python3巢狀列印
巢狀列印小星星 完成5行內容的簡單輸出 分析每行內部的小星星如何處理 定義乙個行的計數器變數 row 1 迴圈while row 5 每一行列印的小星星和當前行數的行號是一致的 定義乙個列的計數器變數 col 1 增加乙個小迴圈,專門用來控制每一列的 星星 控制 while col row prin...
python3函式語法 Python3
python3 degrees 函式 描述degrees 將弧度轉換為角度。語法以下是 degrees 方法的語法 import math math.degrees x 注意 degrees 是不能直接訪問的,需要匯入 math 模組,然後通過 math 靜態物件呼叫該方法。引數x 乙個數值。返回值...
python3函式返回值 Python3
python3 sin 函式 描述sin 返回的x弧度的正弦值。語法以下是 sin 方法的語法 import math math.sin x 注意 sin 是不能直接訪問的,需要匯入 math 模組,然後通過 math 靜態物件呼叫該方法。引數x 乙個數值。返回值返回的x弧度的正弦值,數值在 1 到...