为什么这一行会在Python中抛出语法错误

2024-10-01 09:28:21 发布

您现在位置:Python中文网/ 问答频道 /正文

我在Python的这行代码中遇到语法错误(在2.7.5和3.3中都有尝试) 有人能告诉我怎么了吗?你知道吗

if (ctx.bytes[0] = t + len) < t:

谢谢你的帮助!你知道吗

添加于2013年10月31日:我的问题源于这样一个事实:一个在线转换器很可能将代码从C转换成了Python。所以我真的需要关于如何将这个程序转换成Python的帮助(我更喜欢3,但是2可以)。在这方面我需要很多帮助,因为我1)不完全理解C代码在做什么,2)我对Python还是很陌生的!所以感谢您的帮助!!!完整的C源代码发布在Pastebin这里:http://pastebin.com/JTT1srSb。你知道吗


Tags: 代码comhttplenifbytes源代码事实
3条回答

Python不允许在条件表达式中使用单个等号(赋值运算符),这与C等语言不同。相反,请尝试执行以下操作:

ctx.bytes[0] = t + len

if ctx.bytes[0] < t:
(ctx.bytes[0] = t + len) < t

在布尔表达式中使用赋值运算符(=),这在python中是不允许的。你知道吗

与C不同,赋值运算符不返回任何值,因此不能在表达式中使用。Python的if语句的条件必须是表达式。您可以将代码替换为:

ctx.bytes[0] = t + len
if len:

PS:在Python中,不需要在if语句的条件周围加括号。你知道吗

相关问题 更多 >