我正在学习Python和这里的一个代码,我不能完全得到:订单在Python
text = 'zip is very zipped'
print text.find('zip', text.find('zip') + 1)
现在,我知道这是实现的一个捷径:
text = 'zip is very zipped'
occur_once = text.find('zip')
print text.find('zip', occur_once + 1)
我在想,
print text.find('zip', text.find('zip') + 1)
工作和以什么顺序的Python评估这些表达式?这种'执行'的命令是否有名字?
我敢肯定,函数值(不是它的返回值,但函数本身)在参数之前进行计算。如果其中一个参数是带有副作用(改变函数定义)的函数调用,那么这很重要,这在代码不是专门为测试而设计的代码中是不太可能发生的。 – Blckknght 2013-03-27 22:33:36
@Blckknght啊,我会澄清我的意思,那就是函数被执行。确实可以在参数列表之前对可调用对象进行评估。 – 2013-03-27 22:34:06
你可以举一个例子来说明如何应用这个: print text.find('zip',text.find('zip')+ 1) – daremkd 2013-03-28 20:21:20