• python中函数详解


    '''
    1、什么是函数?
    函数是一种工具,封装一个可重复调用的代码块
    
    2、为什么要用函数?
    ①如果不使用函数,代码将变得冗余。
    ②可读性差
    
    3、怎么用函数?
    定义函数
    调用函数
    '''

    函数分为:有参函数、无参函数、空函数

    # 有参函数
    def add(x, y):
        return x + y
    
    
    # 无参函数
    def welecome():
        print('welecome to my home!')
    
    
    # 空函数
    def login():
        pass

    函数的返回值:

    '''
    1、不写return,默认返回None
    2、只写return,只有结束函数体代码的效果,返回None
    3、return None,与只写return的效果一样
    4、return 一个值,可以将返回的结果当成一个变量来使用
    5、return 多个值:
        1、默认返回一个元组
        2、可以自己指定返回的数据类型
        3、函数的返回值不想被修改
    '''

    函数的参数:

    '''
    1、参数的类型:
        形参:函数定义时的参数
        实参:函数调用时,将实参传递给形参
    2、传参的方式:
        位置传参:默认以位置一一对应
        关键字传参:指定形参
        默认参数:当没有传入参数时,函数默认的参数
    3、可变长参数:
        *args:接收所有溢出的位置参数
        **kagrs:接收所有的关键字参数
        *:放到实参中将可迭代对象打散
    '''

    函数的定义与命名规范:

    '''
    函数的命名规范与变量名一样
    关键字def 函数名(index) 括号:
        函数描述:函数的功能描述
    '''

     实参与形参:

    x = 1 
    y = 2
    a = 3
    b = 4
    def add(a, b):  # a,b为形参
        print(a + b)
    add(x, y)    # x,y为实参
    
    >>>output:3
    View Code

    关键字参数:

    def register(name,age):
        print(f'name:{name}
    age:{age}
    gender:{gender}')
    
    register('yyh',18,)
    register(age=18,name='yyh')
    
    # 位置参数一定一定要在关键字参数之前
    register(age=18,'yyh') # 报错 positional argument follows keyword argument
    View Code

     默认参数:

    def register(name,age,gender='male'):
        print(f'name:{name}
    age:{age}
    gender:{gender}')
    
    register('yyh',18,)
    View Code

    可变长参数:

    def add(x,y,*agrs):   # *args接收所有溢出参数
        sum = x + y
        for i in agrs:
            sum += i
        return sum
    
    
    print(add(1, 2,3,4,5))
    
    >>>ouput:15
    View Code
    def join(name1,name2,**kwargs):
        print(name1,name2)
        for key,value in kwargs.items():
            print(key,value)
    
    join('egon','jason',name3='yyh',name4='sean')
    
    >>>output:
    egon jason
    name3 yyh
    name4 sean
    View Code
    def foo(a, b, c, d, e, f):
        print(a, b, c, d, e, f)
    
    
    def bar(*agrs, **kwargs):
        foo(*agrs, **kwargs)
    
    bar(1,2,3,4,10,20)
    View Code
  • 相关阅读:
    对数线性模型与线性链条件随机场
    25匹马,5个跑道,每个跑道最多能有1匹马进行比赛,最少比多少次能比出前3名?前5名?
    SVM 与 LR的异同
    EM算法简易推导
    K-means算法的优缺点
    自助采样包含训练集里63.2%的样本?
    指数加权移动平均
    oracle 对于用户的相关操作
    docker 安装 maven 私有库 nexus3
    idea 自动注入@Autowired 警告 Field injection is not recommended 关闭
  • 原文地址:https://www.cnblogs.com/Ghostant/p/11826800.html
Copyright © 2020-2023  润新知