zoukankan      html  css  js  c++  java
  • Python中的参数

    Python中的参数

    • 注:形参与实参不在讲解,住哟啊讲解动态参数;

    1、默认参数

    • def func(a,b=10)
      	print(a,b)
          
      #传入参数的时候b可以不写,默认是10,也可以传入
      

    2、动态参数

    • 定义一个函数,不知道需要多少个参数

    2.1 *args

    • *,只要是以*开头即可,只是约定俗成写成*args

    • 传参是要按照位置传参

    • args在函数内部是一个元组

      def func(*args):
          print(args)
      # 只能按位置传参
      func(11,22,33)
      func(1)
      func()
      

      image-20211123145027280

    2.2 **kwargs

    • **,只要是以**开头即可,只是约定俗成写成**kwargs

    • 只能按照关键字传参

    • kwargs在函数内部是一个字典

    • 不传入就是空字典

      def func2(**kwargs):
          print(kwargs)
      # 关键字传参    
      func2(name="hello",age=18)
      

      image-20211123145837758

    2.3 *args 和 **kwargs

    • 即可以按照位置传参,也可以按照关键字传参,使用较多 ;

    • kwargs要在·args后面

      def func3(*args,**kwargs):
          print(args,kwargs)
      func3(1,2,3,4,5,name="zqbj",age="20")#关键字传参在位置参数后面
      

      image-20211123150400106

    • 注意:传参的时候一旦前面的参数使用了关键字传参,后面的参数必须使用关键字传参,不能再使用位置传参,因此都是,位置传参在前面,关键字穿在在后面

    2.5 format内部原理

    v1="我叫{},今年{}".format("zqbj",18)
    v2="我叫{},今年{age}".format("zqbj",age=19)
    print(v1,v2)
    

    image-20211123150908230

    注:内部使用的是*args**kwargs进行的传参;

    2.6 实参的动态参数

    • image-20211123154232270

    • def func3(*args,**kwargs):
          print(args,kwargs)
      # 动态传参
      func3(*[1,2,3])
      func3(**{"a":1,"b":2})
      

      image-20211123155446777

    • 补充上次的动态使用Sql

      image-20211123160130703

    3、注意事项

    • 参数和动态参数使用时,动态参数只能放在最后
      def func(a,**kwargs)
      	pass
      
    • 默认参数和动态参数同时存在
      • 默认参数要在**kwargs前面即可;(使用较少)

    4、坑(后两个为面试题)

    • 默认参数是可变类型的时候函数内存会维护默认内存不清空,如果连续使用请注意避坑;

    • image-20211123152410126

    • image-20211123152851776

    • image-20211123153321119

  • 相关阅读:
    不做男女朋友,做蓝颜吧
    前端 让我尴尬~
    让IE6,IE7,IE8,IE9支持CSS3
    解决chrome不能显示12PX以下字号的字体问题!
    jQuery阻止冒泡和HTML默认操作
    Lazy Load, 延迟加载图片
    解秘微软雅黑
    FLV流媒体应用大攻略
    提升你设计水平的CSS3新技术
    分享下自写的HTML CSS规范
  • 原文地址:https://www.cnblogs.com/Blogwj123/p/15593648.html
Copyright © 2011-2022 走看看