python指定类型函数 python中定义类

Python函数和模块的定义与使用,包括变量的类型及匿名函数用法 函数是组织好,可重复使用的 , 用来实现相关功能的代码段
函数提高了代码的重复利用率和应用的模块性 。
除Python自带的函数之外 , 也可以自己创建函数,叫做自定义函数
语法:
函数代码块以def开头
参数为输入值,放于函数名后口号里面,
函数内容以冒号:开始,函数体缩进,return返回输出值
函数调用使用关键字参数来确定传入的参数值,此时,如果多个函数则不需要按照指定顺序 。
在定义函数时 , 指定参数默认值 。调用时如果不传入参数,则使用默认值
不定长部分如果没有指定参数,传入是一个空元组
加了两个星号**的参数会以字典的形式导入
/用来指明函数形参必须使用指定位置参数,不能使用关键字参数的形式 。
3.8版本之后的才能使用
不使用def定义函数,没有函数名
lamdba主体时一个表达式 , 而不是代码块,函数体比def简单很多
定义在函数内部的为局部变量,仅能在函数内部使用
定义在函数外部的为全局变量 , 可在全局使用
模块是将包含所有定义的函数和变量的文件 , 一般将同类功能的函数组和在一起称为模块 。
模块需要导入后,在调用相应函数进行使用
模块导入的方法:
从模块中导入一个指定的部分
把一个模块的所有内容全都导入
Python函数的参数类型Python函数的参数类型主要包括必选参数、可选参数、可变参数、位置参数和关键字参数,本文介绍一下他们的定义以及可变数据类型参数传递需要注意的地方 。
必选参数(Required arguments)是必须输入的参数,比如下面的代码 , 必须输入2个参数,否则就会报错:
其实上面例子中的参数 num1和num2也属于关键字参数,比如可以通过如下方式调用:
执行结果:
可选参数(Optional arguments)可以不用传入函数 , 有一个默认值,如果没有传入会使用默认值,不会报错 。
位置参数(positional arguments)根据其在函数定义中的位置调用,下面是pow()函数的帮助信息:
x,y,z三个参数的的顺序是固定的 , 并且不能使用关键字:
输出:
在上面的pow()函数帮助信息中可以看到位置参数后面加了一个反斜杠/ , 这是python内置函数的语法定义,Python开发人员不能在python3.8版本之前的代码中使用此语法 。但python3.0到3.7版本可以使用如下方式定义位置参数:
星号前面的参数为位置参数或者关键字参数,星号后面是强制关键字参数,具体介绍见强制关键字参数 。
python3.8版本引入了强制位置参数(Positional-Only Parameters) , 也就是我们可以使用反斜杠/语法来定义位置参数了,可以写成如下形式:
来看下面的例子:
python3.8运行:
不能使用关键字参数形式赋值了 。
可变参数 (varargs argument) 就是传入的参数个数是可变的,可以是0-n个,使用星号(*)将输入参数自动组装为一个元组(tuple):
执行结果:
关键字参数(keyword argument)允许将任意个含参数名的参数导入到python函数中 , 使用双星号(**),在函数内部自动组装为一个字典 。
执行结果:
上面介绍的参数可以混合使用:
结果:
注意:由于传入的参数个数不定,所以当与普通参数一同使用时,必须把带星号的参数放在最后 。
强制关键字参数(Keyword-Only Arguments)是python3引入的特性,可参考: 。使用一个星号隔开:

推荐阅读