python - 从类到字典的变量到 Python 中的函数的键和值

标签 python function class

我不是程序员,对编程还很陌生。尝试学习和理解 Python 使用类、函数和变量的方式。

我在下面创建了这段代码。

class Test:
    number = 1
    field = ['Address', 'Name', 'Age']

    def book(self):
        myDict = self.book
        myDict = {number : field}
        # Need my Output to be myDict = {1 : ['Address', 'Name', 'Age']}
        return myDict

它在编译时不显示任何错误,但在调用该对象的实例时抛出

>>> te = Test()
>>> te.book()

Traceback (most recent call last):
File "<pyshell#9>", line 1, in <module>
    te.book()
    myDict = {number : field}
NameError: name 'number' is not defined

我的想法是,在函数外部声明的变量 将是全局,如果该变量在函数内部不可用,它将被调用到函数中功能,有人可以澄清我在理解这个概念时哪里出错了。

最佳答案

number 在方法之外声明,而不是全局声明。它是您创建的类的属性,因此您应该将其引用为 self.numberTest.number

关于python - 从类到字典的变量到 Python 中的函数的键和值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45141660/

相关文章:

python - 计算从头到尾有障碍物的路径数

python - 聚合 Pandas 中的聚合值会返回错误的结果

python - 通过将旧函数包装在其上来创建具有较少参数的新函数

javascript - 为什么不在类外部/顶部声明变量以避免使用此关键字?

python - 是否可以创建一个 10 行 0 列的 numpy 矩阵?

python - 如何在多核机器上加速 python 单元测试?

c - 使用参数递归的数字阶乘(如参数列表中的函数调用)

javascript - 创建一个可以调用给定次数且不能再调用的函数

python - 类对象 : adding attributes to class based on an input list

swift - 用户希望在文本字段中输入整数