簡體   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