python函数基础

函数

  • 自定义函数
  • 调用函数
  • 函数的参数
  • 函数的递归

参数传递方式

  • 位置传递
fact(1,2)
  • 名称传递
fact(m=1,n=2)

关键字参数

def Hello(greeting="Hello",name="world"):
    print('{},{}!'.format(greeting,name))

Hello()
Hello("goodbye")
Hello("greeting","university")

  • 通过名称指定的参数叫做关键字参数,调用时候与位置无关
  • 可指定默认值,调用函数可以不提供参数,或者提供部分参数

位置参数和关键字参数可以混合使用,但位置参数必须在前、关键字参数在后

可变参数

  1. 不定长参数,在调用函数的时候,可以接受任意数量的实参,这些实参在传递给函数的时候会被封装成字典或者元组
  2. 一般情况下不定长参数会放在一般参数的最后,一般参数会按照顺序一一对应,剩下的传给补丁长参数
  3. 其实不定长参数也可以放在一般参数的前面,但是调用的时候必须按照关键字参数的形式给对应位置赋值
def StuInfo1(name,*args):
    print('姓名:',name,'其他,',args)

def StuInfo2(name,**args):
    print('姓名:,',name,',其他:,',args)

def StuInfo3(name,*args,country='中国'):
    print('姓名:', name, ',国家:', country, ',其他:', args)

返回值

  • 函数可以返回多个返回值
  • return 传递函数返回值
  • 返回值可以有也可以没有
  • 没有返回值 return None

作用域

局部变量 全局变量
定义位置 函数中 函数体外
作用域 函数体内 全局
生命周期 函数结束释放 在程序结束前存在

global

nolocal

  • nonlocal: 在Python中,函数的定义可以嵌套,即在一个函数的函数体中可以包含另一个函数的定义。
  • 通过nonlocal关键字,可以使内层的函数直接使用外
    层函数中定义的变量

原文地址:https://www.cnblogs.com/mengxiaoleng/p/11549189.html