我目前正在学习Python的网络基础知识,并不断看到这种语法,一个变量,后跟另一个变量,但用逗号分隔。
conn, address = s.accept()
我了解s.accept(),只是不确定要将变量s.accept()分配给的变量。输入时:
type(conn, address)
我返回了一个元组,但是我不知道conn和地址如何在元组中扮演任何角色,并且想知道我是否可以得到有关此语法含义的指导。
谢谢,奥莉。
答案 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