zoukankan      html  css  js  c++  java
  • 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}]
  • 相关阅读:
    MySQL中 Data truncated for column 'xxx'解决方法
    JAVA中循环删除list中元素的方法总结
    Java 键盘输入数字(空格隔开) 将数字存入数组
    linux查看服务器并发连接数
    解决 httpclient 下 Address already in use: connect 的错误
    知识点--实际开发中软引用或弱引用的使用场景
    无序hashset与hashmap让其有序
    bool的值分别为0,1;那哪个代表true哪个代表false?
    jquery-ui autocomplete在模态框(model)中,出不来
    vue-Treeselect实现组织机构(员工)下拉树的功能
  • 原文地址:https://www.cnblogs.com/jhxxb/p/10415215.html
Copyright © 2011-2022 走看看