Python OOP:未定义变量。什么是范围问题?

Python OOP:未定义变量。什么是范围问题?,python,oop,Python,Oop,错误消息如下所示: Traceback (most recent call last): File "./bitcoin_price.py", line 57, in <module> Coindesk() File "./bitcoin_price.py", line 45, in Coindesk coindesk.pass_for_request() File "./bitcoin_price.py", line 39, in pass_for_re

错误消息如下所示:

Traceback (most recent call last):
  File "./bitcoin_price.py", line 57, in <module>
    Coindesk()
  File "./bitcoin_price.py", line 45, in Coindesk
    coindesk.pass_for_request()
  File "./bitcoin_price.py", line 39, in pass_for_request
    get_price = BtcAPI(url, api_id, json_tree)
NameError: name 'url' is not defined
试着替换

get_price = BtcAPI(url, api_id, json_tree)

试着替换

get_price = BtcAPI(url, api_id, json_tree)


pass\u for\u request
的范围内没有
url
api\u id
变量。您可能打算访问
self.url
self.api\u id
,在python中,您必须使用
self.
来访问成员,而在其他语言中,使用
是可选的。
是可选的

我发现的另一件事是,当您试图在
cointdesk
中创建
Price
时,您正在传入
api\u id
和其他参数,就好像它们是带有默认值的参数,而它们不是。您需要将其命名为:
Price(“cointdesk”https://mylinktocoindesk“,”[“时间”][“更新”]”

下面是一些关于python中OOP的阅读资料,您可能会发现这些资料很有帮助:
pass\u for\u request
的范围内没有
url
api\u id
变量。您可能打算访问
self.url
self.api\u id
,在python中,您必须使用
self.
来访问成员,而在其他语言中,使用
是可选的。
是可选的

我发现的另一件事是,当您试图在
cointdesk
中创建
Price
时,您正在传入
api\u id
和其他参数,就好像它们是带有默认值的参数,而它们不是。您需要将其命名为:
Price(“cointdesk”https://mylinktocoindesk“,”[“时间”][“更新”]”

下面是一些关于python中OOP的阅读资料,您可能会发现这些资料很有帮助:

get_price = BtcAPI(self.url, self.api_id, self.json_tree)