在 python 中
注意:如果變數已經被定義,當給一個變數賦值的時候,本質上是 修改了資料的引用
在 python 中,變數的名字類似於 便籤紙 貼在 資料 上
在 python 中,函式的 實參/返回值 都是是靠 引用 來傳遞來的
def test(num):
print("-" * 50)
print("%d 在函式內的記憶體地址是 %x" % (num, id(num)))www.cppcns.com
result = 100
print("返回值 %d 在記憶體中的地址是 %x" % (result, id(result)))
print("-" * 50)
return result
a = 10
print("呼叫函式前 記憶體地址是 %x" % id(a))
r = test(a)
print("呼叫函式後 實參記憶體地址是 %x" % id(a))
print("呼叫函式後 返回值記憶體地址是 %x" % id(r))
a = 1
a = "hello"
a = [1, 2, 3]
a = [3, 2, 1]
demo_list = [1, 2, 3]
print("定義列表後的記憶體地址 %d" % id(demo_list))
demo_list.append(999)
demo_list.pop(0)
demo_list.remove(2)
demo_list[0] = 10
print("修改資料後的記憶體地址 %d" % id(demo_list))
demo_dict =
print("定義字典後的記憶體地址 %d" % id(demo_dict))
demo_dict["age"] = 18
demo_dict.pop("name")
demo_dict["name"] = "老王"
print("修改資料後的記憶體地址 %d" % id(demo_dict))
注意:字典的 key 只能使用不可變型別的資料
注意雜湊 (hash)
提示:在其他的開發語言中,大多 不推薦使用全域性變數 —— 可變範圍太大,導致程式不好維護!
區域性變數的作用
def demo1():
num = 10
print(num)
num = 20
print("修改後 %d" % num)
def demo2():
num = 100
print(num)
demo1()
demo2()
print("over")
區域性變數的生命週期
# 定義一個全域性變數
num = 10
def demo1():
print(num)
def demo2():
print(num)
demo1()
demo2()
print("over")
注意:函式執行時,需要處理變數時 會:
1) 函式不能直接修改 全域性變數的引用
提示:在其他的開發語言中,大多 不推薦使用全域性變數 —— 可變範圍太大,導致程式不好維護!
num = 10
def demo1():
print("demo1" + "-" * 50)
# 只是定義了一個區域性變數,不會修改到全域性變數,只是變數名相同而已
num = 100
print(num)
def demo2():
print("demo2" + "-" * 50)
print(num)
demo1()
demo2()
print("over")
注意:只是在函式內部定義了一個區域性變數而已,只是變數名相同 —— 在函式內部不能直接修改全域性變數的值
2) 在函式內部修改全域性變數的值
num = 10
def demo1():
print("demo1" + "-" * 50)
# global 關鍵字,告訴 python 直譯器 num 是一個全域性變數
global num
# 只是定義了一個區域性變數,不會修改到全域性變數,只是變數名相同而已
num = 100
print(num)
def demo2():
print("demo2" + "-" * 50)
print(num)
demo1()
demo2()
print("over")
3) 全域性變數定義的位置
a = 10
def demo():
print("%d" % a)
print("%d" % b)
print("%d" % c)
b = 20
demo()
c = 30
注意
**結構示意圖如下
4) 全域性變數命名的建議
提示:具體的要求格式,各公司要求可能會有些差異
Python基礎之變數基本用法與進階詳解
目標 變數的引用 可變和不可變型別 區域性變數和全域性變數 變數的引用 變數 和 資料 都是儲存在 記憶體 中的 在 python 中 函式 的 引數傳遞 以及 返回值 都是靠 引用 傳遞的 1.1 引用的概念 在 python 中 變數 和 資料 是分開儲存的 資料 儲存在記憶體中的一個位置 變數...
python 基礎之變數
1 具有描述性 2 變數名只能 數字,字母組成,不可以是特殊字元 3 不能以中文為變數名 4 不能以數字空格開頭 5 保留字元不能被使用 6 變數不以大寫字母開頭 注 py裡不區分變數與常量,所有的變數都是可變的 用全部大寫的變數名來代表此變數為常量。1 python2.0 預設 assic cod...
Python基礎之變數
用來記錄狀態的變化 全域性變數一般使用大寫字母來進行區分 頂頭寫 定義過之後在整個程式中都能使用,如果需要在函式中使用並修改全域性變數的值需要加上global關鍵字 如果函式內部也定義了一個和全域性變數同樣名字的變數 這時會優先使用函式內部的區域性變數 在函式內部定義和使用,一般使用小寫字母進行區分...
官方變數 python基礎之變數 識別符號 關鍵字
變數 我們先來看一個例子 圖中我們列印了三個1,按照圖中的寫法,當不想列印三個1了,想要列印三個2時,就需要一個一個的將1改為2,但是如果使用變數,就會方便很多 如果換成變數,我們就只需要修改變數num的值,列印出來的值就會隨之改變。需要注意的是print num 中的num不需要加引號。定義變數的...
Python基礎之變數和變數實現的簡單乘法運算
上篇我們知道了關於python的一個hello world的簡單程式 現在我們來了解關於python裡面的變數,我們來了解下,變數是什麼?變數 變數是為了儲存程式運算過程中的一些中間結果,為了方便之後的呼叫,同一變數可以重新賦值。變數的特點 具有描述性的標記,儲存在記憶體裡。我們來看個列子,簡單瞭解...
python基礎,變數
root foundation1 python which python bin python root foundation1 python ls lh bin python lrwxrwxrwx.1 root root 7 apr 9 17 34 bin python python2 root ...
Python基礎(3)變數
程式就是用來處理資料的,而變數就是用來儲存資料的 變數名 值左邊是一個變數名 右邊是儲存在變數中的值 定義 qq number 的變數用來儲存 qq 號碼 qq number 123456 定義 qq password 的變數用來儲存 qq 密碼 qq password 123 輸出定義的變數 pr...
Python基礎 變數
變數 變數的定義很簡單 變數名 值變數定義後就可以直接使用了。變數型別 1.在python中不需要指定型別,系統會根據變數的值來改變變數的名稱。2.資料型別可以分為數字型和非數字型。數字型 int float bool complex 複數型 非數字型 字串 列表 元組 字典 不同變數那個型別之間的...
python基礎 變數
變數是一個容器,用於儲存資料到記憶體,方便後面需要用到時直接呼叫變數的名稱即可 變數名只能是 字母 數字或下劃線的任意組合 變數名的第一個字元不能是數字 以下關鍵字不能宣告為變數名 and as assert break class continue def del elif else except...
python3基礎 變數
本文介紹變數,什麼是變數呢,可以這樣理解 變數是一個容器,這個容器可以用來儲存值,而且可以被其他物件引用。變數可以是數字 var1 5 print var1 變數可以是字元 var2 hello print var2 變數可以是運算表示式 var3 5 9 print var3 變數可以是函式 va...