• python的**和*


    1.
    **两个乘号就是乘方,比如2**4,结果就是2的4次方,结果是16
    一个乘号*,如果操作数是两个数字,就是这两个数字相乘,如2*4,结果为8
    *如果是字符串、列表、元组与一个整数N相乘,返回一个其所有元素重复N次的同类型对象,比如"str"*3将返回字符串"strstrstr"
    2.
    如果是函数定义中参数前的*表示的是将调用时的多个参数放入元组中,**则表示将调用函数时的关键字参数放入一个字典中
    如定义以下函数
    def func(*args):print(args)
    当用func(1,2,3)调用函数时,参数args就是元组(1,2,3)
    定义以下函数
    def func(**args):print(args)
    当用func(a=1,b=2)调用函数时,参数args将会是字典{'a':1,'b':2}
    3.
    如果是在函数调用中,*args表示将可迭代对象扩展为函数的参数列表
    args=(1,2,3)
    func=(*args)
    等价于函数调用func(1,2,3)
    小例子:用*来取出一个列表中的第一个和最后一个值
    list = [1, 2, 3, 4, 5, 6, 7, 8]
    a ,*b, c = list
    print(a)
    print(b)
    print(c)
    View Code
    函数调用的**表示将字典扩展为关键字参数
    args={'a':1,'b':2}
    func(**args)
    等价于函数调用 func(a=1,b=2)
    4.
    参数中列表前加*和字典前加**
    def add(a, b):
        return a+b
     
    data = [4,3]
    print add(*data)
    #equals to print add(4, 3)
    data = {'a' : 4, 'b' : 3}
    print add(**data)
    #equals to print add(4, 3)
    
    
    
     
  • 相关阅读:
    Linux网络基础配置
    UVA 116 Unidirectional TSP(dp + 数塔问题)
    修改Hosts文件
    倒排索引
    可以把阿里云上面的一些介绍和视频都看看
    练练脑,继续过Hard题目
    explicit的用法
    auto_ptr的使用和注意
    我写的快排程序
    快速排序、查第k大
  • 原文地址:https://www.cnblogs.com/kuxingseng95/p/9255869.html
Copyright © 2020-2023  润新知