亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

1.請給出str對象"中文編程"的引用計數 a = "中文編程"

1.請給出str對象"中文編程"的引用計數 a = "中文編程"

Myworld3464055 2016-06-21 23:14:47
這個是什么意思求解釋 ? 或者有一起學習的 Q我
查看完整描述

2 回答

已采納
?
Jenkins_lee

TA貢獻12條經驗 獲得超18個贊

當對象被創建并賦值或引用給n個變量時(n為正整數),該對象的引用計數就為n。例:
x = 3.14? #創建浮點型對象3.14并指向變量x,即引用計數為1
y = x??????? #創建浮點型對象3.14的別名為變量y,引用計數+1,即為2。

總之,對象的引用計數增加有以下幾種情況:

對象被創建:x = 3.14

對象別名被創建:y = x

作為參數傳遞給函數:round(x)

成為容器對象的元素:mylist = [1 , x , ' abc ']

當引用計數為為0時,對象將被回收

---------------------------------------------------------

a = "中文編程" ? #結合上面所述,創建了字符串對象并指向變量a, 即引用計數為1

查看完整回答
4 反對 回復 2016-06-22
?
清波

TA貢獻165條經驗 獲得超90個贊

六.已知如下代碼________

a?=?"中文編程"
b?=?a
c?=?a
a?=?"python編程"
b?=?u'%s'?%a
d?=?"中文編程"
e?=?a
c?=?b
b2?=?a.replace("中","中")
  1. 請給出str對象"中文編程"的引用計數

  2. 請給出str對象"python編程"的引用計數


這個是 題主的問題的完整版吧?


這就要說到 Python 的變量存儲機制了, 一般來說,Python 的變量名變量值 被形容為 “標簽式”: 變量名是標簽,變量值是 一個貼著某些(個)標簽的物體, 比如上面的代碼中的?? 字符串對象 “中文編程” 就是變量值,也就是 物體。

#第一次賦值給a,?那么就是在?“中文編程”上貼了一個標簽?“a”。

#后面的?b=a,?則是在?“中文編程”上又貼了一個標簽b。

#c?=?a?,?同理,省略。

#a?=?"python編程"?這句?就是將a標簽從"中文編程"?上撕了下來,貼到了"python編程"上,但是注意?b,?c?任然
#?貼在?"中文編程"上。

#?b?=?u'%s'?%a,此處?標簽b也從"中文編程"上撕了下來,貼到了?"python編程"上面,?這個需要用?內置函數?id#?來驗證。

#?d?=?"中文編程"?,?這一句比較有迷惑性,看著像是在"中文編程"?這個物體上?又貼了一個標簽d,?但是實際上是,#?重新建立了一個"中文編程"?,并且貼了一個標簽d.

#?e?=?a,?沒什么可解釋的,?貼標簽。

#?c?=?b,?同上。

#?b2?=?a.replace("中","中"),?需要說明,?這一句?等同于?b2?=?a。

恩, 至于問題 留著題主自己數數吧, 原理基本上就是這樣了。有什么不對的地方,歡迎大家指正。

另外,有一點需要說明, 在 上面解釋中 , 我們說 a = "中文編程",d = "中文編程", 是 新建對象,并且貼標簽, 也就是說

變量a 和變量d 不是指向同一個對象, 但是 對于一些比較小的整數(Python3.x 中是 -5 到 256) 則是直接貼標簽, 而沒有新建int對象.

查看完整回答
1 反對 回復 2016-06-22
  • 2 回答
  • 0 關注
  • 1641 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號