python 数组[for in_怎样理解python数组中的for语句?

了解一下堆栈虚拟机和字节码

python用dis模块将程序反编译为字节码对应的操作码。

>>> import dis

>>> def f(x):

return(10*x)

>>> def x():

a=[1,2,3]

for i in a:

b=f(i)

print(b)

>>> dis.dis(x)

2 0 LOAD_CONST 1 (1)

3 LOAD_CONST 2 (2)

6 LOAD_CONST 3 (3)

9 BUILD_LIST 3

12 STORE_FAST 0 (a)

3 15 SETUP_LOOP 36 (to 54)

18 LOAD_FAST 0 (a)

21 GET_ITER

>> 22 FOR_ITER 28 (to 53)

25 STORE_FAST 1 (i)

4 28 LOAD_GLOBAL 0 (f)

31 LOAD_FAST 1 (i)

34 CALL_FUNCTION 1 (1 positional, 0 keyword pair)

37 STORE_FAST 2 (b)

5 40 LOAD_GLOBAL 1 (print)

43 LOAD_FAST 2 (b)

46 CALL_FUNCTION 1 (1 positional, 0 keyword pair)

49 POP_TOP

50 JUMP_ABSOLUTE 22

>> 53 POP_BLOCK

>> 54 LOAD_CONST 0 (None)

57 RETURN_VALUE

>>>

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值