列表推导:python2和python3中作用域的问题
Posted xiangxiaolin
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了列表推导:python2和python3中作用域的问题相关的知识,希望对你有一定的参考价值。
python2中:
x = ‘my love‘ dummy = [x for x in ‘ABC‘] print x
此时x打印为:‘C‘
python3中:
x = ‘my love‘ dummy = [x for x in ‘ABC‘] print(x)
此时x打印为:‘my love‘
在 Python 3 中都有了自己的局部作用域,就像函数似的。表达式内部的变量和赋值只在局部起作用,表达式的上下文里的同名变量还可以被正常引用,局部变量并不会影响到它们。
在python3中:
x = ‘my love‘ dummy1 = [ord(x) for x in x] print(x) print(dummy1)
x 的值被保留了。
列表推导也创建了正确的列表。
以上是关于列表推导:python2和python3中作用域的问题的主要内容,如果未能解决你的问题,请参考以下文章