.1、定义函数
(1)定义函数要用def语句,依次写出函数名、括号、括号中的参数和冒号:,然后,在缩进块中编写函数体,函数的返回值用return语句返回。例中函数名是 judge;参数是 age;返回值有 False。(2)isinstence函数用来判断数据类型,isinstance(object, classinfo)。
object -- 实例对象
classinfo -- 可以是直接或间接类名、基本类型或者由它们组成的元组。
基本类型可以是int,float,bool,complex,str(字符串),list,dict(字典),set,tuple。
元组是小括号组成的不可改变与列表类似的类型,例如:isinstance (a,(str,int,list))表示a的类型是元组中的一个即返回 True
(3)例中当age小于18时返回False,必须用print才能显示。
定义函数时,需要确定函数名和参数个数;
函数体内部可以用return随时返回函数结果;
函数执行完毕也没有return语句时,自动return None;
函数可以同时返回多个值,但其实就是一个tuple;
.2、函数参数
(1)位置参数
上例中的age就是一个位置参数,一旦设置必须传入该参数,不然就会报错
(2)默认参数
在函数声明时,指定形参的默认值,调用时可不传入该参数(使用默认值),如果与默认值不同,可传入该参数。
(3)可变参数
可变参数就是传入的参数个数是可变的,可以是1个、2个到任意个,这些参数自动组成一个tuple。如下,numbers是可变参数,numbers是一个tuple,*numbers是传入的数列。
(4)关键字参数
关键字参数允许你传入0个或任意个含参数名的参数,这些关键字参数在函数内部自动组装为一个dict。
(5)命名关键字参数
对于关键字参数,函数的调用者可以传入任意不受限制的关键字参数;命名关键字参数,可以限制关键字参数的名字。
命名关键字参数必须传入参数名,这和位置参数不同。如果没有传入参数名,调用将报错。
(6)参数组合
必选参数、默认参数、可变参数、关键字参数和命名关键字参数,这5种参数都可以组合使用。参数定义的顺序必须是:必选参数、默认参数、可变参数、命名关键字参数和关键字参数。
领取专属 10元无门槛券
私享最新 技术干货