有沒有一種方法來定義像我自己在Python中的新語句,如def
,with
, for
,.. ..。當然,我不是故意重寫現有的語句。只能創建一些我自己的語句。Python:製作你自己的報表
如果是這樣,我該怎麼做?你能指出我關於這個問題的好文件嗎?
有沒有一種方法來定義像我自己在Python中的新語句,如def
,with
, for
,.. ..。當然,我不是故意重寫現有的語句。只能創建一些我自己的語句。Python:製作你自己的報表
如果是這樣,我該怎麼做?你能指出我關於這個問題的好文件嗎?
不,您不能在Python程序中添加新的語法。改變語言的唯一方法是編輯和重新編譯語法文件並支持C代碼,以獲得新的更改的解釋器,編譯器和運行時。
您不能(重新)定義語言關鍵字而不重寫編譯器/解釋器等。你可以做的也許是編寫一個類似於DSL(域特定語言)的東西,並將你的關鍵字語句轉換爲適當的Python語句,這可能是一個更簡單的路線。
儘管無法修改Python本身的語法(無需像Alex提到的那樣重新編譯),但您可以使用元編程技術。以下是關於在Python中創建DSL的演示文稿的鏈接。
http://blog.brianbeck.com/post/53538107/python-dsl-i
如果你不結婚,Python和Ruby是一種定義DSL的,因爲它具有更廣泛的元編程能力有很大的語言。
http://www.themomorohoax.com/2009/02/25/how-to-write-a-clean-ruby-dsl-rails
......如果你真的對DSL很認真,也可以考慮Tcl。它可以讓你創建自己的核心命令,比如你自己的if語句,你自己的while循環和重複循環等等.Tcl中沒有保留字,所以你可以徹底改造任何東西。 –
Ren'Py是Python的一個擴展,通過實現自己的解析器和編譯器允許自定義報表的例子。
有一些編程語言可以讓你做到這一點(例如Tcl),但Python不是這些語言之一。
給它一個新的名字,這不像是「python」這個詞。請不要將我們與「主要是python」的語言混淆,但由於一些新的語法,否則它們不兼容。 –
嘗試pythong,potang,pifun,哈哈 –
是的,pythong是好的。就像植物一樣,植物的基本粒子:) – tzot