标签:
在Python中如何自定义函数:其格式为 def 函数名(函数参数):
内容
交互模式下编写函数完毕按两次回车返回>>>
pass作为函数为空函数的占位符(她的意思是什么都不做),也就是说没想好写什么函数,先用pass占位,然后先让程序跑起来;
数据类型检查可以用内置函数isinstance(object,calssinfo)
实现:如果参数object是classinfo的实例,或者object是classinfo类的子类的一个实例, 返回True。如果object不是一个给定类型的的对象, 则返回结果总是False。
函数参数:
函数默认参数:默认情况下n的值为2,所以在传参数的时候只传第一个参数就可以了,如果在调用的时候传参有第二个参数,则会将默认的参数覆盖掉。这样做的好处是不必要每次都输入相同项,非常的方便。如果有多个参数的时候,默认是顺序传入,如果想在本次调用时更改默认的参数值,则在调用函数时直接写 参数名=参数值。这里需要注意的是,
默认参数必须指向不变对象
def power(x, n=2):
s = 1
while n > 0:
n = n - 1
s = s * x
return s
可变参数:当遇到参数不确定的函数时,需要用list或者tuple作为参数。但是调用的时候传入的参数必须是list或者tuple。如果利用可变函数参数,则可以省略这一点,只需要在定义参数的时候前面加上一个*号。*list就是把list中的所有元素作为可变参数传入进去。
关键字参数:以**keyword表示,在参数中以‘什么‘=‘什么‘的形式传入,并且会自动组装成一个dict;关键字参数不是必选参数;但是也可传入任意个数的关键字参数。
关键字参数的作用在于扩展参数,比如在用户注册时候,有些是必填项,有些事选填项,用户提供更多参数的时候我们同样可以接收,并且直接组织成一个dict;
命名关键字参数:命名的关键字参数是为了限制调用者可以传入的参数名(强制调用者传入命名关键字参数,不传入就报错),同时可以提供默认值。也就是说这个函数只接受命名的关键字参数。这是为了限制关键字参数的个数。
当然也可以设置默认值。此时就可以不用传入默认的命名关键字参数。
组合参数:
在Python中,必选参数,默认参数,可变参数,关键字参数,命名关键字参数可以任意组合使用,非常方便;可变参数无法和命名关键字参数混合
参数定义的顺序必须是:必选参数,默认参数,可变参数和命名关键字参数,关键字参数
标签:
原文地址:http://www.cnblogs.com/ooOO00/p/5359472.html