关键区别在于,在C风格的语言中,变量是您在其中放置内容的内存中的框。 在Python中,变量是名称。
Python既不是按引用调用也不是按值调用。这更明智!(实际上,我在学习更通用的语言之前就已经学习过Python,因此按值调用和按引用调用对我来说似乎很奇怪。)
在Python中,有 东西 ,有 名字 。列表,整数,字符串和自定义对象都是万物。
x,
y和
z是名字。写作
x = []
[]并为其命名
x”。写作
x = []foo = lambda x: x.append(None)foo(x)
意思是“
[]用name构造一个新事物,用name
x构造一个新函数(这是另一件事)
foo,然后调用
foo具有name的事物
x”。现在,
foo仅将
None其追加到收到的任何内容上,因此减少为“追加
None到空列表”。写作
x = 0def foo(x): x += 1foo(x)
意思是“建设一个新事物
0与名称
x,构造一个新的功能
foo,并呼吁
foo对
x”。内部
foo,分配正义说:“重命名
x为1,再加上它曾经是什么”,但是这并不能改变
事情 0。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)