Python基础(九)--函数

函数的作用

  • 减少重复代码
  • 程序易于维护
  • 程序易于扩展

函数的定义

>>> def calculate(x,y):    #定义函数名为calculate,参数为x和y
    result = x+y
    return result             #返回结果

>>> a = calculate(x=3,y=4)       #调用,关键参数x=3,y=4
>>> print(a)
7

函数参数

形参,实参:形参类似与数学函数中的变量,实参是则是运算时变量实际的值

位置参数:调用函数时,可以按照函数定义时的位置顺序给定参数

关键参数:调用函数时,可以不按顺序给行形参,但须指明对应

默认参数:函数定义时,可以给某个形参定义好初始值,调用时可不给定其实参;默认参数必须写在最后

>>> def calculate(x,y,z=3):       #默认参数为z=3
    res = x+y+z
    return res

>>> a = calculate(3,4)        #位置参数对应,z可以不给定
>>> print(a)
10

非固定参数:可接受额外参数

  • *args接收的是元组,实参以位置参数实现
  • *kwargs接收的是字典,实参以关键参数实现
  • 由于位置参数需要写在最左,*args要能接收值的话,前面的参数都必须以位置参数实现
>>> def register(name,age,cn=00,*args,**kwargs):
    print(name)
    print(age)
    print(cn)
    print(args)
    print(kwargs)

    
>>> register('xing','55kg','yang','666',height=170)
xing
55kg
yang
('666',)
{'height': 170}

函数的返回值

 返回使用return关键词

  • 如果未指定return,则返回None
  • 函数执行过程中遇到return语句便会停止执行并返回值
>>> def test():
    return 1,2,4,4

>>> test()                #返回多个值会将变成元组
(1, 2, 4, 4)

函数的作用域

  • 局部变量和全局变量存在不同的内存空间,不会冲突
  • 就近原则:函数内部未定义变量时,会去全局变量里调用
  • 函数内部可定义全局变量,使用global 声明
  • globals(),locals() 可查看全局变量和局部变量
  • 函数内不可以修改全局变量
>>> name = 'xing'        #全局变量
>>> def test():
    name = 'lala'        #局部变量
    print(name)

    
>>> test()
lala
>>> print(name)
xing

 

posted @ 2019-08-21 11:14  lalaxing  阅读(594)  评论(0编辑  收藏  举报