python基礎學習(十二)變數高階

2022-09-15 20:12:25 字數 3023 閱讀 7111

目錄2. 可變和不可變型別

3. 區域性變數和全域性變數

3.2 全域性變數

python

注意:如果變數已經被定義,當給乙個變數賦值的時候,本質上是修改了資料的引用

a = 1

b = 2

c = 2

python中,函式的實參/返回值都是是靠引用來傳遞來的,寫了小的例子嘗試下:

def test(num):

print("-" * 50)

print("%d 在函式中的記憶體位址是 %d" % (num, id(num)))

result = 12

print("返回值 %d 在記憶體中的位址是 %d" % (result, id(result)))

print("-" * 50)

return result

n = 100

print("%d在呼叫之前的記憶體位址是%d" % (n, id(n)))

r = test(n)

print("呼叫函式後,實參 %d 的記憶體位址是 %d" % (n, id(n)))

print("呼叫函式後,返回值 %d 的記憶體位址是 %d" % (r, id(r)))

可變型別,記憶體中的資料可以被修改:

注意

可變型別的資料變化,是通過方法來實現的

如果給乙個可變型別的變數,賦值了乙個新的資料,引用會修改

雜湊是一種演算法,其作用就是提取資料的特徵碼(指紋)

python中,設定字典的鍵值對時,會首先對key進行hash已決定如何在記憶體中儲存字典的資料,以方便後續對字典的操作:增、刪、改、查

例子:

區域性變數的作用

def test1():

num = 1

print(num)

num = 22

print("修改過後 %d" % num)

def test2():

num = 30

print(num)

test1()

test2()

print("結束")

區域性變數的生命週期
num = 10

def test1():

print(num)

def test2():

num = 22

print(num)

test1()

test2()

print(num)

注意:函式執行時,需要處理變數時會:

首先查詢函式內部是否存在指定名稱 的區域性變數如果有,直接使用

如果沒有,查詢函式外部是否存在指定名稱 的全域性變數如果有,直接使用

如果還沒有,程式報錯!

1) 在函式中不能直接修改全域性變數的引用

num = 10

def test1():

print("test1" + "*" * 50)

num = 100

print(num)

def test2():

print("test2" + "*" * 50)

print(num)

test1()

test2()

print("over")

注意:只是在函式內部定義了乙個區域性變數而已,只是變數名相同 —— 在函式內部不能直接修改全域性變數的值

2) 在函式內部修改全域性變數的值
num = 10

def test1():

print("test1" + "*" * 50)

global num

num = 100

print(num)

def test2():

print("test2" + "*" * 50)

print(num)

test1()

test2()

print("over")

3) 全域性變數定義的位置
a = 1

def test():

print(a)

print(b)

print(c)

b = 2

test()

c = 3

注意4) 全域性變數命名的建議

gl_num = 33

gl_name = "zfx"

def test():

num = 10

print(num)

print(gl_name)

test()

Python基礎程式設計 二 變數

本篇文章主要是對python學習時的一些總結,作為學習筆記記錄。c users wood python python 3.7.8 tags v3.7.8 4b47a5b6ba,jun 28 2020,08 53 46 msc v.1916 64 bit amd64 on win32 然後就能夠在出現...

Python基礎二(變數 input)

變數 是 為了儲存 程式運算過程中的一些中間 結果,為了方便日後呼叫 官方文件說明如下 variables變數 are used to store儲存 儲存 information資訊 to be referenced被日後呼叫 and manipulated操作或更改 in a computer ...

Python學習筆記 二 變數型別

list 列表 是 python 中使用最頻繁的資料型別。列表可以完成大多數集合類的資料結構實現。它支援字元,數字,字串甚至可以包含列表 所謂巢狀 列表用 標識。是python最通用的復合資料型別。看這段 就明白。列表中的值得分割也可以用到變數 頭下標 尾下標 就可以擷取相應的列表,從左到右索引預設...