目录
1.变量的概念
2.变量的命名和使用
3.变量在内存中的表示
附:Python关键字和函数名
1.变量的概念
变量的定义其实在Python教材中并没有进行详细的解释,在我的理解中可以把变量实际上就是一种赋值,可以看做是一种和初中y=x+y一样,其中x=3,y=4的一种行为,在Python中变量可以是数字,可以是其他数据类型。
2.变量的命名和使用
- 变量的命名规则主要有以下五点:
- 变量名只能包含字母、下划线和数字。变量名恶意是字母和下划线,但是不可以使数字;
- 变量名不能包含空格,但可使用下划线来分割其中的单词;
- 不要将Python关键字和函数名用作变量名,即不要使用Python保留用于特殊用途的单词;
- 变量名应既简短又具有代表性;
- 慎用小写字母l和大写字母O,容易和数字1和0混淆;
注意:在Python中尽量使用小写的变量名。
3.变量在内存中的表示
理解变量在计算机内存中的表示也非常重要。当我们写:a = ‘hello’时,Python解释器干了两件事情:
- 首先Python解释器在内存中创建了一个’hello’的字符串;
- 然后在内存中创建了一个名为a的变量,并把它指向’hello’。
下面进行一个值传递过程,将变量a的值传递给b,这个操作实际上是把变量b指向变量a所指向的数据,例如下面的代码:
a = 'ABC'
b = a
a = 'XYZ'
print(b)
在代码运行过程中,实际上做了以下这几件事:
- 执行a = ‘ABC’,解释器创建了字符串 ‘ABC’和变量 a,并把a指向 ‘ABC’:
- 执行b = a,解释器创建了变量 b,并把b指向 a 指向的字符串’ABC’:
- 执行a = ‘XYZ’,解释器创建了字符串’XYZ’,并把a的指向改为’XYZ’,但b并没有更改
所以,最后打印变量b的结果自然是’ABC’了。
附:Python关键字和函数名
在这里整理一下Python关键字和函数名具体是指那些,之前作为学习Python小白的我也不是很清楚,看了Python的教材做一下一个小结:
Python关键字
False | class | finally | is | return | None | contine |
for | lambda | try | True | def | from | nonlocal |
while | and | del | global | not | with | as |
elif | if | or | yield | assert | else | import |
pass | break | except | in | raise | | |
如果你将这些关键字作为变量名,将引发错误。
python内置函数
abs() | all() | any() | basestring() | bin() | bool() | bytearray() | callable() |
chr() | classmethod() | cmp() | compile() | complex() | delattr() | dict() | dir() |
divmod() | enumerate() | eval() | execfile() | file() | filter() | float() | format() |
frozenset() | getattr() | globals() | hasattr() | hash() | help() | hex() | id() |
input() | int() | isinstance() | issubclass() | iter() | len() | list() | locals() |
long() | map() | max() | memoryview() | min() | next() | object() | oct() |
open() | ord() | pow() | print() | range() | raw_input() | reduce() | reload() |
repr() | reversed() | round() | set() | retattr() | slice() | sorted() | staticmethod() |
str() | sum() | super() | tuple() | type() | unichr() | unicode() | vars() |
xrange() | Zip() | _import_() | apply() | buffer() | coerce() | intern() | zip() |