【问题标题】:how to use more than one function with in python class?如何在 python 类中使用多个函数?
【发布时间】:2020-05-24 00:56:12
【问题描述】:

我已经定义了一个具有 name 和 age 属性的 python 类。我正在尝试打印此类中最古老和最长的对象名称。 最旧的工作正常,但要找到最长的名称,我不能使用 len() 和 max() 的一个函数,因为 len() 不接受多个参数。我必须先将名称长度定义为属性,然后再定义最大值。我的代码副本如下。感谢您的帮助:)

class NewClass:
    def __init__(self, name, age):
        self.name = name
        self.age = age
        self.length = len(name)

def Oldest(*args):
    return max(args)

# def Longets(*args):     this doesn't work since len takes one argument only
#     return max(len(args))

def Longest(*args):
    return max(args)

person1 = NewClass('Cindy', 24)
person2 = NewClass('Amy', 28)
person3 = NewClass('fifififi', 27)

print(f'The oldest person is {Oldest(person1.age,person2.age,person3.age)} years old')
print(f'longest name has {Longest(person1.length,person2.length,person3.length)} character')

【问题讨论】:

    标签: python


    【解决方案1】:

    您可以使用列表推导:

    def Longets(*args):
        return max([len(arg) for arg in args])
    

    【讨论】:

      猜你喜欢
      • 2022-06-23
      • 2022-12-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-29
      • 2018-03-19
      • 1970-01-01
      相关资源
      最近更新 更多