import json
from urllib.request import urlopen
class Website:
def __init__(self, username, privateID):
self.username = username
self.privateID = privateID
# URL's to query
AccountBalance = 'https://website.com/private/AccountBalance?{0}?nonce={1}' # 0 requires private ID num
TopComments = 'https://website.com/public/TopComments?nonce={0}'
def get_AccountBalance(self):
nonce = gen_nonce(8)
print(json.load(urlopen(AccountBalance.format(self.privateID, nonce))))
@staticmethod
def gen_nonce(length):
return ''.join([str(random.randint(0, 9)) for i in range(length)])
我仍然在试图理解什么时候使用不同类型的类方法,而且我一直在从事这个项目。我的类将有多个实例,但要查询的URL将始终保持不变,因此我将使URL成为类变量。然而,当实际从URL检索信息时,我必须使用类方法、静态方法还是抽象方法?我假设对于帐户余额,我将使用abstract,因为私有ID会随着实例的不同而变化。gen_nonce()
将是静态的,因为它不需要使用任何类或实例变量。但是,为了检索最上面的注释,我会使用class方法,因为它使用类变量url,还是使用抽象方法,因为不是每个实例都会同时调用它
你在正确的轨道上。首先,抽象方法只存在于抽象基类中。如果你想实例化一个类,你可以忽略它们
大多数方法都是实例方法;所以你不需要装饰它们
类方法实际上是另一种构造函数。如果您觉得需要多个
__init__
方法,那么最基本的方法是__init__
,其余的被定义为类方法,通常用__init__
实现静态方法根本不是真正的方法。它只是一个常规函数,您可以将其放入类中以避免污染全局命名空间
相关问题 更多 >
编程相关推荐