javascript加python_是否可以在javascript中添加一些新的语法?

这篇博客探讨了如何在Python中实现函数的链式调用,如mul(2)(3),并扩展到支持mul(2)(3)(4)这样的连续操作。作者通过创建一个类来模拟这种行为,并添加了使用方括号进行负数运算的功能。博客还留下了一些魔法方法的实现作为练习,供读者进一步探索。
摘要由CSDN通过智能技术生成

在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或{})以外的任何操作,因为函数对象{}的计算结果将大于任何整数。在

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值