久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

python - 通過類的方法返回自身新的實(shí)例

瀏覽:122日期:2022-07-14 14:20:28

問題描述

定義一個(gè)類A,并有一個(gè)自身ID+1的方法,代碼如下:

class A(object): def __init__(self, id):self.id = id def newid(self):self.id = self.id + 1return A(self.id)

將實(shí)例x定義為類A,id為1,打印x.id:

[In]:x = A(1)print(x.id)[Out]:1

現(xiàn)在想創(chuàng)建一個(gè)同樣也是類A的實(shí)例y, 通過類A的newid方法進(jìn)行創(chuàng)建:

[In]:y = x.newid()print(y.id)[Out]:2

可以得到準(zhǔn)確的y的ID為2, 但是發(fā)現(xiàn)x的id也被修改了:

[In]:print(x.id)[Out]:2

請(qǐng)問如何實(shí)現(xiàn)在不修改原實(shí)例x的情況下將y正確的生成,謝謝!

問題解答

回答1:

def newid(self):self.id = self.id + 1 return A(self.id)

這個(gè)必然變呀你要不變干嘛+1應(yīng)該是return A(self.id+1)

回答2:

def newid(self):self.id = self.id + 1 # 這里self.id 已經(jīng)是2了return A(self.id)

將y正確的生成

什么是正確的y

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 蒙自县| 台南市| 甘谷县| 普宁市| 同江市| 沐川县| 渝中区| 长丰县| 上栗县| 高碑店市| 永泰县| 九龙城区| 广南县| 池州市| 宁海县| 敦煌市| 绥江县| 禹州市| 台中市| 泉州市| 托克逊县| 吉林省| 锦屏县| 循化| 新野县| 治多县| 静海县| 金寨县| 会同县| 遂宁市| 夹江县| 淄博市| 灌阳县| 吉水县| 嵊泗县| 印江| 当阳市| 团风县| 吴桥县| 内江市| 大田县|