lingcooo 2021-10-26 09:14 采纳率: 90.9%
浏览 44
已结题

'str' object is not callable不知道错在哪了!


class User():
    """初始化个人信息"""

    def __init__(self, first_name, last_name,
                 sex='man', age=''):
        self.first = first_name
        self.last = last_name
        self.sex = sex
        self.age = age

    # 个人信息输出
    def all_name(self):
        print('\nName: ' +
              self.first.title(), self.last.title(), '\n' +
              'Sex: ' + self.sex + '\n' + 'age: ' + str(self.age))

    # 描述工作的方法
    def user_job(self, work):
        if self.sex == 'man':
            print('Mr. ' + self.first.title() + ' is a '
                  + work + ' .')
        else:
            print('Mrs. ' + self.first.title() + ' is a '
                  + work + ' .')

    # 工作年限显示
    def user_work_year(self, year):
        if self.sex == 'woman':
            print('Mrs. ' + self.first.title() +
                  ' has worked ' + str(year) + ' years old .')
        else:
            print('Mr. ' + self.first.title() +
                  ' has worked ' + str(year) + ' years old .')


class NewUser(User):
    # 初始化父类
    def __init__(self, first_name, last_name, sex='man', age='',
                 marry='y'):
        super().__init__(first_name, last_name,
                         sex='man', age='')
        self.marry = marry

    # 打印是否结婚信息
    def marry(self):
        if self.marry == 'yes':
            print('O\'good.')
        else:
            print('really?')


my_user = User('liu', 'hai', 'woman', '36')
my_user.all_name()
my_user.user_job('wife')
my_user.user_work_year(15)

new_user = NewUser('wang', 'hai', 'man', '40', 'yes')
new_user.all_name()
new_user.user_job('nurse')
new_user.user_work_year(3)
new_user.marry()

最后的继承类NewUser的调用marry()提示 'str' object is not callable。不知道哪里错了。希望指教!

  • 写回答

3条回答 默认 最新

  • 辉煌仪奇 2021-10-26 09:22
    关注

    你这里的类方法名和类属性名重复了,将其中任意一个改变即可

    img


    下面我改变垒方法名

    
    class User():
        """初始化个人信息"""
    
        def __init__(self, first_name, last_name,
                     sex='man', age=''):
            self.first = first_name
            self.last = last_name
            self.sex = sex
            self.age = age
    
        # 个人信息输出
        def all_name(self):
            print('\nName: ' +
                  self.first.title(), self.last.title(), '\n' +
                  'Sex: ' + self.sex + '\n' + 'age: ' + str(self.age))
    
        # 描述工作的方法
        def user_job(self, work):
            if self.sex == 'man':
                print('Mr. ' + self.first.title() + ' is a '
                      + work + ' .')
            else:
                print('Mrs. ' + self.first.title() + ' is a '
                      + work + ' .')
    
        # 工作年限显示
        def user_work_year(self, year):
            if self.sex == 'woman':
                print('Mrs. ' + self.first.title() +
                      ' has worked ' + str(year) + ' years old .')
            else:
                print('Mr. ' + self.first.title() +
                      ' has worked ' + str(year) + ' years old .')
    
    
    class NewUser(User):
        # 初始化父类
        def __init__(self, first_name, last_name, sex='man', age='',
                     marry='y'):
            super().__init__(first_name, last_name,
                             sex='man', age='')
            self.marry = marry
    
        # 打印是否结婚信息
        def marry1(self):
            if self.marry == 'yes':
                print('O\'good.')
            else:
                print('really?')
    
    
    my_user = User('liu', 'hai', 'woman', '36')
    my_user.all_name()
    my_user.user_job('wife')
    my_user.user_work_year(15)
    new_user = NewUser('wang', 'hai', 'man', '40', 'yes')
    new_user.all_name()
    new_user.user_job('nurse')
    new_user.user_work_year(3)
    new_user.marry1()
    

    img

    有帮助请采纳,有问题继续交流,你的采纳是对我回答的最大的肯定和动力

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 11月3日
  • 已采纳回答 10月26日
  • 创建了问题 10月26日

悬赏问题

  • ¥15 MYSQL 多表拼接link
  • ¥15 关于某款2.13寸墨水屏的问题
  • ¥15 obsidian的中文层级自动编号
  • ¥15 同一个网口一个电脑连接有网,另一个电脑连接没网
  • ¥15 神经网络模型一直不能上GPU
  • ¥15 pyqt怎么把滑块和输入框相互绑定,求解决!
  • ¥20 wpf datagrid单元闪烁效果失灵
  • ¥15 券商软件上市公司信息获取问题
  • ¥100 ensp启动设备蓝屏,代码clock_watchdog_timeout
  • ¥15 Android studio AVD启动不了