问题描述
im正在使用python包,我想知道如何声明一个类,该类在 init 函数中接收一些属性,然后在其余的函数中使用该'self'属性功能而无需声明self为参数。
class API():
def __init__(self,token):
self.token = token
def info():
headers = {'Token': f'{self.token}'}
response = requests.post(some_url,headers=headers)
return response
我没有将self
放在info()
函数中,因为该函数将要从外部调用,但是能够重用在类初始化中接收到的令牌属性将非常有用。我不知道我是否缺少任何东西,因此任何建议将不胜感激。
修改
如果使用当前代码,则会出现错误,因为使用self
关键字而未在函数类上声明它,但是如果我放置它,则在进行函数调用时可以传递self
参数。
解决方法
self
不是关键字;它只是API
实例的常规名称,在被称为实例方法时传递给info
。
没有这样的实例,您将无法呼叫info
。
class API():
def __init__(self,token):
self.token = token
def info(self):
headers = {'Token': f'{self.token}'}
response = requests.post(some_url,headers=headers)
return response
a = API("some token")
a.info()
a.info()
大致等效于API.info(a)
。