python:函数基础、高级

版权声明:转载请说明出处 https://blog.csdn.net/Hulu_IT/article/details/84942687

#函数

###目标:
* 能够说出函数的作用
* 理解参数
* 作用域:全局变量和局部变量
* 理解return关键字
* 默认参数
* 关键字参数
* 可变参数
* 字典参数
* 匿名函数

####函数

  • 概念:将具有独立功能的代码块组织成为一个整体,使其具有特殊功能的代码集
  • 作用:加强代码的复用性,提高程序编写的效率
  • 基本语法

    # 函数定义:形参
    def 函数名(参数):			 
    	函数体
    	return 结果	# 根据你的需求来决定是否return
    
    # 函数调用:实参
    变量名 = 函数名(参数)
    
    
  • 作用域

    • 局部变量:函数内部定义的变量从函数定义位置开始到函数定义结束位置有效
    • 全局变量:函数外部定义的变量,从变量定义位置开始,在整个文件中有效。
      global 变量名
  • 默认参数

    # 默认参数的定义必须在位置参数的右侧
    # 默认参数在调用传值时,按照位置参数进行对待,从左至右依次赋值
    def test(a,b=2,c=3):
    	pass
    test(100,200,300) # a=100 b=200 c=300
    
  • 关键字参数

    # 关键字参数必须出现在位置参数的后面
    # 不允许使用关键字参数对同一个形参进行多次赋值
    # 关键字参数既可以为位置参数赋值,也可以为默认参数赋值
    # !!关键字参数只能出现在位置参数的后面,赋值时必须使用关键字参数传值,
    def test(a=100,b=200):
    	pass
    test(b=1)
    
  • 可变参数

    # 可变参数在一个函数/方法定义中只能出现一个
    # 可变参数只能出现在位置参数的后面,位置参数在左侧,可变参数在右侧
    # !!先定义位置参数,再定义可变参数,最后定义默认参数
    def test(*args):
    	pass
    test(1,2,3,4,5)
    
  • 字典参数

    # 字典参数在一个函数/方法定义中只能出现一个
    # 先定义位置参数,再定义可变参数,然后定义默认参数,最后定义字典参数
    def test(**kwargs):
    	pass
    test(a=1,b=2)
    
  • 递归函数(了解)

    递归分为两个重要的阶段:递推+回溯
    
  • 匿名函数:lambda

    # 格式一:
    # 定义:	函数名 = lambda 形参 : 返回值
    # 调用:	结果 = 函数名(实参)
    add = lambda a,b : a+b
    add(5,4)
    # 格式二:
    # 定义并调用:	结果 = (lambda 形参 : 返回值)(实参)
    c = (lambda a,b : a+b)(5,4)
    
    
  • 注意:

    • parameter:形参
    • arguments:实参
    • 函数参数位置:位置参数,可变参数,默认参数,字典参数

猜你喜欢

转载自blog.csdn.net/Hulu_IT/article/details/84942687