zoukankan      html  css  js  c++  java
  • 函数

    函数的初识

    什么是函数:

      函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。

      函数能提高应用的模块性,和代码的重复利用率。Python提供了许多内建函数,比如print(),len()等。但也可以自己创建函数,这被叫做用户自定义函数。

    函数关键字:

      def:定义(申明)一个函数

    用法:

    def make():
    
        # 函数体

    注意:定义后的函数不调用是不执行的

    函数的调用:

      函数名+() == 函数的调用

    例:

    def make():
    
        print(1)
    
    make()

    注意:先定义后调用

    函数执行过程:

      定义 --> 调用 --> 函数体的代码

    函数名加小括号,不管在什么位置就是在调用函数

    def make():
    
        print(1)
    
        print(2)
    
        print(3)
    
    input(make())
    def  make():
    
        print("掏出手机")
    
        print("打开微信")
    
        print("摇一摇")
    
        print("聊一聊")
    
        print("搞一搞")
    
    make()
    
    print("去医院看看")
    
    make()
    
    print("看看书")

    函数的返回值:

    def make():
    
        print("掏出手机")
    
        print("打开陌陌")
    
        print("找个妹子")
    
        print("询问一番")
    
        print("盘她")
    
        return "萝莉""少妇"
    
    ret = make()
    
    print(ret) 

    返回值单个就它本身,多个就是一个元组

    返回值写了return没有写内容,返回的就是None

    没有写return返回的也是None

    return下面的代码都不执行,并且结束了这个函数

    返回值返回给调用者

    return关键字的作用

      1,结束整个函数。

      2,给函数的执行者(调用者)返回值。

    函数的参数

    def make(char,addr):  # 形参  
    
        print("掏出手机")
    
        print("打开%s" % char)
    
        print("找一个%s" % addr)
    
        print("聊一聊")
    
    make("微信","北京")  # 实参
    
    make("陌陌")

    将实参传递给形参的过程——传参

    形参和实参的位置一一对应

    位置参数:按照位置传值

    def func(x,y):
        pass
    func("a", "b")

    默认参数:将变化比较小的值设置成默认数值

    def func(a, b=10):
        print(a + b)
    func(10)

    混合传参:位置、关键字形式混着用

      位置参数+默认参数

      位置参数+关键字参数(位置参数必须放在关键字参数)

    def func(a, b, c):
        print(a, b, c)
    func(b=1, c=2, a=3)

    关键字参数:通过形参的名字指定传参

      关键字参数之间可以不按位置顺序

    正确用法

    问题一:位置参数必须在关键字参数的前面

    问题二:对于一个形参只能赋值一次

    动态参数:

    用途:在不明确接受参数的数量时使用*args和**kwargs

    def func(*args):  # 在形参位置*叫做聚合
        print(args)  # 元组形式 (1, 2, 3, 4)
    func(1, 2, 3, 4)
    def func(**kwargs):  # 动态默认参数  # 形参的时候**聚合
        print(kwargs)  # 字典{'a':1,'b':2,'c':3}
    func(a=1,b=2,c=3)  # 关键字的形式传参

    args和kwargs 是可以更换的,但是程序员约定俗成都用它

    形参顺序:

    位置>动态位置>默认>动态默认

    实参顺序:

    位置>关键字

    def func(*args,**kwargs):  # *聚合
        print(*args)  # *打散  # 1,2,3
        print(*kwargs)  # a,b
    func(1,2,3,a=1,b=2)

    在实参调用的时候*是将可迭代的对象打散,字典只输出键

    在形参处出现*就是在聚合

    在实参调用的时候**将字典打散成 关键字参数(键=值 )

    在形参处出现**就是将关键字参数聚合成字典

    三元运算符:

    变量 = 条件成立的结果 if 条件 else 条件不成立的结果 应用场景:

    三元运算符在不确定赋值的时候会用到,只能用if..else..,不能加elif...

     

     

     

     

     

  • 相关阅读:
    PHP四种界定符
    设计模式 单例模式与工厂模式
    PHP include与require的区别
    面向对象 static abstract interface 等知识点
    gogland golang 颜色&字体 colors&font 配置文件
    什么是游戏中的帧同步
    kcp协议详解
    kcp流模式与消息模式对比
    kcp源码走读
    kcp结构体字段含义
  • 原文地址:https://www.cnblogs.com/yaoyanxin007/p/10523641.html
Copyright © 2011-2022 走看看