Python中函数声明的语法错误

时间:2013-03-05 22:02:39

标签: python function raspberry-pi

我正在尝试用Python编写一个简单的网络服务器,不幸的是,我正陷入让函数工作的简单障碍!

import os, socket

class serv:
    def __init__(self):
        self.host
        self.port = 'localhost', 58008
        self.socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        self.socket.bind((self.host, self.port)

    def send(self, msg):
        self.conn.send(msg + end)

    def run(self):
        self.socket.listen(1)
        self.conn
        self.addr = self.socket.accept()
        send(self, msg="Hello, world")

S = serv()
S.run()

此代码在函数调用send上给出以下错误:

File "server.py", line 10
def send(self, msg):
  ^
SyntaxError: invalid syntax

如果它有帮助(我确定它不会),我在使用Adafruit WebIDE的Raspberry Pi上做这个。

2 个答案:

答案 0 :(得分:8)

你之前忘记了一个右括号。

但是,一旦解析阶段存活,您还会遇到其他错误。例如,您引用了未定义的名称(这将为您提供NameError):self.hostself.conn

答案 1 :(得分:0)

关于结束括号的所有内容。在下一行还不够:

self.socket.bind((self.host, self.port)