zoukankan      html  css  js  c++  java
  • 02-Python之函数

    1、掌握函数的定义和调用。 2、掌握位置参数、关键字参数和参数默认值的使用。 3、掌握参数返回值的定义和使用。 使用函数的目的:①提高代码复用性 ②分而治之-模块化设计的思想,将问题分解为一系列小问题 ③利于代码的维护和管理 函数的三要素:参数、函数体、返回值

    1、定义

    def 函数名 (参数): 函数体 return 返回值

    2、调用

    函数名 (参数)

    3、参数

    • 位置参数:严格按照位置顺序,用实参对形参进行赋值(关联),实参与形参必须一一对应,个数相等,一般用在参数比较少的时候。
    • 关键字参数:打破位置限制,直呼其名的进行值的传递(形参=实参),必须遵守实参与形参数量上一一对应,多用在参数比较多的场合。
    • **默认参数:**在定义阶段就给形参赋值,该形参的常用值。在调用函数时,可以不对该形参传值,位置形参一定要在默认形参前面
    • 参数可选: def name(first_name,last_name,middle_name=None)
    • 可变长参数
      • *args:该参数必须放在参数列表的最后
      • **kwargs:以字典的形式打包传递给kwargs
    # args
    def foo1(x,y,z,*args):
            print(x,y,z)
            print(args)
    foo1(1,2,3,4,5,6)
    """
    1 2 3
    (4,5,6)
    """
    # 实参打散
    def foo2(x,y,z,*args):
            print(x,y,z)
            print(args)
    foo2(1,2,3,[4,5,6])
    """
    1 2 3
    ([4,5,6])
    """
    # **kwargs
    def foo3(x,y,z,**kwargs):
            print(x,y,z)
            print(kwargs)
    foo3(1,2,3,a=4,b=5,c=6) #多余的参数以字典的形式打包传递给kwsrgs
    """
    1 2 3
    {'a':4,'b':5,'c':6}
    """
    # 字典形式打散
    def foo3(x,y,z,**kwargs):
            print(x,y,z)
            print(kwargs)
    foo3(1,2,3,**{a=4,b=5,c=6}) #多余的参数以字典的形式打包传递给kwsrgs
    """
    1 2 3
    {'a':4,'b':5,'c':6}
    """
    # 可变长参数的组合使用
    def foo5(*args,**kwargs):
            print(args)
            print(kwargs)
    foo(1,2,3,a=4,b=5,c=6)
    """
    (1,2,3)
    {'a':4,'b':5,'c':6}
    """
    

    注意:

    • 位置参数可以与关键字参数混合使用
    • 但是位置参数必须放在关键字参数前面
    • 不能为同一个形参重复传值
    • 默认参数应该设置为不可变类型(数字、字符串、元组)
    • 通过global在函数体内定义全局变量

    4 返回值

    • 单个返回值
    • 多个返回值——以元组的形式
    def foo(x):
            return 1, x, x**2, x***3                   #打包返回
    
    • 没有return,返回值为None

    5 匿名函数

    5.1 基本形式

    lambda 变量:函数体

    5.2 常用用法

    在参数列表中最适合使用匿名函数,尤其是与key = 搭配

    • 排序 sort() sorted()
    ls = [(93, 88), (79, 100), (86, 71), (85, 85), (76, 94)]
    ls.sort()
    print(ls)
    
    ls.sort(key=lambda z: z[1])
    print(ls)
    
    temp = sorted(ls, key=lambda x: x[0]+x[1])  
    print(temp)
    
    temp = sorted(ls, key=lambda x: x[0]+x[1], reverse=True)  # 降序
    print(temp)
    """
    [(76, 94), (79, 100), (85, 85), (86, 71), (93, 88)]
    [(86, 71), (85, 85), (93, 88), (76, 94), (79, 100)]
    [(86, 71), (85, 85), (76, 94), (79, 100), (93, 88)]
    [(93, 88), (79, 100), (85, 85), (76, 94), (86, 71)] 
    """
    
    • max() min()
  • 相关阅读:
    Factorial Trailing Zeroes
    Convert Integer A to Integer B
    函数防抖、函数节流
    localstorage sessionstorage和cookie的区别
    element中表格中的表头与表格内容边框错位的解决方法
    解决Minio生成图片文件的分享链接无法正常下载的问题
    gin编写后端API的使用技巧
    YOLOV5源码解读-export.py网络结构、配置文件
    《三、YOLOV3细节原理全解析》
    《二、YOLOV2细节原理全解析》
  • 原文地址:https://www.cnblogs.com/lyszyl/p/12261769.html
Copyright © 2011-2022 走看看