python函数

1.定义函数

函数的作用,简单来说就是可以实现代码复用,易于维护;

代码示例:

def func():

    "显示问候语"

    return "hello"

 

print (func())

函数定义规则:

  1. 使用关键字def来定义,后跟函数名func(),最后,定义以冒号结尾;
  2. 后面的缩进构成了函数体(缩进四个空格);可以选择使用文档字符串的注释,描述函数具体是做什么的,使用func().__doc__可显示所有文档字符串
  3. return结束函数,函数的返回值;若函数无返回值,打印为None;

2.形参和实参

代码示例:

def add(a,b):

    return a+b

print (add(2,3))

其中,变量a、b就是形参;2和3就是实参,即调用add()函数时传递的参数;

3.位置参数:需注意顺序

代码示例:

def user_info(user_name,user_age):

    return user_name+" is "+user_age+" years old!"

 

print (user_info("Peter",str(26)))

print (user_info(str(26),"Peter"))

输出结果为:

Peter is 26 years old!

26 is Peter years old!

其中,第一次调用à实参”Peter”存储在形参user_name中,实参str(26)存储在形参user_age中,调用后的结果是正常的;第二次调用à实参str(26)存储在形参user_name中,实参”Peter”存储在形参user_age中,调用后的结果是不符合正常逻辑的;从中可以看出,位置参数的使用是需要注意顺序的。

4.关键字参数:由变量名和值组成,无需考虑顺序

代码示例:

def user_info(user_name,user_age):

    return user_name+" is "+user_age+" years old!"

 

print (user_info(user_name="Peter",user_age='26'))

print (user_info(user_age='30',user_name="Long"))

输出结果为:

Peter is 26 years old!

Long is 30 years old!

5.默认值参数:可传可不传,不传时使用默认值

代码示例:

def user_info(user_name,user_age,user_from="China"):

    return user_name+" is "+user_age+" years old"+" and from "+user_from+"."

 

print (user_info(user_name="Peter",user_age='26'))

print (user_info(user_from="America",user_age='30',user_name="Long"))

输出结果为:

Peter is 26 years old and from China.

Long is 30 years old and from America.

6.可变参数:*args,使用元组

def user_info(*args):

    return args,type(args)

 

print (user_info("Peter",26,"China"))

print (user_info("Long",30,"America"))

输出结果为:

(('Peter', 26, 'China'), <class 'tuple'>)

(('Long', 30, 'America'), <class 'tuple'>)

注意:return可以返回多个值;

7.可变参数:**kwargs,使用字典

def user_info(**kwargs):

    return kwargs,type(kwargs)

 

print (user_info(usr_name="Peter",user_age=26,user_from="China"))

print (user_info(user_from="America",user_age='30',user_name="Long"))

输出结果为:

({'usr_name': 'Peter', 'user_age': 26, 'user_from': 'China'}, <class 'dict'>)

({'user_from': 'America', 'user_age': '30', 'user_name': 'Long'}, <class 'dict'>)

8.结合使用以上参数

def user_info(user_name,user_from="China",*args,**kwargs):

    print (user_name,user_from)

    print (args)

    print (kwargs)

 

user_info("Peter",user_profession="teacher",user_salary=10000)

user_info("Long","India",26,user_profession="'police'",user_salary=20000)

输出结果为:

Peter China

()

{'user_profession': 'teacher', 'user_salary': 10000}

Long India

(26,)

{'user_profession': 'police', 'user_salary': 20000}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值