Python這麼完美,但爲什麼反對者還是不放棄詆譭它?

{"type":"doc","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"軟件開發長期以來一直是一個雷區。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"普通人會發現,用傳統的編程語言(如C和JAVA)闖入軟件領域是很可怕的。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"但一旦Python加入遊戲,這種情況很快就改變了。Python以其革命性的編程方法在軟件開發方面是一個巨大的飛躍。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"人們愛上Python,是因爲其簡潔性、廣泛的庫支持和表達能力。因此,像C和Java這樣的語言的統治結束了。"}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"沒有什麼是完美的。等等,真的嗎?"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"如果你是一個軟件開發者,你可能熟悉**權衡(trade-off)**這個詞。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"每當一個關於編程語言的問題突然出現時,人們通常會得到一個傳統的答案:“視情況而定”。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"普遍認爲沒有一種完美的編程語言。等等, 是真的嗎?"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"對我來說,不是這樣。我認爲Python是編程語言中的銀彈。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"到目前爲止,我用過Python、C、C++、MATLAB、JAVA。Python是我接觸最晚的,但卻是最好的。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"爲了測試Python,我做了一個實驗,並將大多數非Python程序轉換爲Python。最終的Python版本要好得多。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"目前,據我所知,Python在兩個問題上一直受到嚴重批評:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"bulletedlist","content":[{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"動態類型"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"速度"}]}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"雖然我同意這些問題在某種程度上對軟件開發有重大影響,但我可以確認,這些大部分是Python誕生初期存在的問題。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"然而,多虧了rock-solid社區,Python已經演變到幾乎與每一種編程語言相當。動態類型和速度不再對編碼實踐產生重大影響。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Python可以用來處理任何問題。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"如果是這樣的話,爲什麼Python還沒有被大規模採用呢?"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"因此,有必要解釋爲什麼動態類型和性能問題是容易被忽略的小問題。"}]},{"type":"heading","attrs":{"align":null,"level":3},"content":[{"type":"text","text":"動態類型"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"爲了理解動態類型,最好先理解其反面——靜態類型。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"靜態類型語言有C、JAVA等。這些語言與它們的動態類型對應語言之間的主要區別在於類型檢查。靜態類型是在編譯時進行類型檢查,而動態類型是在運行時進行類型檢查。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"blockquote","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"注:這是對動態類型和靜態類型的平淡定義。其中具體的技術細節超出了本文要討論的範疇。"}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"由於Python的調試問題,以及Python語言如何使跟蹤bug的過程變得比現在更復雜,一些開發人員對Python大發牢騷。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"這種抱怨源於這樣一個事實:作爲一種動態類型語言,Python在運行時標記錯誤,這使得它比Java等靜態類型語言更容易出錯。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"理論上,這是一個威脅,畢竟考慮到一個著名的諺語——是人都會犯錯。但是在實踐中,我懷疑類型錯誤有沒有他們聲稱的那樣嚴重。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"說真的,現在誰還犯類型錯誤?"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"靜態類型語言遠不是一個無障礙的調試避風港。除了類型錯誤之外,大多數靜態類型語言都無法捕獲到你可能認爲應該檢測到的細微錯誤。這些錯誤同樣發生在靜態類型和動態類型中。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"此外,幾乎沒有代碼會不經過單元測試就部署。單元測試可以很好地防範類型錯誤。只有極少數情況下,類型錯誤會繞過單元測試來搞亂代碼。在調試方面,編程語言的另一個特性是安全類型和不安全類型。允許用戶重寫系統類型的語言被認爲具有不安全的類型——例如C。雖然不安全的類型給了用戶對類型的控制,但它的誤用會導致程序任意崩潰。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"大多數靜態類型語言都是不安全的類型系統。然而,JAVA是一種安全類型語言。Python和我所知道的其它動態類型編程語言也是如此。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"最後,我更願意使用像Python這樣方便和高級的語言編寫一百萬次代碼,而不是陷入JAVA等語言的低級細節中。"}]},{"type":"heading","attrs":{"align":null,"level":3},"content":[{"type":"text","text":"速度"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"可憐的Python總是笑着接受性能批評。如果你是在一場編程語言辯論中,我幾乎可以保證,一旦你開始讚美Python,你就會受到性能打擊。這是真的。嗯,在某種程度上。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"對於原始或標準Python比C或JAVA慢這一事實,我不會爭論。但正如我之前所說,有一個像Python一樣勤奮和創新的社區,不要害怕。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Python與其靜態類型的競爭對手之間的性能差距在過去幾年中急劇縮小。JIT編譯和並行計算方面的進步使Python趕上了它的競爭對手。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"許多變通方法都是爲了解決Python的性能問題而開發的。例如:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"bulletedlist","content":[{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"將實現從"},{"type":"link","attrs":{"href":"https:\/\/github.com\/python\/cpython","title":"","type":null},"content":[{"type":"text","text":"CPython"}]},{"type":"text","text":"更改爲"},{"type":"link","attrs":{"href":"https:\/\/doc.pypy.org\/en\/latest\/release-1.2.0.html","title":"","type":null},"content":[{"type":"text","text":"PyPy"}]},{"type":"text","text":"可以顯著提高執行速度。有時候,PyPy甚至能超越C。"}]}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"blockquote","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"注意:CPython是你從"},{"type":"link","attrs":{"href":"https:\/\/www.python.org\/","title":"","type":null},"content":[{"type":"text","text":"Python.org"}]},{"type":"text","text":"下載的實現。"}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"bulletedlist","content":[{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"抑制"},{"type":"link","attrs":{"href":"https:\/\/cython.readthedocs.io\/en\/latest\/src\/userguide\/parallelism.html?highlight=gil#cython.parallel.parallel","title":"","type":null},"content":[{"type":"text","text":"GIL"}]},{"type":"text","text":"使得Python能夠並行執行序列,從而提高計算速度。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"JIT編譯器"},{"type":"link","attrs":{"href":"http:\/\/numba.pydata.org\/","title":"","type":null},"content":[{"type":"text","text":"Numba"}]},{"type":"text","text":"。只要把Numba裝飾器放在你的函數上,就可以看着它以光速運行了。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"許多Python庫(例如Numpy和Scipy)是用C\/C++編寫的。"}]}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"如您所見,性能是一個反對Python的過時論據。有了這些解決方案,除了讚歎Python充滿活力的社區之外,別無選擇。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"但是,爲什麼有些人仍然不喜歡Python,而喜歡使用老式的JAVA之類的東西呢?"}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"爲什麼不向Python“投降”?"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"首先,這有一篇讓我咯咯笑的quora帖子。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https:\/\/static001.infoq.cn\/resource\/image\/aa\/0e\/aa973yy420c82ae3056f4fb88ba7210e.png","alt":null,"title":"","style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":"","fromPaste":false,"pastePass":false}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":"center","origin":null},"content":[{"type":"text","text":"來源:"},{"type":"link","attrs":{"href":"https:\/\/www.quora.com\/Is-it-just-me-or-is-Python-actually-a-more-difficult-language-than-Java","title":"","type":null},"content":[{"type":"text","text":"Quora"}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"顯然,有些人沒有也不會認真對待Python。真有趣!"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"無論如何,我個人認爲阻止Python大規模採用的是人們對待編程的心態。換句話說,問題不在於編程語言,而在於人。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"你看,Python的出現是爲了讓編程更容易,更重要的是,爲了"},{"type":"text","marks":[{"type":"strong"}],"text":"節省時間"},{"type":"text","text":"。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"你可能在想,“我用JAVA寫代碼,好好的。我爲什麼要用Python?”好吧,你當然不需要,但是要知道,如果你投資Python,你將能夠充分發揮你的編碼潛力,而不是陷入JAVA的低級混亂中。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Python是開源的、乾淨的、對用戶友好的。用一個好的文本編輯器,你甚至可以讓你的代碼比英文文本還漂亮。Python並不期望有什麼回報,只是一點兒欣賞。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Python可能太好了。我個人認爲是這樣。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"人們仍然使用C和JAVA的原因是一個古老的信念——努力工作是有回報的。我不會撒謊說這個信念是錯誤的。但是,我想表達的是“努力工作會有回報”只是放在了錯誤的屬性上。相反,這句話應該放在Python上。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"事實上,JAVA和類似的語言是跳轉到Python之前的一個"},{"type":"link","attrs":{"href":"https:\/\/betterprogramming.pub\/dont-start-coding-with-python-begin-with-c-8567ae65948d","title":"","type":null},"content":[{"type":"text","text":"很好的熱身"}]},{"type":"text","text":"。他們會讓你更成功地使用Python。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"此外,在死板的程序員眼中,向Python的轉換並不是一個選項,例如,曾協助C啓動,並從那時起就一直被困在C中。一個真正隨着語言成長並在其起伏中支持它的開發人員不太可能放棄這門語言。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"我敢肯定,這些值得尊敬的開發人員不會改變他們的想法,即使在極端情況下——例如,發佈一種自己寫代碼的編程語言。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"事實是,“"},{"type":"text","marks":[{"type":"strong"}],"text":"適應"},{"type":"text","text":"”說起來容易做起來難。"}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"最後的一些想法"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"軟件開發是一個令人入勝的領域。它總是讓你保持警覺。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"因此,你應該隨時準備好武器來反擊任何對你最親愛的編程語言的批評。否則,你就要看着它中彈。知識和經驗是你的最好的武器。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"編程曾經是一個非常困難的領域,但現在由於Python的出現,它對每一個人來說都是一個開放的世界。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"blockquote","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"“Python可以教給孩子們” — Guido Van Rossum"}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"我個人認爲Python是一種完美的編程語言。Python在可讀性方面勝過所有編程語言。當然,一個糟糕的Python程序員會產出糟糕的代碼。但是,我覺得那些糟糕的代碼會比這些人用另一種語言編寫同樣的代碼的糟糕程度好得多。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"坦白地說,我從未遇到過Python與另一種編程語言相比黯然失色的情況。也許將來我會。如果我做了,我會重新懺悔。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"如果Python不是開源的,人們會指責我爲Python打廣告。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong"}],"text":" 參考"},{"type":"text","text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"文章的靈感來源於《計算機的進步》一書和作者的經歷。"}]},{"type":"heading","attrs":{"align":null,"level":4},"content":[{"type":"text","text":"作者介紹"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Mohammed Ayar,科技愛好者。區塊鏈倡導者。撰寫編程、數據科學與加密貨幣相關的文章。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong"}],"text":"原文鏈接:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"https:\/\/towardsdatascience.com\/python-is-perfect-why-anti-python-developers-wont-give-up-326ae1a09e7f"}]}]}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章