获取我在课堂上定义的变量的NameError

时间:2020-01-03 20:14:10

标签: python class nameerror

我正在尝试运行一些代码,使我可以从名为Master_programmer的类中将其称为Student或Programmer。这是我使用的代码。

select 'I ' || 'think ' || 'data ' || 'is ' || 'fun '

运行以上代码后,出现以下错误


class Master_programmer:

    capabilities = []
    student = "SoloLearn Student"
    programmer = "Programmer"

    def Student(self): 
        return 'SoloLearn Student'


    def Programmer(self): 
        return 'Programmer'

    def __init__(self, name):
        self.name = name

    def add_capabilities(self, capability):
        self.capabilities.append(capability)


m1 = Master_programmer(programmer)
print(m1.Student, m1.Programmer)

a.add_capabilities('Stay Inspired')
b.add_capabilities('Find Clients')
b.capability

现在,我的问题是,如何获取代码以提供预期的结果?例如,当我要求调用名称“程序员”时,我希望它能调出程序员,然后允许我向程序员添加功能,例如“查找客户”。对于学生,它必须是“保持灵感”。

3 个答案:

答案 0 :(得分:0)

我猜下面的代码及其注释将回答您的问题。

@NotEmpty

答案 1 :(得分:0)

m1 = Master_programmer(programmer)
print(m1.Student, m1.Programmer)

如果要在programmer类中引用programmer = "Programmer",则正在调用变量Master_programmer,而您需要使用Master_programmer.programmer

尽管如果您也没有初始化ab也会导致代码崩溃,因为您也需要像 normal 变量那样定义它们,例如a = Master_programmer("EEZi")打电话给他们和/或与他们合作

答案 2 :(得分:0)

谢谢大家的回答。这是我所用的最终代码,并且效果很好。非常感谢您。

class Master_programmer:
    STATIC_VARIABLE_ONE_FOR_EVERY_INSTANCES = 'This is Static Var'
    def __init__(self, name):
        self.name = name
        self.capabilities = []
        self.student = "SoloLearn Student"
        self.programmer = "Programmer"

    def get_student(self): 
        return self.student


    def get_programmer(self): 
        return self.programmer


    def add_capabilities(self, capability):
        self.capabilities.append(capability)




coder = Master_programmer('EEZi')


coder.add_capabilities('Stay Inspired!')
coder.add_capabilities('Find Clients')

a = coder.get_student()
b = coder.get_programmer()
capabilities = coder.capabilities


for i in range(0,1):
    print(a)
    print("Listen here, just", coder.capabilities[0], "\n")
    print(b)
    print("Hustle hard and", coder.capabilities[1])

相关问题