【问题标题】:Why declare objects separated by commas? [duplicate]为什么要声明用逗号分隔的对象? [复制]
【发布时间】:2018-04-14 05:53:13
【问题描述】:

这条线的目的是什么?

id, now = id+1, time.ctime()

我以前从未在 Python 中看到过这种逗号用法,我不知道如何在 Google 上搜索。

import zmq
import time

# ZeroMQ Context
context = zmq.Context()

# Define the socket using the "Context"
sock = context.socket(zmq.PUSH)
sock.bind("tcp://127.0.0.1:5690")

id = 0

while True:
    time.sleep(1)
id, now = id+1, time.ctime()

# Message [id] - [message]
message = "{id} - {time}".format(id=id, time=now)

sock.send(message)

print "Sent: {msg}".format(msg=message)

【问题讨论】:

  • 这是创建和解包元组。这似乎是一个很好的教程:tutorialspoint.com/python/python_tuples.htm
  • 在这种情况下它一次分配两个变量
  • @quamrana 我不认为这里的目的是创建一个元组。它只是在这个脚本中创建了两个变量。
  • 但我认为,从技术上讲,创建和解包一个元组是为了在一行中执行两个分配。

标签: python


【解决方案1】:

google 的关键字是 'tuple' 。它是一个不可变的逗号分隔值列表

【讨论】:

  • ('some', 'values') 也是一个元组,一个不可变的逗号分隔值列表
  • 好吧,我帮他找到了谷歌的关键词:“我以前从未在 Python 中看到过这种逗号的用法,我不知道如何谷歌这个”。我只回答了他的一部分答案。我已经编辑了我的答案
【解决方案2】:

这是为两个变量赋值的单个命令。这将与

相同
id = id+1
now = time.ctime()

【讨论】:

  • 我的意思是,当然,但这并没有真正解决语法问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-05-27
  • 2014-08-05
  • 1970-01-01
  • 2015-07-06
  • 1970-01-01
  • 2023-01-31
  • 2016-08-21
相关资源
最近更新 更多