在Python中返回不同的类型

2024-04-19 07:16:09 发布

您现在位置:Python中文网/ 问答频道 /正文

没有问题,但是: 假设a等于90,b等于100,你想返回 “90小于100” 如何让它返回(不打印)“90小于100”而不是“a小于b”

我试过用逗号,但做得不好,它返回“(90,“小于”,100)”我猜你必须把a和b转换成字符串?你知道吗


Tags: 字符串逗号
3条回答
>>> a = 90
>>> b = 100
>>> '{0} is less than {1}'.format(*sorted([a, b]))
'90 is less than 100'

如果你已经知道一个比另一个大,这就简单多了

'{0} is less than {1}'.format(a, b)
<> p>太好了!你知道吗

def main():    
    a = 90
    b = 100
    msg = foo(a,b)
    print msg

def foo(a,b):

    if a < b:
        msg = "a = %d is less than b = %d " % (a,b)
        return (msg)
    elif a> b:
        msg = "b = %d is less than a = %d " % (b,a)
        return (msg)
    else:
        msg = "a = %d is eual to a = %d " % (a,b)
        return (msg) 


if __name__=="__main__": main()

您可以返回如下元组:

def func():
    # do stuff
    return (90, 'is less than', 100)

然后你可以通过做一些

value1, text, value2 = func()

值1将等于90,文本将等于“小于”,最后,值2将等于100

这是一种方法。这是另一个回信词。你知道吗

def func():
    # do stuff
    return {'a': 90,
            'text': 'is less than',
            'b': 100}

然后你可以这样使用它:

ret = func()
print ret['a'] # prints 90
print ret['text'] # prints is less than
print ret['b'] # prints 100

做这种事有很多方法。你甚至可以为此创建一个特定的对象。这取决于你想如何使用你的数据

相关问题 更多 >