javascript加python_是否可以在javascript中添加一些新的语法?
在Python中mul(2)(3)
意味著使用參數2調用mul,然后從帶有參數3的值中調用{}值(假設它是一個函數)。您不能重新定義該語法,但您可以讓您的函數使用它:
^{pr2}$
為了允許鏈接(即mul (2)(3)(4)),我會選擇class:import operator
class op(object):
def __init__(self, op, arg):
self.op = op
self.value = self._get_val(arg)
def _get_val(self, arg):
try:
return arg.value
except AttributeError:
return arg
def __repr__(self):
return str(self.value)
def __call__(self, arg):
self.value = self.op(self.value,
self._get_val(arg))
return self
def __getitem__(self, key):
self.value = self.op(self.value,
-1 * self._get_val(key))
return self
class mul(op):
def __init__(self, arg):
super(mul, self).__init__(operator.mul, arg)
我添加了一個額外功能,方括號使參數為負(mul(2)[3] == -6)。這只不過是把假裝成return一個數字;我把實現其余必要的magic methods留給讀者作為練習。在
您不能讓mul>x>y執行除返回x > y(True或{})以外的任何操作,因為函數對象{}的計算結果將大于任何整數。在
總結
以上是生活随笔為你收集整理的javascript加python_是否可以在javascript中添加一些新的语法?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 用牙膏、酱油、姜汁涂伤口会加重烫伤吗?
- 下一篇: 豆豉是什么东西?