python的函数

函数的定义:def 函数名(参数1,参数2......):

如:

必选参数

def syz(a): #只有一个a,是必填参数,调用时必须输入一个参数

  print(a)

调用:

syz(‘param’)

默认参数

def power(x, n=2): #n是一个默认参数,调用时不传n的值,默认n的值为2

  s = 1

    whilen > 0:

        n = n - 1

        s = s * x

         return s

调用:

power(5,2)

power(5) # 等于power(5,2)

power(5,3)

 

可变参数

def syz(a,*args): #参数组,*args是一个参数组,参数个数不固定

  print(a)

  username = args[0]

  pwd = args[1]

  age = args[2]

 

调用:

syz('aaaa','2423',2323)

syz('1s','sdf')

可变参数允许你传入0个或任意个参数,这些可变参数在函数调用时自动组装为一个tuple。而关键字参数允许你传入0个或任意个含参数名的参数,这些关键字参数在函数内部自动组装为一个dict。

*args是可变参数,args接收的是一个tuple;

**kw是关键字参数,kw接收的是一个dict。

 

关键字参数

def syz2(time,**kwargs): #关键字参数

   print(kwargs)

 

调用:

syz2('sdf')

syz2(name='nhy',age=38,time='20180912') syz2('2018',name='nhy',age=38,addr='回龙观',home='河南')

syz2(time='xx',xx='xxx')

关键字参数有什么用?它可以扩展函数的功能。比如,在person函数里,我们保证能接收到name和age这两个参数,但是,如果调用者愿意提供更多的参数,我们也能收到。试想你正在做一个用户注册的功能,除了用户名和年龄是必填项外,其他都是可选项,利用关键字参数来定义这个函数就能满足注册的需求。

 

参数组合

在Python中定义函数,可以用必选参数、默认参数、可变参数和关键字参数,这4种参数都可以一起使用,或者只用其中某些,但是请注意,参数定义的顺序必须是:必选参数、默认参数、可变参数和关键字参数。

posted @ 2018-04-19 09:43  故人心  阅读(123)  评论(0)    收藏  举报