2

对于家庭作业,我正在 python 中重新实现套接字类。然而,我并不精通python。我有一个关于语法的问题。

当您定义使用的套接字时,从 python API:

import socket
mySocket = socket.socket(socket.AF_INET,socket.SOCK_DGRAM))

但是,我不知道如何定义表现生活 AF_INET 和 SOCK_DGRAM 的常量。

import mySocket
mySocket = mySocket.socket(mySocket.AF_INET,mySocket.SOCK_DGRAM))

给出以下错误

Undefined variable from import: AF_INET
Undefined variable from import: SOCK_DGRAM

mySocket 类目前看起来像:

class socket:
    AF_INET;
    SOCK_DGRAM;

    def socket(.....
4

2 回答 2

4

您需要在模块级别定义常量,而不是在您的socket类中:

AF_INET = 2
SOCK_DGRAM = 2

class socket:
    def __init__(.....
于 2013-02-04T21:38:26.113 回答
3

这些常量是模块级的:

module1.py

CONSTANT1 = 'test'

class YourClass(object):
    class_variable = 12

module2.py

import module1

print module1.CONSTANT1
于 2013-02-04T21:38:28.573 回答