2012-12-11 28 views
-3

IM面向端口C++代碼中的問題,以蟒蛇,其中包括=運算符重載任何一個可以幫助Python的展示Qset替代

MyData& operator= (const MyData & a) { 
    name = a.name; 
} 
+1

你不應該對覆蓋語法問題在所有的水平來改寫C++代碼在Python。在pythonic代碼中重新編碼算法,不要嘗試逐行轉換。 – geoffspear

+1

移植並不重要,但'operator ='無法返回任何內容。哎喲。 – NPE

回答

1

正如Wooble提到的,你應該寫你的Python代碼的Python的方式,但它是值得要提到你不能覆蓋賦值運算符,因爲...... 它根本不是運營商

看到這個答案對運算符重載:https://stackoverflow.com/a/1936375/166877

+0

謝謝,我知道該怎麼做:operator ==和operator!=在python中__eq__和__ne__,但我不知道該怎麼做= python中的運算符 – user522745

+1

這就是問題'='(普通賦值)不是Python中的運算符。您可以重寫如何設置屬性(如'a.attr = 123'),但不是**如何分配引用(如'a = b')。你可以實現一個方法,比如說'update'來完成這個工作,並且明確地調用它。 –