• 函数


    函数:
    函数:对功能的封装
    语法:
    def 函数名(形参):
       函数体
    函数名(实参)

    函数名:命名规则和变量一样

    # while 1:
    #     print("首先, 打开手机")
    #     print("打开陌陌")
    #     print("找一个看着还不错的某一某")
    #     print("出来约一约.开开心心")
    #     print("各回各家,各找各妈")
    
    # 需要把上面这个功能进行定义或者封装. 在需要的时候.随时拿过来执行, 封装的这个东西就是函数
    
    # 定义一个功能叫yue
    def yue():
        # 函数体,代码块
        print("首先, 打开手机")
        print("打开陌陌")
        print("找一个看着还不错的某一某")
        print("出来约一约.开开心心")
        print("各回各家,各找各妈")
    
    # 函数的调用, 函数名()
    yue()   # 执行函数  # 第一次调用
    print("正常上班")
    yue()   # 第二次调用
    

      

    函数的返回值:
    return, 函数执行完毕. 不会执行后面逻辑
    1. 如果函数中不写return返回None
    2. 只写return 返回None
    3. return 返回值. 返回一个值
    4. return 值1, 值2,... 返回多个值. 调用方接收到的是元组

    def yue():
        print("约你")
        print("约他")
        print("我不约")
        return "大妈"    # return 返回值  当函数结束的时候. 给调用方一个结果
    
    ret = yue()
    print(ret)
    
    ret2 = yue()
    print(ret2)
    
     只要函数执行到return 函数就会停止执行
    1. 每个函数如果在函数中不写return, 默认返回None
    2. 我们也可以只写一个return, 也是返回None, 停止函数的执行
    3. return 一个返回值.  你在调用方能接受到一个返回值
    4. return 多个返回值. 多个值需要用,隔开   接收的位置. 接收的是元组.
    
    def yue():
        print("约一约")
        return  # 函数就停止了
    ret = yue()
    print(ret)
    
    def yue():
        print("打开陌陌")
        print("大阳哥出马")
        return "大妈", "萝莉", "模特"
    
    a,b,c = yue() #  多个返回值在接受的位置接受到的是tuple类型的数据
    print(a)
    print(b)
    print(c)
    

      


    参数:
    在函数执行的时候给函数传递的信息
    1. 形参:
    1. 位置参数.
    2. 默认值参数. 当调用的时候不给传值使用默认值
    3. 混合使用. 顺序: 1. 位置参数, 2, 默认值参数
    2. 实参:
    1.位置参数. 按照位置给形参赋值
    2. 关键字参数. 按照名称给形参赋值
    3. 混合参数. 先用位置参数, 再用关键字参数

    def yue(fangshi, age):   # 形参
        print("打开手机")
        print("打开%s" % fangshi)
        print("找一个漂亮的妹子")
        print("年龄最好是%s" % age)
        print("出来约一约")
    
    yue("微信")
    yue("探探", 38)
    yue("陌陌", 26)
    
    def fn(a,b,c):
        print(a)
        print(b)
        print(c)
    
    fn(1, 2, 3)
    fn(b=3, a=2, c=1)  # 在实参调用的时候 . 可以指定参数的值是多少. 关键字(形参)参数
    
    
    def gn(name, age, address, id, sex, hobby):
        print("人的名字叫%s, 年龄:%s, 地址:%s, id是:%s, 性别:%s, 爱好是:%s" % (name, age, address, id, sex, hobby))
    gn("太白", 58, "保定", 1, "不详", "女")    # 位置参数
    gn(id=1, name="太白", address="保定", hobby="女", age=58, sex="不详")  # 关键字(形参)参数
    gn("太白", 58, "保定", id="3", sex="女", hobby="不详")
    
    def regist(id, name, sex="男"):
        print("录入学生信息:id是%s, 名字是%s, 性别是:%s" % (id, name, sex))
    
    regist(1, "大阳哥")
    regist(2, "徐卫星")
    regist(3, "毛尖妹妹", "女")
    
    
    # 参数: 在函数执行的时候给函数传递的信息
    # 形参: 在函数声明的位置.声明出来变量
    # 实参: 在函数调用的时候. 实际你给函数传递的值 
    # 函数的参数个数是没有要求的 但是,在运行的时候. 形参和实参要匹配. 按照位置把实参赋值给形参
    # 参数的分类:
    #   站在实参的角度:
    #       1. 位置参数
    #       2. 关键字参数
    #       3. 混合参数, 注意顺序. 先写位置参数, 然后在写关键字参数. 否则会报错
    #   站在形参的角度:
    #       1. 位置参数
    #       2. 默认值参数
    #       3. 默认值参数和位置参数混合使用. 顺序: 先写位置参数. 然后在写默认值参数
    

     函数的实际应用

    1+2+3+4+5+6+7+8+9+....+100 = ? 5050
    对功能的封装
    def sum(n):
        s = 0
        count = 1
        while count <= n:
            s = s + count
            count = count + 1
        return s
    
    ret = sum(456)
    print(ret)
    
    计算n是奇数还是偶数
    
    def fn(n):
        if n%2 == 0:
            return "偶数"
        return "奇数"
    
    print(fn(456))
    
    lst = ["大阳哥", "徐卫星"]
    print(lst.append("胡辣汤"))    # 没有return
    
    s = "哈哈"
    print(s.replace("哈", "呵"))  # 一定有return
    

      

  • 相关阅读:
    1451. Rearrange Words in a Sentence
    1450. Number of Students Doing Homework at a Given Time
    1452. People Whose List of Favorite Companies Is Not a Subset of Another List
    1447. Simplified Fractions
    1446. Consecutive Characters
    1448. Count Good Nodes in Binary Tree
    709. To Lower Case
    211. Add and Search Word
    918. Maximum Sum Circular Subarray
    lua 时间戳和时间互转
  • 原文地址:https://www.cnblogs.com/duanpengpeng/p/9299005.html
Copyright © 2020-2023  润新知