Python中的函数声明语法错误

1 投票
2 回答
10052 浏览
提问于 2025-04-17 18:03

我正在尝试用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的树莓派上进行这个操作。

2 个回答

0

这段内容主要讲的是关于闭合括号的问题。光在下一行写一个闭合括号是不够的:

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

你在前面的那行代码里忘记加一个右括号了。

不过,除了这个错误,等你过了代码解析这关后,还会遇到其他错误。例如,你在使用一些没有定义的名字(这会导致出现NameError错误):比如self.host或者self.conn

撰写回答