zoukankan      html  css  js  c++  java
  • python-拆包、交换变量的值

    拆包

    # 定义一个列表
    my_list = [1, 3.14, "hello", True]
    print(my_list[1])  # 可以获取列表中元素的值 但是可读性不强
    # 拆包
    num, pi, my_str, my_bool = my_list
    print(pi)
    print(my_bool)
    num, pi, my_str, my_bool = [1, 3.14, "hello", True]
    # 定义一个元组
    my_tuple = (1, 3.14, "hello", True)
    num, pi, my_str, my_bool = my_tuple
    print(pi)
    # 定义一个字典
    my_dict = {"name":"老王", "age": 19}
    ret1, ret2 = my_dict
    # 得到的是key  字典是无序的
    print(ret1, ret2)  # name age
    # 一次定义多个变量
    num1 = 10
    num2 = 20
    num3 = 30
    num4 = 3.14
    # 变量名和值是一一对应
    num1, num2, num3, num4 = 10, 20, 30, 3.14
    print(num4)
    # 元组,函数返回值拆包
    def deal_name_age(name, age):
        # 处理后 姓名:小明  年龄:22
        new_name = "姓名:%s" % name
        new_age = "年龄:%d" % age
        # 如果在函数内部 使用return 返回值1 返回值2,... 默认就是元组类型 不需要写小括号
        return new_name, new_age
    my_name, my_age = deal_name_age("小明", 20)
    print(my_name, my_age)  # 姓名:小明 年龄:20

    总结:

    • 拆包时要注意,需要拆的数据的个数要与变量的个数相同,否则程序会异常
    • 除了对元组拆包之外,还可以对列表、字典等拆包

    交换变量的值

    # 代码是从上往下执行 一行一行的读
    # 第1种方式
    a = 4
    b = 5
    c = 0
    c = a # c = 4
    a = b # a = 5
    b = c # b = 4
    # 结果
    print(a)  # 5
    print(b)  # 4
    # 第2种方式
    a = 4
    b = 5
    a = a + b  # a = 9 b = 5
    b = a - b  # a = 9 b = 4
    a = a - b  # a = 5 b = 4
    print(a)  # 5
    print(b)  # 4
    # 第3种方式
    a, b = 4, 5 # a = 4 b = 5
    #不是等价的
    a, b = b, a  # a = 5 b = 4,在执行这行的时候 看的是上一行的代码
    # a = b b = a  上一行和该行不是等价的
    print(a)  # 5
    print(b)  # 4

  • 相关阅读:
    Java网络编程详解
    android 取mac若干问题
    android问题 This version of android studio is incompatible with the gradle version used.
    c#将DataTable内容导出为CSV文件
    C#下利用正则表达式实现字符串搜索功能的方法(转)
    C#正则表达式入门
    java 文件类 null与exists()是不一样的
    c#线程中下载文件到本地
    Git 常用命令
    Web 监听器
  • 原文地址:https://www.cnblogs.com/peiya/p/13226920.html
Copyright © 2011-2022 走看看