美文网首页
Python零基础9:函数

Python零基础9:函数

作者: Iphone60Plus | 来源:发表于2020-03-19 21:38 被阅读0次

    初识函数

    函数的作用
    函数是组织好的,可重复使用的,用来实现单一功能的代码
    优点:使代码结构清晰、简洁

    函数组成

    # 内置函数:len() type() input()……
    # 括号里为参数
    

    定义和调用函数

    # 函数名:1、可使用小写字母、下滑线、数字组合2、不可和内置函数重名
    def diy(x):
    # 参数:要以有多个参数,也可以没有参数,命名规则和函数相同
    # 规则:英文下冒号,不能丢
        y = x**2 + x
    # 函数体:函数执行过程,空格4个不能丢
        return y
    # return语句:后面可接多种数据类型,如不需返回值的话,可忽略
    
    # 自定义函数
    def diy(x):
        y = x**2 + x
        return y
    print(diy(2))
    
    # print(len('三根皮带,四斤大豆'))自定义函数
    def  length(b):
        a=0
        for i in b:
            a += 1
        return a
    print(length('三根皮带,四斤大豆'))
    

    函数的进阶使用

    参数类型

    # 无参数 1、执行过程 如:打印 2、返回结果 如不返回结果,默认也带retrun
    def opening():
        print('今日开业大吉')
    opening()
    
    # 多参数 按顺序和数量传递
    def menu(appetizer, course):
        print('一份开胃菜:{}'.format(appetizer))
        print('一份主食:{}'.format(course))
    menu('话梅花生','牛肉拉面')
    
    # 多参数+默认参数 1、默认参数需赋值,且默认参数可更改2、默认参数放在位置参数后面
    def menu(appetizer, course,dessert = '绿豆沙'):
        print('一份开胃菜:{}'.format(appetizer))
        print('一份主食:{}'.format(course))
        print('一份免费菜品:{}'.format(dessert))
    menu('话梅花生','牛肉拉面')
    menu('话梅花生','牛肉拉面','银耳羹')
    
    # 不定长参数 没for循环默认是元组,元组中元素不可更改
    def menu1(*barbeque):
        for i in barbeque:
            print('一份烤串:{}'.format(i))
    menu1('烤香肠','烤肉丸')        
    menu1('烤鸡翅','烤茄子','烤玉米')
    

    返回多个值

    # 自定义函数输入和输出都可以多个值,return b,'溏心蛋',多个值为元组
    import random
    
    menu = ['话梅花生','拍黄瓜','凉拌三丝']
    def lottery(money):
        if money < 5:
            a = random.choice(menu)
            return a
        elif 5 <= money <=10:
            b = random.choice(menu)
            return b,'溏心蛋'
    
    for i in lottery(7):
        print(i)
    # 元组的两个元素分别赋值给dish,gee.
    dish, egg = lottery (7)
    print(dish)
    print(egg)
    

    多个函数间的配合

    变量作用域

    # 全局变量 rent=3000  局部变量 aaa=renewcommand+cost
    # 局部变量只可在定义函数内部使用
    rent = 3000
    
    def variables():
        renewcommand = int(input('你本月的水电成本是:'))
        cost = int(input('你本月的材料成本是:'))
        aaa = renewcommand+cost
        print('你本月的变动成本是{}'.format(aaa))
        return aaa
    
    def bbb():
        ccc =rent+variables()
        print('你本月的总成本是{}'.format(ccc))
    
    bbb()
    
    # 原始方法,都是全局变量都可使用
    rent = 3000
    
    renewcommand = int(input('你本月的水电成本是:'))
    cost = int(input('你本月的材料成本是:'))
    aaa = renewcommand+cost
    
    def variables():
        print('你本月的变动成本是{}'.format(aaa))
    def bbb():
        ccc =rent+aaa
        print('你本月的总成本是{}'.format(ccc))
    
    variables()
    bbb()
    
    # global将局部变量变为全局变量,且在函数体的第一行
    rent = 3000
    
    def variables():
        global aaa
        renewcommand = int(input('你本月的水电成本是:'))
        cost = int(input('你本月的材料成本是:'))
        aaa = renewcommand+cost
        print('你本月的变动成本是{}'.format(aaa))
        return aaa
    
    def bbb():
        ccc =rent+aaa
        print('你本月的总成本是{}'.format(ccc))
    
    variables()
    bbb()
    

    函数嵌套

    #
    def profit(sum1,sum2):
        Proportion=(sum1-sum2)/sum2
        m_proportion=str(Proportion*100)+'%'
        return m_proportion
    
    def div():
        print('你确定上月的利润为0嘛?')
    
    def main():
        sum1=int(input('请输入本月的利润:'))
        sum2=int(input('请输入上月的利润:'))
        if sum2 == 0:
            div()
        else:
            print('你这个月的利润率为{}'.format(profit(sum1,sum2)))
    
    main()
    

    相关文章

      网友评论

          本文标题:Python零基础9:函数

          本文链接:https://www.haomeiwen.com/subject/tzwqyhtx.html