• 函数初识


    • 函数的定义与调用
    def func():  # 使用关键字def定义一个函数
        print('成功调用')
    func()  #使用函数名加括号调用一个函数
    • 函数的返回值

    函数的返回值分为三种情况

    1.无返回值

    2.有一个返回值

    3.有多个返回值

    函数返回值可以起到结束函数的作用

    def func(m):
        if m==1:
            print('成功调用,一个返回值')
            return 1  # 使用关键字return设置返回值
        else:
            print('成功调用多个返回值')
            return 1,2,3,4
    
    
    ret = func(1)  # 接受返回值
    print(ret)
    ret = func(2)  # 使用一个变量接受多个返回值时,将多个返回值组成元祖
    print(ret)
    ret1,ret2,ret3,ret4 = func(2)  # 使用规定个数个变量接受返回值
    print(ret1,ret2,ret3,ret4)
    • 函数的形式参数、位置参数和函数的传参

    函数的形式参数即在函数定义时设置的接受实际参数的参数

    形式参数有四种

    位置参数

    动态位置参数  *args  可以接受任意多个位置参数并将他们组合为元祖

    关键字参数

    动态关键字参数  **kwargs  可以接受任意多个关键字参数,并将他们组合为字典、

    形式参数的定义要按照位置参数,动态位置参数,关键字参数,动态关键字参数的顺序来

    函数的实际参数是指在函数调用时实际传给函数的参数

    实际参数分为位置参数和关键字参数

    函数实际参数的传递要参照,函数形式参数的定义顺序

    函数传参是指将实际参数传给位置参数

    def func(a, b, *args, c='c', **kwargs):
        print(a, b, args, c, kwargs)
    
    
    func('a','b',1,2,3,4,5,c='6',dd='d',ee='e')
    #输出结果为a b (1, 2, 3, 4, 5) 6 {'ee': 'e', 'dd': 'd'}
    •  在传参的时候可以使用*将原来的序列按顺序打散,并将序列的各个值传递给函数,或者使用**将字典打散按关键字传参
      def func(a,b,c,d):
          print(a,b,c,d)
      
      
      dic = {'a':'aa','b':'bb','c':'cc','d':'dd'}
      func(**dic)  # 使用**将字典打散,并向函数传递关键字参数
      lis = ['aa', 'bb', 'cc', 'dd']
      func(*lis)  # 使用*将序列按顺序打散,并将序列的各个值传递给函数

     如果函数参数的默认值是可变数据类型那么如果不传参数,那么就公用这个数据类型的资源

    def func(l=[]):
        l.append(1)
        print(l)
    
    
    func()  # 输出结果为[1]
    func()  # 输出结果为[1, 1]
    func([])  # 输出结果为[1]
    func()  # 输出结果为[1, 1, 1]
    func([])  # 输出结果为[1]
    func()  # 输出结果为[1, 1, 1, 1]
  • 相关阅读:
    PCL PointCloud类型介绍
    A+B问题
    高效跑批设计思路——针对系统中的批量、日终任务
    反内耗:停止心理内耗才能变更强
    程序员面试金典 01.01. 判定字符是否唯一
    《同时读写文件 —— 偏移量》
    oracle 11g https://localhost:1158/em 无法访问 & 设置自增id
    https://zhuanlan.zhihu.com/p/422463115语音转换概述及其挑战: 从统计建模到深度学习
    VAD(Voice Activity Detection)算法详解
    通俗理解一个常用的降维算法(tSNE)https://cloud.tencent.com/developer/article/1549992
  • 原文地址:https://www.cnblogs.com/baisexiaoxuanfeng/p/10598110.html
Copyright © 2020-2023  润新知