访问自我属性而不在类函数中声明自我

问题描述

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)