表达式:在程序代码操作过程中,值会发生改变的量
自变量:在程序代码操作过程中,值不能发生改变的量
不论是表达式却是自变量,在建立时单厢在缓存中开拓几块内部空间,用作留存它的值
Python 中的表达式不须要新闻稿类别。
这是依照Python的静态词汇优点而来。表达式能间接采用,而不须要提早新闻稿类别。比如上面的a,b,c,d五个表达式,在采用前没展开任何人的譬如int a, str b, list c ,int d的类别新闻稿,而这在C和JAVA中是要的。
>>> a = 4>>> b = “haha”>>> c = []>>> d = 9-5
用“=”号来给表达式表达式
a = 100
这儿的等号要认知并读成“表达式”,而并非“等同于”,“赋值”是对表达式的操作,而“等同于”是对两个表达式展开比较。上面的a,b,c,d五个表达式,就通过“=”号,赋予了不同的值。
每个表达式在采用前都要表达式,表达式表达式以后才会被建立。
新的表达式通过表达式的动作,建立并开拓缓存内部空间,留存值。如果没表达式而间接采用会抛出表达式前引用的异常或者未命名异常。比如:
>>> a # 孤单单一个a,什么也表示不了,只能报错Traceback (most recent call last): File “<pyshell#0>”, line 1, in <module> aNameError: name a is not defined>>> a = 1 # 这样就没问题了,解释器知道a是个新表达式了>>> c.append(1) # c是个什么鬼?Traceback (most recent call last):File “<pyshell#2>”, line 1, in <module> c.append(1)NameError: name c is not defined
Python中,一切事物都是对象,表达式引用的是对象或者说是对象在缓存中的地址。
这条我们靠后详说。
在Python中,表达式本身没数据类别的概念,通常所说的“表达式类别”是表达式所引用的对象的类别,或者说是表达式的值的类别。
>>> a = 1>>> a = “haha”>>> a = [1, 2, 3]>>> a = { “k1″:”v1”}
例子中,表达式a在建立的时候,赋予了值为1的整数类别,然后又被改成字符串“haha”,再又变成一个列表,最后是个字典。表达式a在静态的改变,它的值分别是不同的数据类别,这是动态词汇的特点。
“=”号这个表达式运算符是从右往左的计算顺序。
>>> a = 1>>> b = 2>>> c = a + b # 先计算a+b的值,再赋给c>>> c3
Python允许同时为多个表达式表达式。
比如:a = b = c = 1,最终大家都是1。
也能同时为多个表达式表达式,用逗号分隔,逐一对应。
比如:a, b, c = 1, 2, 3,最后a是1,b是2,c是3.
不要把表达式语句的等号等同于数学的等号。
x = 1
x = x + 2
如果从数学上认知x = x + 2那无论如何是不成立的,在程序中,表达式语句先计算右侧的表达式x + 2,得到结果3,再赋给表达式x。由于x之前的值是1,重新表达式后,x的值变成3。
同时,认知表达式在计算机缓存中的表示也非常重要。当我们写:
a = ABC时,Python解释器干了两件事情:
1.在缓存中建立了一个‘ABC’的字符串对象;
2.在缓存中建立了一个名为a的表达式,并把它指向ABC。
也能把一个表达式a表达式给另一个表达式b,这个操作实际上是将表达式b指向表达式a所指向的数据,比如上面的代码:
a = Jackb = aa = Tomprint(b)print(a)
最后表达式b的内容到底是Jack却是Tom?如果从数学意义上认知,就会错误地得出b和a相同是‘Tom’,但实际上b的值却是Jack ‘!
请牢记:Python中的一切都是对象,表达式是对象的引用!:
执行a = ‘Jack’,解释器建立字符串‘Jack’对象和表达式a,并把a指向‘Jack’对象;
执行b = a,解释器建立表达式b,并且将其指向表达式a指向的字符串‘Jack’对象;
执行a = ‘Tom’,解释器建立字符串‘Tom’对象,并把a改为指向‘Tom’对象,与b无关。

最后我们还要说下自变量!
自变量就是不变的表达式,比如常用的数学常数圆周率就是一个自变量。在Python中,通常用全部大写的表达式名表示自变量:
PI = 3.14159265359
但事实上,从Python语法角度看,PI仍然是一个表达式,因为Python根本没任何人机制保证PI不能被改变。你完全能给PI表达式为10,不能弹出任何人错误。所以,用全部大写的表达式名表示自变量只是一个习惯上的用法。
自变量通常放置在代码的最上部,并作为全局采用。
