游戏测试 读《编译原理》观后感

陈子昂 for 书影评 · August 25, 2018 · 3179 hits

计算机符号学 python

def test_while(): #简单测试代码
a = 0
while True:
a =a+1 #INPLACE_ADD原地 效率高于BINARY_ADD
if a == 100000: #先把a提取出来,然后拿到后面数字100000,然后符号用==连接,然后判断是不是等于False,所以条件判断里面优先写条件取反
break

链接方式

这里a“=”0, "="做为一个连接器的作用,为赋值链接器。在大部分语言里都是这样的,把左右进行连接(python语言里是把右边数据类型的值绑在左边对象句柄上,python语言对象句柄是来源于右边),所以赋值链接器优先级是右边先处理,然后给到左边。
ps:猜测"=="和"==="是于上面是另外一层意思,可能计算机科学家用了一种邻近规则。

如果拿一个盘子和菜举例子。同样一个盘子,菜摆盘了小龙虾,就是盘子的对象里面是小龙虾,中间的清洗过程就是解除引用。如果换成番茄牛腩,盘子->移除小龙虾,盘子的对象是番茄牛腩。如果倒掉这份番茄牛腩,是用手倾斜这个盘子对象。

推荐INPLACE_*(原地处理)

a=a+1 ,右边先指向a的内存,a+1后,先回收之前a的数值(数字小数在python内存里引用为0,也是不会回收的),但是依然会有右边计算结束后,在把数值传递给左边。
虽然在中间程序优化器内操作步骤不会变多。但由小见大,不光是int才会有原地处理,比如钩子函数 一样会存在,钩子函数对象句柄+=对象句柄链接引用的方法或者别的。

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
No Reply at the moment.
需要 Sign In 后方可回复, 如果你还没有账号请点击这里 Sign Up