python基础--基础函数

定义

def 函数名():
    函数体

注意:代码执行到定义函数的时候不会执行函数体,只是在内存中存储了函数名和默认参数等,只有调用的时候函数体才会执行

调用

函数名()

注意:函数调用的时候执行过程是:先到调用处,然后进入函数体执行,最后返回到调用处(因为携带了结果有可能需要赋值)

函数说明

定义

函数体第一行写一个字符串,用一对引号包裹,也可以多引号包裹

查看

help(函数名)

这里函数名后一般没有括号

参数

形参

定义函数的时候定义的参数

实参

调用函数的时候传递的参数

位置参数

形参和实参位置和个数一一对应

关键字参数/命名参数

  • 调用函数传递实参的时候,指定形参赋值(使用形参名指定)
  • fun1(‘XX’,age=18)
  • 给非缺省参数命名传值,有一个的话必须全部参数命名传值,允许打乱顺序传值,不推荐使用

缺省参数

不定长参数

一般参数

在定义形参的时候,在形参前面加*号,可以接受后面无确定赋值对象的不定长的所有值,并打包成元组

在调用的时候,实参列表或元组前面加*号,实现传值的时候拆包

字典参数

在定义的时候,在形参前面加**号,可以接受后面没有指定形参接受的命名参数

调用的时候,实参字典前面加**号,实现传值的时候拆包

注意点

必须写在形参列表的最后,字典参数必须出现在一般参数后面

返回值

return返回结果给函数调用者,函数调用者接收到返回值时可以使用变量接收

return会截断函数体执行,直接返回

不带return的函数自动返回None

返回多个值

  • 通用办法:装箱,根据实际需求装箱返回
  • 值少的推荐方法:多元素直接跟在return后面,默认返回的是一个元组

四种函数类型

  • 无参无返回值
  • 无参又返回值
  • 有参无返回值
  • 有参有返回值

局部变量

函数内定义的变量,只能在函数体内部存在使用

全局变量

在函数外定义,在整个程序都能使用

global:在函数内声明变量为全局变量

引用

变量是通过内存起始地址来查找数据的

可变数据类型

列表,字典

当修改数据的时候,直接在源数据上面修改

函数中传递的时候,修改形参会影响实参,但给形参赋新值不会影响

不可变数据类型

数字,布尔值,字符串,元组

当象征性的修改数据时,会重新创建一个新的数据块,然后把新的地址赋值

函数中传递的时候,修改形参不影响实参指代的数据

匿名函数

创建一个小型的一次使用的函数

lambda [arg1[,arg2[,….argn]]:expression

sum = lambda x,y:x+y
sum(11,12)

传递

函数可以作为参数传递,尤其是匿名函数

猜你喜欢

转载自blog.csdn.net/lb786984530/article/details/79895126