zoukankan      html  css  js  c++  java
  • 函数返回值

    def test1():
    pass

    def test2():
    return 0

    def test3():
    return 0,'hello',['a','b','c'],{'name':'alex'}

    x=test1()
    y=test2()
    z=test3()
    print('%s ' %x , '%s '%y,z)
    可以有0返回值,一个返回值,多个返回值;其实都是一个返回值;0个返回值返回的是一个None,一个返回值返回的是一个object,多个返回值返回的是一个元组;
    ----------------------------------------------------------------------------------------------------------------------------------------
    返回lambda函数:
    class Student(object):
        def __getattr__(self, attr):
            if attr=='age':
                return lambda: 25  #返回的是函数的内存地址
    s = Student()
    print(s.age() ) #打印25

    与下面这个代码一样
    class Student(object):
    def __getattr__(self, attr):
    if attr=='age':
    def a(): return 25
    return a  #返回的是函数的内存地址
    s = Student()
    print(s.age() ) #打印25


    下面这个__getattr__ 的返回值与上面的不一样:
    class Student(object):
    def __getattr__(self, attr):
    if attr=='age':
    return (lambda: 25)()  #返回的是函数执行后的结果
    s = Student()
    print(s.age ) #打印25






  • 相关阅读:
    vux 使用 loading 组件
    vux 使用 font-awesome
    批处理常用符号详解
    jQuery.parseJSON vs JSON.parse
    MVC view操作(Razor语法)
    原生JavaScript技巧大收集
    .Net实现表达式计算(公式) 表达式字符串
    .Net文档下载
    MVC下载文档
    .Net实现Word文档及导出
  • 原文地址:https://www.cnblogs.com/lighthouse/p/9414152.html
Copyright © 2011-2022 走看看