程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

關於python對象奇怪的現象

編輯:Python

聲明了一個node類:

class Node:
feat = -1
child = []
label = -1
def __init__(self, feat, label):
self.feat = feat
self.label = label

分別創建兩個node,並且將node2放入node1中的child中:

node1 = Node(2, 0)
node2 = Node(3, 1)
print(node2.feat, node2.label)
node2.change(9)
node1.child.append(node2)
print(len(node1.child))
print(node1.child[0].feat, node1.child[0].label)
輸出結果:
3 1
1
9 1

在重新定義兩個初始值不一樣的node,同樣的操作,卻發現node1child個數變為了2

node1 = Node(2, 2)
node2 = Node(6, 1)
print(node2.feat, node2.label)
node2.change(15)
node1.child.append(node2)
print(len(node1.child))
print(node1.child[0].feat, node1.child[0].label)

遍歷node1.child後發現,兩個node2都在裡面:

for i in range(len(node1.child)):
print(node1.child[i].feat, node1.child[i].label)
輸出結果:
9 1
15 1

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved