偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

Python五個極易混淆的核心概念

開發(fā) 后端
最近一周思考總結(jié)了Python 5個比較容易混淆的核心概念,同時(shí)附上我最通俗的區(qū)分和理解方法,相信對你一定有幫助!

 最近一周思考總結(jié)了Python 5個比較容易混淆的核心概念,同時(shí)附上我最通俗的區(qū)分和理解方法,相信對你一定有幫助!

[[434896]]

1 變量賦值和別名

Python變量賦值是指創(chuàng)建一個對象并綁定到某個變量上,如下創(chuàng)建一個列表對象,并賦值給變量a:

 

  1. a = [3,1,2] 

以上基本范式可表達(dá)為:

 

  1. variable1 = object1 

而別名是指變量1賦值給變量2的過程:

 

  1. variable2 = variable1 

比如:

 

  1. b = a 

并且修改變量b,變量a也會變化,所以被稱為別名:

 

  1. b[0] = 8 # a[0] 也會變?yōu)? 

2 別名和淺拷貝

別名和淺拷貝會被經(jīng)?;煜瑒e名如上所述僅僅是某個變量賦值給某個變量,僅此而已。

而淺拷貝已經(jīng)發(fā)生一層復(fù)制,并且在這一層上修改某個變量,不會影響另一個變量。如下:

  1. b = a.copy() 
  2. b[0] = 8 # 此時(shí)修改b[0]不會影響a 

3 == 和 is

Python一切皆對象,而每個對象又有"三大件":

  • 編號
  • 類型

基于此,A == B 比較的是對象A和B的值是否相等;A is B 比較的是對象A和B的編號是否相等。記住這句話,或許你再也不會混淆這兩個操作符。

4 淺拷貝和深拷貝

對象是可以做有限次嵌套的,可以有很多層。

淺拷貝只拷貝最外層;而深拷貝會拷貝所有層。

 

  1. a = [[3,1,2], [5,4,6]] 

淺拷貝意味著修改b的第一層不影響a,但是修改b的第二層會同步影響到a,如下修改第二層會同步影響a

 

  1. from copy import copy 
  2.  
  3. In [8]: b=copy(a) 
  4.  
  5. In [9]: b[0][0]=8 
  6. In [10]: a 
  7. Out[10]: [[8, 1, 2], [5, 4, 6]] 
  8. In [11]: b 
  9. Out[11]: [[8, 1, 2], [5, 4, 6]] 

 

而深拷貝后,修改b的任意層都不會影響a

5 可變和不可變

還記得第3節(jié)提起的每個對象"三大件"嗎?每個對象都有類型,而我們討論可變和不可變時(shí),其實(shí)指代的正是類型。

不可變的類型常見的:整型、字符串、浮點(diǎn)型、元組、凍結(jié)集合

可變的類型常見的:列表、字典、集合

不可變意味著值不能被修改,如下修改元組的值,會拋出TypeError的異常,這是和類型密切相關(guān)的異常:

 

  1. a = (3,1) 
  2. a[0] = 10 
  3.  
  4. TypeError: 'tuple' object does not support item assignment 

 

而可變意味著值能被修改:

 

  1. In [14]: a = [3,1] 
  2.  
  3. In [15]: a[0] = 10 
  4.  
  5. In [16]: a 
  6. Out[16]: [10, 1] 

 

 

責(zé)任編輯:華軒 來源: 今日頭條
相關(guān)推薦

2023-03-08 07:34:23

響應(yīng)式更新細(xì)粒度更新

2009-11-25 11:20:31

并發(fā)

2024-05-17 12:43:49

Python編程開發(fā)

2021-01-11 09:33:37

Maven數(shù)目項(xiàng)目

2023-10-22 23:28:34

2010-08-30 17:46:10

DHCP服務(wù)

2011-05-23 13:05:25

重載重寫隱藏

2022-01-27 13:47:10

Kubernete命令Linux

2018-11-08 15:12:16

數(shù)據(jù)分析算法決策樹

2011-07-14 15:23:34

java

2024-11-11 08:00:00

PyTorch深度學(xué)習(xí)

2015-08-18 08:55:03

redux核心

2024-11-11 06:10:00

Python生成器迭代器

2019-01-23 08:59:00

大數(shù)據(jù)大數(shù)據(jù)治理數(shù)據(jù)管理

2009-02-02 10:00:11

ADO.NETASP.NET

2016-09-28 08:52:44

2022-10-08 07:36:08

Kubernetes開源容器

2011-07-10 15:18:11

開發(fā)

2021-01-15 08:35:49

Zookeeper

2022-08-05 11:29:06

數(shù)據(jù)分析考核政治
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號