【问题标题】:How to use init method for multiple functions? [duplicate]如何将init方法用于多个功能? [复制]
【发布时间】:2019-09-08 03:15:39
【问题描述】:

我尝试使用 init 方法在类中使用多个函数。出现以下问题

class Person1:
    def __init__(self, name, age):
        self.name = name
        self.age = age

    def say_hi(self):
        print("hello", self.name)

    def age(self):
        print("age",self.age)

p = Person1('kashindra', 21)
p.say_hi()
p.age()

文件“”,第 16 行,在 TypeError: 'int' 对象不可调用

【问题讨论】:

  • 在类Person1内定义age
  • 不要在类中为变量self.age和方法def age(self)使用相同的名称

标签: python class init


【解决方案1】:

在您的类中,您将age 定义为一个变量,但您也将它定义为一个函数。您需要做的是重命名函数。

class Person1:
    def __init__(self, name, age):
        self.name = name

        self.age = age

    def say_hi(self):
            print("hello", self.name)

    def say_age(self):
        print("age", self.age)

p = Person1('kashindra', 21)
p.say_hi()
p.say_age()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-09-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多