[英]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.