• 8、Python-函数


    定义

    def printInfo():
        print("人生苦短,我用Python")

    调用

    def printInfo():
        print("人生苦短,我用Python")
    
    printInfo()

    带参函数

    def printInfo(a, b):
        print(a + b)
    
    printInfo("人生苦短", "我用Python")

    缺省参数函数

    # 带有默认值的参数一定要位于参数列表的最后面
    def printInfo(a, b="我用Python"):
        return a + b;
    
    print(printInfo("人生苦短"))

    不定长参数

    # 加了星号(*)的变量会存放所有未命名的变量参数,b为元组
    def printInfo(a, *b):
        print(a)
        print(b)
    
    printInfo("人生苦短","我用","Python")
    
    # 人生苦短
    # ('我用', 'Python')
    
    printInfo("人生苦短")
    
    # 人生苦短
    # ()
    # 加**的变量会存放命名参数,即形如key=value的参数, b为字典。
    def printInfo(a, **b):
        print(a)
        print(b)
    
    printInfo("人生苦短", x="我用", y="Python")
    
    # 人生苦短
    # {'x': '我用', 'y': 'Python'}
    
    printInfo("人生苦短")
    
    # 人生苦短
    # {}
    def printInfo(a, *b, **c):
        print(a)
        print(b)
        print(c)
    
    printInfo("人生苦短", 1, "a", x="我用", y="Python")
    
    # 人生苦短
    # (1, 'a')
    # {'x': '我用', 'y': 'Python'}
    
    printInfo("人生苦短")
    
    # 人生苦短
    # ()
    # {}

    带返回值函数

    def printInfo(a, b):
        return a + b;
    
    print(printInfo("人生苦短", "我用Python"))

    返回多个值函数

    # 本质是利用了元组
    def printInfo(a, b):
        return a, b;
    
    a, b = printInfo("人生苦短", "我用Python")
    print(a, b)

    函数拆包

    def printInfo(a, *b, **c):
        print(a)
        print(b)
        print(c)
    
    a = (1, 'a')
    b = {'x': '我用', 'y': 'Python'}
    
    printInfo("人生苦短", a, b)
    
    # 人生苦短
    # ((1, 'a'), {'x': '我用', 'y': 'Python'})
    # {}
    
    printInfo("人生苦短", *a, **b)
    
    # 人生苦短
    # (1, 'a')
    # {'x': '我用', 'y': 'Python'}

    匿名函数

    sum = lambda arg1, arg2: arg1 + arg2
    print(sum(10, 20))
    # 30
    
    
    # 函数作为参数传递
    def fun(a, b, opt):
        print("a =", a)
        print("b =", b)
        print("result =", opt(a, b))
    fun(1, 2, lambda x, y: x + y)
    # a = 1
    # b = 2
    # result = 3
    
    stus = [
        {"name": "zhangsan", "age": 18},
        {"name": "lisi", "age": 19},
        {"name": "wangwu", "age": 17}
    ]
    stus.sort(key=lambda x: x['age'])
    print(stus)
    # [{'name': 'wangwu', 'age': 17}, {'name': 'zhangsan', 'age': 18}, {'name': 'lisi', 'age': 19}]
  • 相关阅读:
    Winform 切换语言 实现多语言版本
    PowerDesigner导出表到word
    【SQL】两个带order by查询进行union all报ORA-00933错误的解决方法
    读写txt文件
    c# 进度条的使用(例子)、线程
    设计模式——策略模式
    设计模式——简单工厂模式
    解决JSP路径问题的方法(jsp文件开头path, basePath作用)
    反射
    Struts2中的valuestack
  • 原文地址:https://www.cnblogs.com/jhxxb/p/10415215.html
Copyright © 2020-2023  润新知