这样的变量命名是什么意思呢

2016-07-30 13:30:44 +08:00
 lovebeyondalways

sock, addr = s.accept()
sock 和 addr 代表两个变量吗

3302 次点击
所在节点    Python
11 条回复
wellsc
2016-07-30 13:40:28 +08:00
学会 print
expkzb
2016-07-30 15:05:31 +08:00
返回了一个 tuple 吧,拿两个变量去接而已
jackyspy
2016-07-30 15:07:07 +08:00
tuple unpack
eliteYang
2016-07-30 18:17:30 +08:00
多返回值, tuple
BlueMeow
2016-07-30 18:54:28 +08:00
Python 的变量交换就是这样的, a, b = b, a ,感觉很自然
lovebeyondalways
2016-07-30 21:37:12 +08:00
弄懂了 tuple 里面有两个参数
hl
2016-07-30 23:21:17 +08:00
accept 方法返回一个含有俩个元素的元组,形如(connection,address)。第一个元素( connection )是新的 socket 对象,服务器通过它与客户通信;第二个元素( address )是客户的 internet 地址

tuple 里的这俩元素就分别赋值给变量 sock 和变量 addr

python 支持这种赋值方式, a,b = (1,2) a,b = [1,2] a,b,c = (1,2,3)等等
kkzxak47
2016-07-30 23:32:10 +08:00
py3 还有更好玩的语法 a, *b, c = [1, 2, 3, 4]
franklinyu
2016-07-31 00:36:54 +08:00
socket 和 address …… 都是當年 C 留下來的縮寫習慣,建議在 Python 裡面用完整拼寫。 sock 是襪子啊 Orz
SayHaHa
2016-07-31 00:47:19 +08:00
这个叫解包
lc4t
2016-07-31 00:50:15 +08:00
python cookbook3 第一个就是这个

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/295981

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX