访问 Python 中的成员变量?
Accessing member variable in Python?
我最近开始学习 python(来自 C++ 背景),但我不明白我应该如何访问成员变量 (nonce
) 并在第二个函数中使用它 def mine_block()
。class 块的所有成员不是都可以从任何地方公开获得吗?
class Block:
'''
Дефинираме ф-я , която създава
променливите като членове на класа Block
'''
def _init_(self,prevHash,index,nonce,data,hash,time):
self.prevHash = prevHash
self.index = index
self.nonce = nonce
self.data = data
self.hash = hash
self.time = time
def get_hash(self):
print(self.hash)
def mine_block(self,difficulty):
arr = []
for i in range(difficulty):
arr[i] = '0'
arr[difficulty] = '[=11=]'
str = arr
while True:
'''
here I receive an error
unresolved referene nonce
'''
nonce++
要在 class 方法中引用 class 属性,您需要使用关键字 self
将对象本身传递到方法中。然后您可以使用 self.foo
.
访问其他 class 方法和 class 属性
此外,while True
循环不应在 class 的根级缩进。最后,foo++
C-style在Pyhton中不正确,应该是foo += 1
在 Python 中,所有实例成员都可以通过 class 实例公开获得,该实例作为 self
传递给 class 方法。因此你应该使用 self.nonce
.
此外,在 Python 中注意缩进。您的 mine_block 方法应该如下所示:
def mine_block(self,difficulty):
...
str = arr
while True:
self.nonce += 1
我最近开始学习 python(来自 C++ 背景),但我不明白我应该如何访问成员变量 (nonce
) 并在第二个函数中使用它 def mine_block()
。class 块的所有成员不是都可以从任何地方公开获得吗?
class Block:
'''
Дефинираме ф-я , която създава
променливите като членове на класа Block
'''
def _init_(self,prevHash,index,nonce,data,hash,time):
self.prevHash = prevHash
self.index = index
self.nonce = nonce
self.data = data
self.hash = hash
self.time = time
def get_hash(self):
print(self.hash)
def mine_block(self,difficulty):
arr = []
for i in range(difficulty):
arr[i] = '0'
arr[difficulty] = '[=11=]'
str = arr
while True:
'''
here I receive an error
unresolved referene nonce
'''
nonce++
要在 class 方法中引用 class 属性,您需要使用关键字 self
将对象本身传递到方法中。然后您可以使用 self.foo
.
此外,while True
循环不应在 class 的根级缩进。最后,foo++
C-style在Pyhton中不正确,应该是foo += 1
在 Python 中,所有实例成员都可以通过 class 实例公开获得,该实例作为 self
传递给 class 方法。因此你应该使用 self.nonce
.
此外,在 Python 中注意缩进。您的 mine_block 方法应该如下所示:
def mine_block(self,difficulty):
...
str = arr
while True:
self.nonce += 1