python中的A,B = C是什么?

时间:2019-02-09 00:59:05

标签: python python-3.x

我目前正在学习Python的网络基础知识,并不断看到这种语法,一个变量,后跟另一个变量,但用逗号分隔。

conn, address = s.accept()

我了解s.accept(),只是不确定要将变量s.accept()分配给的变量。输入时:

type(conn, address)

我返回了一个元组,但是我不知道conn和地址如何在元组中扮演任何角色,并且想知道我是否可以得到有关此语法含义的指导。

谢谢,奥莉。

2 个答案:

答案 0 :(得分:2)

s.accept()返回两个值的元组:(host, port)

因此

conn, address = s.accept()

与(除了两次调用accept()一样)

conn, address = s.accept()[0], s.accept()[1]

答案 1 :(得分:0)

接收元组时,可以使用以下语法将其解压缩(或“拆分”)为其成员:

member1, member2, member3 = tuple

member1, member2 member3 = (member1, member2 member3)

在您的情况下,您收到的是(连接,地址)形式的元组,因此将其解压缩为您编写的两个变量:

conn, address = s.accept()

等效于此:

returned_tuple = s.accept()
conn, address = returned_tuple