深入理解 Python基礎概念辨析之高階基礎

2022-07-31 19:06:17 字數 2325 閱讀 8427

# 這種類似的文章個人覺得還是非常有價值的,所以近期打算出一篇。

# 後面會進行多次更新

one_dict = 

print(one_dict.keys())

for i in one_dict.keys():

print(i)

# 但是使用其他常見列表方法則不可以

a = b =

print(a)

print(b)

# 第乙個輸出結果:

[1][1]

a = b = 

b = [1]

print(a)

print(b)

# 第二個輸出結果:

[1]

解釋:

第乙個例子中,a

,第二個例子中,a

,b變數最開始指向了同乙個記憶體空間,但是隨後變數b(標籤)從指向a變換到指向新的記憶體空間(內容為[1

]的空間),而a指向的記憶體空間並未改變,所以列印結果如上。ps:用賦值的方式,意味著重新建立乙個塊兒新的記憶體位址。和呼叫方法不同。

def

demo

(num, num_list):

# 賦值語句

num = 200

num_list = [1, 2, 3]

print(num)

print(num_list)

print("函式**完成")

# python直譯器中是逐行翻譯,首先開闢一塊記憶體儲存int物件:99,並生成標籤gl_num指向它; (先看右邊,再看左邊)

# 再開闢記憶體,存放列表[4,5,6],然後生成變數gl_list(標籤)指向它

# 在掉用函式的過程中,def後面的形式引數作為變數(標籤)分別指向:num和gl_num都同時指向了99;num_list和gl_list都指向了[4,5,6]

# 但是進入函式內部,函式開闢新記憶體空間建立int物件200,並將區域性變數num(標籤)從指向99改成指向200;同理,num_list 也指向了[1,2,3]

gl_num = 99

gl_list = [4, 5, 6]

demo(gl_num, gl_list)

print(gl_num)

print(gl_list)

# 執行結果:

200[1, 2, 3]

函式**完成

99[4, 5, 6]

在函式內部,針對引數使用 賦值語句,會不會影響呼叫函式時傳遞的 實參變數? —— 不會!

無論傳遞的引數是 可變 還是 不可變

- 只要 針對引數 使用 賦值語句,會在 函式內部 修改 區域性變數的引用,不會影響到 外部變數的引用

def

mutable

(num_list):

# num_list = [1, 2, 3]

num_list.extend([1, 2, 3])

print(num_list)

gl_list = [6, 7, 8]

mutable(gl_list)

print(gl_list)

# 執行結果:

[6, 7, 8, 1, 2, 3]

[6, 7, 8, 1, 2, 3]def

demo

(num, num_list):

print("函式開始")

# num = num + num

num += num

# num_list = num_list + num_list

# 列表做 += 並不會做相加再賦值操作

# 在python中針對列表操作 += 運算的時候,本質上是呼叫了 extend()方法

num_list += num_list

print(num)

print(num_list)

print("函式完成")

gl_num = 9

gl_list = [1, 2, 3]

demo(gl_num, gl_list)

print(gl_num)

print(gl_list)

#執行結果:

函式開始

18[1, 2, 3, 1, 2, 3]

函式完成

9[1, 2, 3, 1, 2, 3]

6.del

前端概念深入理解

1 所有的前台 其實都是傳送請求,也就是拼接基於http協議的字串,發給伺服器 2 所有的後台 其實最終目的也是拼接好字串返回給前台,後台返回的資訊包括兩部分,頭資訊一般伺服器就會幫我們寫好,主體部分就是需要我們返回的資料 session技術是基於cookie的,底層還是使用了cookie,最大的乙...

深入理解Redis概念 精

redis 是nosql key value 可持久化,分布式,記憶體,快取的非關係型資料庫 有人問你什麼是redis你就上面這句話,詳細解釋分為四部分解釋 nosql key value 非關係型資料庫 nosql not only structured query language 不僅僅是支援...

python深入 Python的深入理解

處理檔案和目錄 python 3 帶有乙個模組叫做 os,代表 作業系統 operating system os 模組 包含非常多的函式用於獲取 和修改 本地目錄 檔案程序 環境變數等的資訊。python 盡最大的努力在所有支援的作業系統上提供乙個統一的api,這樣你就可以在保證程式能夠在任何的計算...