• 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 ]

  • 相关阅读:
    揭开Future的神秘面纱——任务取消
    阻塞队列和生产者-消费者模式
    ExecutorService——<T> Future<T> submit(Callable<T> task)
    ExecutorService接口概要
    Executor简介
    使用显式的Lock对象取代synchronized关键字进行同步
    SingleThreadExecutor(单线程执行器)
    后台线程(daemon)
    加入一个线程
    计算机网络的一些英文缩写词
  • 原文地址:https://www.cnblogs.com/igoodful/p/11480175.html
Copyright © 2020-2023  润新知