• CSIC_716_20191109【函数的语法,以及函数的分类,可变长参数*args】


    函数

    定义、作用、及使用方式

    函数是一种工具,可以被重复调用。

    使用函数可精简重复代码,减少冗余,增加代码的可读性。

    函数要先构造函数,然后调用函数。

    构造及调用函数的语法结构

    关键字def  函数名def_name( 形参1,形参2) :

      ''' 函数的功能描述'''

      函数体

    ---------------调--------------用-------------------

    函数名def_name(实参1,实参2)

    示例如下:

    def def_name(a, b, *args):
        ''' 这里是函数的功能描述'''
        print('这里是函数体', a, b)
        return
    
    
    def_name('你', '好')  # 这里是函数体 你 好
    

      函数名的命名规范与变量名一样,在做实际项目的时候,把将要实现的功能用函数逐个列举出来,函数体暂时先用pass替代,设计好架构之后可以进行代码编写。

    函数可分为三种:空函数、无参函数、有参函数。

    空函数:

    def func1( ):
        pass  # 函数体只有pass
    

    无参函数:

    def func2( ):  # 括号里面没有形参
        print('这里是函数体')  # 函数体的代码,不依赖外界的值
    

    有参函数

    def func3(x,y):  # 有形参
        sum1 = x + y  # 函数体的代码依赖形参
        print(sum1)
    

      

    从返回值return角度看,有三大类:(函数体在执行过程中遇到return会立即终止,并跳出函数)

    第一种:不写return,只写return,者写return None

    return是函数结束的标志,不写return会在函数体执行完之后,默认返回None,只写return和写return None的效果一样。

    第二种:return一个值

    return返回的值可作为变量使用

    def func3(x, y):  # 有形参
        sum1 = x + y  # 函数体的代码依赖形参
        return sum1
    
    
    toatal = func3(7, 8)
    print(type(toatal), toatal)  # <class 'int'> 15
    

      

    第三种:return多个值

    return多个值的时候,这多个值默认以元组形式返回,也可以自己制定返回数据的类型。

    def func4(x, y):  # 有形参
        sum1 = x + y  # 函数体的代码依赖形参
        sub1 = x - y
        return sum1, sub1
    
    
    subtraction = func4(9, 6)
    print(type(subtraction), subtraction)  # <class 'tuple'> (15, 3)
    

      也可以改变返回值类型,举例将默认的元组变成列表:

    def func4(x, y):
        sum1 = x + y
        sub1 = x - y
        return sum1, sub1
    
    
    subtraction = list(func4(9, 6))  # 将元组转为列表
    print(type(subtraction), subtraction)  # <class 'list'> [15, 3]
    

      

    在调用有参函数时,需向函数传递参数,有五种传参的方式:

    位置参数

    调用时,按照形参的位置,直接在调用时按照形参顺序,对应传递相应的值。上文例子中调用函数均使用位置参数的方式。

    关键字参数

    调用时,在实参前面表标上形参的名字,此时就不用按照顺序传值。

    def func3(x, y):  
        sum1 = x + y  
        return sum1
    
    
    toatal = func3(y=7, x=8)
    

    默认参数

     在定义函数时,在形参后面直接赋值,作为函数的默认参数。如果在调用函数时如果不传值,则函数体默认使用默认参数。

    def func3(x=1, y=1):  
        sum1 = x + y  
        return sum1
    
    
    print(func3())  # 2
    

      

     可变长参数

    *args 在定义函数时,预留的用于接收溢出的位置参数的形参。

    **kwargs 在定义函数时,预留的用于接收溢出的关键字参数的形参。  溢出的值都存入字典。

    【*】号在形参中用于聚合,在实参时用于打散。

    *kwargs表示打散字典,取key。

    如果位置参数和关键字参数混用,位置参数一定要放在关键字参数前面。

    # _*_ coding: gbk _*_
    # @Author: Wonder
    def find(w, z, *args):
        sum1 = w + z
        print(args)  # (4, 5)
        return sum1
    
    
    eee = find(2, 3, 4, 5, )
    
    
    def find2(w, z, **args):
        sum1 = w + z
        print(*args)  # q p
        print(args)  # {'q': 4, 'p': 5}
        return sum1
    
    
    r = find2(w=2, z=3, q=4, p=5, )
    

      

  • 相关阅读:
    Row_Number 分页
    获取分组前5条数据
    sqlserver数据库学习
    改变电脑背景颜色保护视力
    问题集锦
    修改sqlserver自动编号的当前列值
    datatable数据批量倒入数据库
    sqlserver case
    空连接的写法
    遍历日志文件并打印
  • 原文地址:https://www.cnblogs.com/csic716/p/11826569.html
Copyright © 2020-2023  润新知