gpt4 book ai didi

Python 3 中不同的 Python 类变量初始化

转载 作者:行者123 更新时间:2023-11-28 22:23:15 24 4
gpt4 key购买 nike

<分区>

我正在将一个库移植到 Python 3。

我有一个类,其中有很多用 range() 初始化的类变量。这是一个缩减示例:

class Test(object):
base = 3
a,b,c,d = [base+y for y in range(4)]

print (Test.b)

此代码在 Python 2 中运行良好。

$ python2 test.py
1001

但它在 Python 3 中失败了:

$ python3 test.py
Traceback (most recent call last):
File "test.py", line 1, in <module>
class Test(object):
File "test.py", line 3, in Test
a,b,c,d = [base+y for y in range(4)]
File "test.py", line 3, in <listcomp>
a,b,c,d = [base+y for y in range(4)]
NameError: name 'base' is not defined

问题:发生了什么事?如何在不使用大量难看的重复代码的情况下将其移植到 Python 3?

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com