五 Python 全域性與區域性變數 函式遞迴

2021-09-03 06:57:09 字數 1416 閱讀 4081

#11.變數

#全域性變數 沒有縮排的變數稱為全域性變數

#name="tom"

#print(name)

#def test():

# print(name)

#test()

#區域性變數 在函式內部定義帶有縮排的變數稱為區域性變數

#全域性作用域與區域性作用域

#函式外部的區域稱為全域性作用域

#函式內部的區域稱為區域性作用域

#函式內部尋找變數先找區域性作用域,如果區域性作用域找不到,再去找全域性作用域裡是否有自己要找的變數

#name="tom"

#def test1():

# name="alex"

# print(name)

#test1()

# name="tom"

# def test1():

# print(name)

# test1()

#global

#在函式內部修改全域性變數

# name="tom"

# print("全域性變數:%s"%name)#輸出全域性變數

# def test3():

# global name #在函式內部定義全域性變數

# name="alex" #修改全域性變數name

# test3()

# print("修改後的全域性變數:%s"%name)#輸出修改後的全域性變數

#nonlocal

#修改上級函式的變數

# name="tom"

# def up():

# name="alex"

# print(name) #函式變數

# def up1():

# nonlocal name #獲取上級函式的變數

# name="marry" #修改上級函式的變數

# up1()

# print(name) #修改後的函式變數

# up()

#12.函式遞迴 相當於迴圈,通過不斷的呼叫自身函式並return最終的處理結果

#遞迴: 1.遞迴要有終止迴圈的條件

# def cale(x):

# if x//2==1: #判斷x被2整除是否為1

# return x%2 #x被2整除為1,獲取x%2的值作為最終結果返回

# else:

# return cale(x//2) #如果不滿足條件,將x//2的商作為引數x,繼續呼叫cale()函式

# print(cale(25)) #輸出遞迴最終得到的結果到控制台

Python 區域性變數與全域性變數

問題由來 考慮到想在執行結束後的使用者空間裡面檢視一下資料,我把data1作為全域性變數來進行處理。data1 function a1 data1 readdata function a2 data1.dealdata if name main a1 a2 此時,a2 函式沒有任何輸出,即data1...

python 全域性變數與區域性變數

目錄 一 變數作用域 二 全域性變數 區域性變數 2.1 global 和nonlocal關鍵字 python中,變數不是在 都可以訪問的,訪問許可權決定於變數是在 被賦值的。變數作用域決定了哪一部分程式可以訪問哪些特定的變數。python的作用域一共分為四種 程式查詢變數的規則為 l e g b ...

python區域性變數與全域性變數

區域性變數 區域性變數是在函式內部進行使用,無法全域性共享 全域性變數 全域性變數在函式外部進行共享使用,可以接收函式的呼叫 區域性變數 def demo1 num 1print num defdemo2 print num print會報錯,原因顯示為沒有定義num這個變數,所以證明在demo1中...