一、可调用类型
在 python中所有的类型都是对象,即使是 int,float这些其他语言中的基础类型在 python中也是以对象的形式存在,函数和方法也不例外。
在 python中函数和方法是可调用类型的两个子集,可调用类型一共有 5种:
最后两种就是我们常说的函数和方法,函数在类外被定义,而方法在类里面被定义,我们也可以说方法是类里面的函数,如:
需要注意的是,在 C++、JAVA这些面向对象的语言中函数和方法指的是同一个概念,它们没有像 python一样做出类型区分,只是在叫法上有些区别而已。
在这篇教程中我们只讲函数,至于方法等我们讲到类的时候再详细地讲,在这之前大家像用函数一样用方法就行。
二、函数的属性
前面我们讲到每个函数都是一个对象,对象自然有对应的属性:
1. :函数的注释,就是紧挨着函数名的一个字符串,用来注释函数,文档生产工具可以根据这些字符串生成对应的文档,如:
2. :函数的名字,如:
3. :包含默认参数名的元组,如:
三、函数的参数
函数的参数有两种,位置参数和关键字参数,这两者又分为有默认值和没有默认值两种类型。
位置参数和关键字参数的主要区别是,位置参数在传递的时候可以不指定变量名,而是按照约定的顺序进行赋值,而关键字参数必须指定变量名才能对其进行赋值,如:
所有的参数默认为位置参数,只有当使用 *分隔时后面的参数才会被看作关键字参数。
注意:
在定义函数时上面四种参数的书写顺序是有严格限制的,位置参数必须声明在最前面,同时有默认值的参数必须在没有默认值的参数后面,如:
当我们有很多参数要传递给函数时,我们可能会写出这样的代码:
这样的代码可以说是很糟糕的代码了,这时我们可以使用 和 来简化我们的代码,如:
的操作对象是列表或者元组,用来传递位置参数, 的操作对象是字典,用来传递关键字参数。
四、函数作为变量使用
既然函数是一种特殊的变量类型,那变量所具有的操作肯定也可以应用到函数上,比如:
1.赋值给其他变量:
2.作为参数传递
领取专属 10元无门槛券
私享最新 技术干货