zoukankan      html  css  js  c++  java
  • python中星号

    第一种情况:用在两表达式的中间,*表示乘法,**表示取幂,如:

    1
    2
    3
    4
    >>> 2*5
    10
    >>> 2**7
    128

      

    第二种情况:用在变量的前面。

    1,向函数传递参数,将变量中可迭代对象的元素拆解出来,作为独立的参数第传给函数,如:

    >>> a=[1,2,3,4]
    >>> print(*a,sep=' ')
    1
    2
    3
    4
    >>> print(a[0],a[1],a[2],a[3],sep=' ')
    1
    2
    3
    4
    >>>

      

     对于**,变量为字典,将其拆解出来,单独传给函数。如:

    >>> dic={'a':1,'b':2,'c':3}
    >>> string='{a}-{b}-{c}'.format(**dic)  
    >>> string  
    '1-2-3'
    >>>

      

    2,在函数定义中使用,收集参数。将参数捕捉到一个元组中,如:

    >>> def sum(*num):
          return num
     
    >>> sum(1,3,5,7)    
    (1, 3, 5, 7)
    >>>  

    该用法允许我们创建自己的函数时,可以接收任意数量的参数。

    双星号可以将参数捕捉到字典中,如:

    >>> def pack(**dic):
          return dic
     
    >>> pack(a=1,b=2,c=3)   
    {'a': 1, 'b': 2, 'c': 3}
    >>>
    ##########################################################

    最初,星号变量是用在函数的参数传递上的,在下面的实例中,单个星号代表这个位置接收任意多个非关键字参数,在函数的*b位置上将其转化成元组,而双星号代表这个位置接收任意多个关键字参数,在**b位置上将其转化成字典

    *   该位置接受任意多个非关键字(non-keyword)参数,在函数中将其转化为元组(1,2,3,4)

    **   该位置接受任意多个关键字(keyword)参数,在函数**位置上转化为词典 [key:value, key:value ]

  • 相关阅读:
    Spring--自定义注解
    IntelliJ IDEA实用插件
    Zero date value prohibited解决方法
    如何保证幂等性
    Map遍历的几种方式
    Static关键字
    索引失效 -- 使用Between范围查询时
    接口的不同写法在Swagger上的不同
    js与jquery获取input输入框中的值
    一个简单的 aiax请求例子
  • 原文地址:https://www.cnblogs.com/igoodful/p/11480175.html
Copyright © 2011-2022 走看看