• python之拆包与装包


    a,b = (11,22)   #一个元组分别赋值给a和b
    print(a)
    print(b)
    
    num = "saldkfjks"
    for i,name in enumerate(num):   #enumerate():括号内可以是一个字符串,列表,元组,字典(字典取的是key的值)
        print(i,name)
    
    
    def text1(a,b,*args):  *args是一个元组形式,将实参中多余的元素(除去键值对形式)接收
        print(a)
        print(b)
        print(args)  #打印出来的是一个元组
        print(*args)  #打印出来的是一个元组的拆分
        print("-"* 50)
        text2(args)   #传递的是一个元组(相当于一个元素)
        print("*" * 50)
        text2(*args)  #传递的是一个元组的拆分(相当于多个元素)
    
    def text2(a,*args):
        print(a)
        print(args)
        print(*args)
    
    text1(1,2,3,4,5,6)
    
    

     结果:

    11   ----a
    22   ----b

    0 s (i与name)
    1 a
    2 l
    3 d
    4 k
    5 f
    6 j
    7 k
    8 s

    1 2 (3, 4, 5, 6) 3 4 5 6
    解释一下:1,2分别传给a,b;剩下的多余的元素以一个元组的形式传递(args代表一个元组;*args代表拆分元组) -------------------------------------------------- (3, 4, 5, 6) #这次传递的是一个元组,所以把这个元组当作一个元组传递a,那么*args相当于为空 () ************************************************** 3 (4, 5, 6) 4 5 6
    这次传递的一个拆分后的元组即:3,4,5,6

     2 再来看看**kwargs

    def run(a,**kwargs):   #接收的是一个字典
        print(a)
        print(kwargs)     #打印一个字典
      
      print(**kwargs) #不支持这种形式的打印,报错
    run(1,m =19,n=20) run("sd",name="张三")

     结果:

    1
    {'m': 19, 'n': 20}
    sd
    {'name': '张三'}
    
  • 相关阅读:
    你知道线框图和原型有啥区别吗
    Git 创建与合并分支
    Java 多态 接口继承等学习笔记
    JAVA多线程之生产者 消费者模式 妈妈做面包案例
    Robot Framework自动化测试(一)---第一个脚本
    仲夏之夜
    vulstack红队评估(一)
    CVE-2017-7269-iis远程溢出漏洞复现
    JMeter 控件整理
    JMeter函数整理
  • 原文地址:https://www.cnblogs.com/yan-peng/p/9973920.html
Copyright © 2020-2023  润新知