zoukankan      html  css  js  c++  java
  • python函数(2017-8-2)

    1、


    def 函数名(形式参数)
    函数体
    return "123"

    函数执行了return之后就不再执行下面的代码


    2、


    默认形参实参的位置一一对应
    如果要调整位置,指定形参名字

    def email(sub,get,bbj):
    print(sub,get,bbj)
    
    rr=email(sub="123",bbj="456",get="777")


    3、函数可以有默认参数

        def dirve(name="")  #name这个有默认参数,有默认参数的应放在无默认参数的后面
            temp=name+"开车"    #否则报错,无默认参数的必须传参数,有默认参数的可以不传参数
            return temp
        ret=drive("you")
        print(ret)
        ret=drive("he")
        print(ret)
        ret=drive()
        print(ret)
        def a1(a):
            print(a)
        a1(123)
        a1("123")
        a1([11,22,33])
        


    4、动态参数


    1、

    def a1(*a):  #动态参数,可以接受多个值
            print(a,type(a)) #现在a的类型为元组,把你传入的实参当作元组的元素
        a1(123,3,444,555,[11,22,33])#这里的列表为一个元素


    2、

    def a2(**b):  #动态参数,接收的参数转换为字典
            print(b,type(b))#b的类型为字典,传过来的参数转换为字典
        
        a2(k1=123,k2=345)
        
        
        def a3(p,*a,**aa)
            print(p,type(p)
            print(a,type(a)
            print(aa,type(aa)
            
        a3(11,22,33,k1=123,k2=456)#在这里自动把11给p,22,33给*a,把k1=123,k2=456给**a

    #**要在*后面,这两个要在一般参数数的后面,而且实参也要按此排序

    *,元组,元组的元素
    **,字典
    一般写法def f1(*args,**kwargs)


    3、为动态参数传入 列表、字典、元组

    def f1(*args) :
        print(args)
    li=[11,22,33]
    f1(li) #这样传参数则这个args元组的第一个元素为列表[11,22,33]
    f1(*li) #这样传参数是会把这个列表的每一个元素一一传过去结果会是
            #这个列表的每一个元素会成为args元组的每一个元素(11,22,33)
    dic f2(**kwargs):
        print(kwargs)
    dic={"k1":123,"k2":"aas"}
    f2(dic)#这样传参数报错
    f2(k1=dic) #这样传参数会变成kwargs={"k2":{"k1":123,"k2":"aas"}}
    f2(**dic)#要想把dic里的元素一个一个传过去,为kwargs={"k1":123,"k2":"aas"}需要在dic前加**


    4、变量

    (1)全局变量

        a = 1234  # 全局变量
    
    
        def f1():
            a = 123  # 这个a为局部变量只有这个函数里才能用
            print(a) #在这里输出的是局部变量
        f1()
        print(a)

    (2)局部变量

        def f1()
            a=123
            print(a)#这个a为局部变量只有这个函数里才能用




    要想修改全局变量的值需要在全局变量前加global声明一下
    例如:

            a = 1234  
            def f1():
                global a
                a = 123  
                print(a)#输出结果为:123
            f1()
            print(a)#输出结果为:123
            

    以后写全局变量时吧全局变量名写为大写,局部变量的变量名写为小写


    总结


    1、数据类型

     set
      无序的,不重复的集合

    2、三元运算

      减少代码量


    3、深浅拷贝

      str、int
      深浅都一样
      其他
      浅拷贝,最外层
      深拷贝,除了最内层


    4、函数

      a.def
      b.函数名
      c.返回值
      1、return
      2、一旦遇到return,函数的剩下代码就不执行了

    5、参数

      1、形参实参
      2、普通参数,数量一致,一一对应
      3、指定参数,

    f1(p="xxx",xx="asd"

      4、默认参数
        放在参数的尾部
      5、动态参数
        *args
        **kwargs
      e、全局变量和局部变量
        全局:
          大写
          修改,global
        局部变量:
          小写,仅仅在代码块中能用

  • 相关阅读:
    Linux中批量添加文件和修改文件小笔记
    scp 命令快速使用讲解
    使用Apache Spark 对 mysql 调优 查询速度提升10倍以上
    阿里云CentOS-7.2安装mysql
    yum安装网络配置图形界面
    忘记了root密码,如何进入系统?
    Linux学习之竿头直上
    Linux命令之初出茅庐
    Linux学习之要点必备
    阿里云CentOS7.2服务器的安装
  • 原文地址:https://www.cnblogs.com/liudi2017/p/7666860.html
Copyright © 2011-2022 走看看