套接字语法的差异

时间:2016-04-11 01:54:34

标签: python

在创建套接字时,我在理解变体语法格式方面遇到了一些麻烦(我几周前开始学习Python)。

有人可以解释下面的区别(如果有的话)吗?

  1. s = socket()
  2. s = socket.socket()
  3. s = socket(AF_INET,SOCK_STREAM)
  4. 感谢。

2 个答案:

答案 0 :(得分:0)

差异取决于您使用的模块。 如果您使用theme

  1. 这样可行。 s将是未初始化的套接字对象。
  2. 无效,因为socket是构造函数而不是模块。
  3. 这样可行。 s将初始化套接字对象。
  4. 如果您使用from socket import socket, AF_INET, SOCK_STREAM

    1. 无效,因为socket是模块而不是构造函数(不是函数 - 你不能称之为)。
    2. 这样可行。 s将是未初始化的套接字对象。
    3. 无效,因为socket是模块而不是构造函数。
    4. 希望这个帮助

答案 1 :(得分:0)

对于#3,您可能需要修改代码,如下所示:

import socket
s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)

参考: https://www.py4e.com/code3/socket1.py

由于