如何在函数中返回多个值(Python)?

这个问题在这里已经有了答案:

  • 替代Python中的switch语句? 44个答案

  • 只需使用if...else语句。 我想你想要的是:

    def person_detail(Person):
        Age, Sex = Person
        if Age<16:
            return 3 if Sex else 2
        else:
            return Sex
    

    您可以使用多个if语句,if-else语句或字典:

    d = {(0, 0): 0, (0, 1): 1, (1, 0): 2, (1, 1): 3}
    
    def person_detail(Person):
        Age, Sex = Person
        return d[Age < 16, Sex]
    

    在我看来,您应该使用@miindlek建议的“long” if/else来清除功能的不同结果。 此外,我建议不只是return Sex还要返回1 if Sex else 0 ,再次确切地说明函数返回。

    但是如果你更喜欢有一个非常短的return线,你也可以使用如下三元语句:

    return Sex + 2 if Age < 16 else Sex
    

    甚至更短(但不容易理解):

    return (Age < 16) * 2 + Sex
    
    链接地址: http://www.djcxy.com/p/42771.html

    上一篇: How to return multiple values in a function (Python)?

    下一篇: elif using dictionary but without excecute the values