python 累乘函数_python之函数(二)

上一篇中我们在函数体中的写的都是打印语句,用print来输出打印结果。但是在实际使用的时候,我们并不需要将结果输出在控制台上。这时候该如何解决呢?

1. return返回值。

我们可以将函数的结果通过return返回出来。Let's have a try!

1 #!/usr/bin/python3

2 #-*- coding: utf-8 -*-

3 #@Time :2018/11/27 14:40

4 #@Author :yosef

5 #@Email :wurz529@foxmail.com

6 #@File: :class17.py

7 #@Software :PyCharm Community Edition

8 defadd(a,b):9 return a+b10

11 add(1,2)

1540403-20181127144244181-1411080541.png

发现这样控制台啥都没有,这是怎么回事呢?其实结果已经返回了,但是我们看不到,是因为没有用变量去接收这个结果。那我们用变量接收,再打印这个变量。

1 defadd(a,b):2 return a+b3

4 result = add(1,2)5 print(result)

1540403-20181127145017206-8373310.png

这次可以看到结果出来了。

关于return,函数外部想获得函数结果,必须用return。return之后的语句都不会再执行,注意啊。

练习:

1 defmake_album(singerName,album):2 album_info={3 "name":singerName,4 "album":album5 }6 returnalbum_info7

8 #album = make_album("刘德华","冰雨")

9 #print(album)

10

11 count =012 while count<3:13 name = input("请输入歌手名:")14 album = input("请输入专辑名:")15 result =make_album(name, album)16 print(result)17 count+=1

结果:

1540403-20181127155156167-1031222958.png

2. 动态参数

有的时候,需要往函数内部传递不一定数量的参数,此时,之前的函数就不太适用了。传入的参数其实是一个元组。无论传递多少个参数,都会把参数存储到一个元组里面。

def func(*args)

print(args)

func(1,2,3,4,5,6)

做一个简单的累乘,代码如下:

def result(*args):

result=1

for i inargs:

result*=ireturnresult

a= result(5,6,9,5,3,6)print(a)

1540403-20181127161648307-445331856.png

**kwargs:(表示的就是形参中按照关键字传值把多余的传值以字典的方式呈现)。与*args相比,带有关键字且必须制定关键字,否则识别不了。通过**kwargs传入的是字典。*args传入的是元组。

1 def func(**kwargs):2 print(kwargs)3

4 func(a=1,b=2,c=3)

1540403-20181127162851180-1854814337.png

3. 位置参数,默认参数,动态参数以及关键字动态参数混合使用实例

1 #!/usr/bin/python3

2 #-*- coding: utf-8 -*-

3 #@Time :2018/11/27 16:33

4 #@Author :yosef

5 #@Email :wurz529@foxmail.com

6 #@File: :class20.py

7 #@Software :PyCharm Community Edition

8 def func(a,b=2,c=3,*args,**kwargs):9 result=010 sum=a+b+c11 print(sum)12 for item inargs:13 result+=item14 print(result)15 print("关键字动态参数是:",kwargs) #不能用+连接,因为kwargs是字典

16

17 func(88,56,23,1,2,3,6,9,y="China",o="NB") #这个a=88,b=56,c=23,args=(1,2,3,6),kwargs=["y":China,"o":"NB"]

1540403-20181127164206430-2146101116.png

习题:

1 #!/usr/bin/python3

2 #-*- coding: utf-8 -*-

3 #@Time :2018/11/27 16:42

4 #@Author :yosef

5 #@Email :wurz529@foxmail.com

6 #@File: :class21.py

7 #@Software :PyCharm Community Edition

8

9 """

10 case111 """

12 #count=0

13 #def order(*args):

14 #print("顾客您好,您点了如下配菜:")

15 #for item in args:

16 #print(item, end=" \n")

17 #print("\n")

18 #19 #20 #order("生菜", "面包", "热狗", "鸡腿")

21 #order("生菜","面包","热狗")

22 #order("生菜","面包")

23

24 """

25 case226 """

27 def make_car(maker,model,**kwargs):28 print("您的爱车制造商是:"+maker)29 print("您爱车的型号是:"+model)30 for k,v inkwargs.items():31 print("您爱车的%s是%s" %(k, v))32

33 make_car('subaru','outback',color="blue",tow_package="True")

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值