什么是“[1]”,在sock.getsockname()[1]中?

时间:2017-06-09 09:21:10

标签: python sockets

我正在使用python中的套接字编程,我看到了这个:

sock.getsockname()[1],任何人都可以解释一下“[1]”是什么?

3 个答案:

答案 0 :(得分:3)

>>> sock.getsockname()
('0.0.0.0', 0)

返回元组的第一个元素(它是一种wird类型的数组)sock.getsockname()[0]是IP,第二个sock.getsockname()[1]是端口。

tuple[index]获取元组中此索引处的对象

答案 1 :(得分:0)

sock.getsocketname()函数返回数组,[1]立即返回该数组的[1]

variable = sock.getsocketname()[1]

相当于

arr = sock.getsocketname()
variable = arr[1]

在您的情况下,这是套接字端口号。

答案 2 :(得分:0)

[1]是您访问列表第二个元素的方式(第一个元素是[0])。

my_list = ["a", "b", "c"]
print my_list[1] # => "b"

因为sock.getsocketname()返回元组,所以你可以访问第二个元素。

显示完全相同行为的模拟:

def foo():
    return ("a", "b", "c")
print foo()[1] # => "b"