繁体   English   中英

为什么这行会在Python中引发语法错误

[英]Why would this line throw a syntax error in 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

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

ctx.bytes[0] = t + len

if ctx.bytes[0] < t:

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

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

PS:您无需在Python中使用if语句的条件放在括号中。

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM