Python进修教程(learning Python)--2.3.5 Python返回多个值题目

    添加时间:2013-7-3 点击量:

        本节首要进修Python的函数是如何同时返回多个值的题目。


        在进修Python的时辰诧异的发明,Python的函数可以同时返回多个值,很有意思。



    #define function sum
    
    def sum(x, y):
    z = x + y
    x = x ^ y
    y = x ^ y
    x = x ^ y
    return z, x, y

    #define function main
    def main():
    a = int(raw_input(plz input a ))
    b = int(raw_input(plz input b ))
    c = sum(a, b)
    print(c)

    #entry of programme
    main()


      先看见地度的履行成果如何



    plz input a 12
    
    plz input b 13
    (25, 13, 12)


      成果里(25,13,12)这个看上去很新鲜,这是Python里的tuple(元组),新名词,没紧要我们后边将list时会说起。在子函数sum里,除了乞降(第3行)之外还有互换x和y的值的运算操纵(第4~6行),返回z、x、y(第7行)给main函数的c(第13行)的打印成果(第14行)来看,确切x和y互换了值。


        那main函数里的a和b有变更么?a还是12,b还是13么?我们在main函数里在print(c)(第14行)之后增长两条打印语句,分别打印a和b的值(第15、16行),看看a和b变了没?    



    #define function sum
    
    def sum(x, y):
    z = x + y
    x = x ^ y
    y = x ^ y
    x = x ^ y
    return z, x, y

    #define function main
    def main():
    a = int(raw_input(plz input a ))
    b = int(raw_input(plz input b ))
    c = sum(a, b)
    print(c)
    print(a)
    print(b)

    #entry of programme
    main()


      运行成果 



    plz input a 12
    
    plz input b 13
    (25, 13, 12)
    12
    13


      


        结论是不影响a和b的值。









        调用sum函数时,将a和b的值传递一份给x和y(a和x都指向12地点数据单位)(b和y都指向13地点数据单位),在sum函数里x和y经由过程互换操纵,改变了履行x和y指向的数据单位。






    智普教导Python www.jeapedu.com


    
    

    ———————————————————————————————————————————

    所有随风而逝的都属于昨天的,所有历经风雨留下来的才是面向未来的。—— 玛格丽特·米切尔 《飘》
    分享到: