python自动化学习5-函数

函数的作用:提高代码的复用性

type()  、len()、range()

函数的语法:关键字def

函数的具体语法:

def 函数(参数1、参数2、参数3):

          函数体  #本函数要实现的功能

         return 表达式  

return 的作用:当你调用函数的时候,会返回return后面的表达式的值

函数书写规范

def 顶格写  表示这个一个函数

#函数名  小写  不同的字母和数字之间用下划线隔开, 不能用数字开头

参数个数可以大于等于0

函数体是函数的子代码,要有缩进  写自己想实现的功能即可

return 后面的表达式大于等于0

 

如何调用函数  -- 函数名(对应个数的参数)

def radio():

   print('你好')

   return  #隐式的添加一个return

res =radio()     #res保存函数的返回值

print('函数的返回值:{}'.format(res))

 

函数里面return的表达式个数

=1:返回你指定的数据类型

>1 :返回的是元组类型

 0: 返回none

 

def add():

   result 8+8

   return result #拿到结果再去跟别的值做处理的时候,需要加一个return值

#请你拿到add()运行的结果   再去加20,再输出到控制台

res = add()+20

print(res)

 

函数的强化

def count_number():

   count =0

   for i in range(1,100):

        count+=i

    print('计算结果是:{}'.format(count))

    return 1+2 #隐式添加一个return

print(count_number())

 

#tips:

return后面的代码不在执行,所以我们的有效代码要放在return前面

return表示函数的结束

 

 

函数参数类型

1、位置参数

#位置参数:是有顺序的,我们通过函数传参的时候,是按顺序赋值 

#形参   实参

#指定参数赋值  声明赋值 变量名要跟形参一致

#调用函数的时候,有几个位置参数就要传几个参数,不然会报错

def count_number(x):  #形参

   count =0

   for i in range(1,x):

        count+=i

    print('计算结果是:{}'.format(count))

count_number(20) #实参

 

#默认参数  我们给形参一个默认值

优先使用实参,再使用默认值

位置参数在默认参数之前,不然会报错

2、动态参数

*args 不定长参数,想传几个就传几个,参数之间用逗号隔开

#可以传任意多个参数,不限制数据类型,参数之间用逗号隔开

#参数到了函数内部变成了元组

args 默认写这个,一定要带*号

 

def robot_cat(*args):

  print(args)

  for item in args:

       print('我是叮当猫,我可以变成好多好多东西,比如有:{}.format(args))

#robot_cat('20k的offer','女朋友','龙虾')

a =[ ['20k的offer','女朋友'],['火锅','龙虾']]

b = {'name':'xiaocc','offer':'18k'}

robot_cat(*a)   #类似于脱外套,只脱一层

robot_cat(*b) #取到key的值

robot_cat(*b.values()) #取到value的值

 

3、关键字参数

**kwargs  key -value的形式 ----key word argument

#1、key value的形式参数之间用逗号隔开

#2、参数到了函数内部,变成了字典

def anyway(**kwargs):

    print(kwargs)

anyway(x=1,y=2)

 

练习题

一家商场在降价促销。如果购买金额50-100元(包含50元和100元)之间,

会给10%的折扣,如果购买金额大于100元会给20%折扣。

编写一程序,询问购买价格,再显示出折扣(%10或20%)和最终价格

def discount(min,max,discount_1,discount_2):
    while True:
        total = input('请输入你的购买总价:')
        if total.isdigit():
            total = int(total)
            if min<=total<=max:
                print('你购买的总价是{},可以享受{}%的折扣,优惠后的价格为{}'.format(total,discount_1,total*(1-discount_1/100)))
            elif total>100:
                print('你购买的总价是{},可以享受{}%的折扣,优惠后的价格为{}'.format(total,discount_2,total*(1-discount_2/100)))
            else:
                print('你购买的总价是{},不可以享受折扣'.format(total))
            break
        else:
            print('请输入数字')
discount(50,100,80,20)

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值