函数

1.函数的定义:

函数是指将一组语句的集合通过一个名字(函数名)封装起来,要想执行这个函数,只需调用其函数名即可

2.函数的参数

函数在调用的时候,可以传入参数,有形参和实参

形参:

形参变量只有在被调用时才分配内存单元,在调用结束时,即刻释放所分配的内存单元。因此,形参只在函数内部有效。

实参:

实参可以是常量、变量、表达式、函数等,无论实参是何种类型的量,在进行函数调用时,它们都必须有确定的值,以便把这些值传送给形参。函数调用结束返回主调用函数后则不能再使用该形参变量。

3.函数的4中形参类型

位置参数:

位置参数,字面意思也就是按照参数的位置来进行传参,此参数为必填

默认参数:

默认参数就是在定义形参的时候,给函数默认赋一个值,默认参数不是必填的,如果给默认参数传值的话,它就会使用你传入的值。 如:def  xx(age='18')

可变参数:

可变参数用*来接收,后面想传多少个参数就传多少个,如果位置参数、默认值参数、可变参数一起使用的的话,可变参数必须在位置参数和默认值参数后面。可变参数也是非必传的。

def more_arg(name,age,sex='nan',*agrs):  #位置参数、默认值参数、可变参数

  print(name,age,agrs)

more_arg('Marry',18,'nv','python','China')

关键字参数:

关键字参数使用**来接收,后面的参数也是不固定的,想写多少个写多少个,当然也可以和上面的几种一起来使用,如果要一起使用的话,关键字参数必须在最后面。

def kw_arg(name,**kwargs):#位置参数、关键字参数,调用的时候会把传入的关键字参数放到kwargs这个字典中

  print(name,kwargs)

kw_arg('sriba',sex='男',age=18)#调用,sex和age就是关键字调用

参数定义顺序:

必填参数>默认值参数>可变参数>关键字参数

4.局部变量与全局变量

定义在函数内的变量就叫局部变量,仅在函数内生效

定义在函数外的变量就叫全局变量,对函数内外均生效

5.内置函数

print(all([1,2,3,4,'']))  #如果list里面都为真的就返回true
print(any([0,0,0,1]))  #判断可迭代的对象里面的值是否有一个为真
print(dict(a=1,b=2))  #转换字典
print(max([12,3,4,5]))  #取最大值
print(round(3.1415926,3))  #取几位小数


6.递归函数:自己调用自己,递归最多调用999次
def dg():
  num = int(input('num:'))
  if num % 2 == 0:
    print('是偶数!')
    return
  else:
  dg()
dg()

7.匿名函数:一般用一次就不要了,可以节省内存空间

lambda x,b:x+b

与下方的函数一样:

def f(x,b)
  return x+b

 
原文地址:https://www.cnblogs.com/wangyujian/p/11722944.html