python-拆包交换变量的值

Posted 忆梦,惊梦

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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

以上是关于python-拆包交换变量的值的主要内容,如果未能解决你的问题,请参考以下文章

交换两个变量

Python代码的一些基本语法

Python代码的一些基本语法

Python代码的一些基本语法

C中的“拆包”

python交换两个变量的值,一句代码搞定