标识符
给变量、函数、类、模块和其它对象的起的名字就叫标识符,和人名类似。
标识符有以下几点要求:
由数字,字母,下划线组成。
不能以数字开头。
不能是保留字。
严格区分大小写。
保留字
有一些单词被赋予了特定的意义,这些单词你在给任何对象起名字的时候都不能用。
用以下代码可以获取完整的保留字列表:
import keyword
print(keyword.kwlist)
通过运行程序可以知道保留字包括:
‘False’, ‘None’, ‘True’, ‘and’, ‘as’, ‘assert’, ‘async’, ‘await’, ‘break’, ‘class’, ‘continue’, ‘def’, ‘del’, ‘elif’,‘else’, ‘except’, ‘finally’, ‘for’, ‘from’, ‘global’, ‘if’, ‘import’, ‘in’, ‘is’, ‘lambda’, ‘nonlocal’, ‘not’, ‘or’,‘pass’, ‘raise’, ‘return’, ‘try’, ‘while’, ‘with’, ‘yield’
这些保留字乱用时我使用的pycharm会直接变灰,除非你后续的代码证明你把他用在了恰当的地方而不是用来当作标识符。
变量
在我学习的课程中老师有这样一个我认为很恰当的比喻:变量就是一个装东西的盒子。
变量的赋值
name='楚山寒'
这里可以用print来输出name,查看赋值结果
print(name)
变量的组成
变量由三部分组成
标识:表示对象所存储的内存地址,使用内置函数id(obj)来获取。
类型:表示的是对象的数据类型.使用内置函数type(obj)来获取。
值:表示对象所存储的具体数据.使用print(obj)可以将值进行打印输出。
name='楚山寒'
print(name)
print('标识',id(name))
print('类型',type(name))
print('值',name)
结果如图:
从这里就可以看出,name中实际上存储的是id,通俗的理解为门牌号,它指向标识为1556329197616的区域。而这块存储区域则包含了类型,值。
因此前面说变量是一个盒子这个比喻十分恰当。
变量的多次赋值
当我们对一个变量进行赋值后,再次对它进行赋值会发生什么?为了显示更明显,我将新一次的赋值就放在了前面输出变量各组成的操作的下面。
name='楚山寒'
print(name)
print('标识',id(name))
print('类型',type(name))
print('值',name)
#再次赋值
name='123'
print(name)
print('标识',id(name))
print('类型',type(name))
print('值',name)
输出结果如下:
因为我输入的123是以字符形式输入的,所以“类型”没有发生改变,而其他的属性全都发生了改变,name也指向了新的空间。
因此可以得出结论,当对一个变量进行多次赋值时,它会抛弃前面赋给它的值,只保留最后一次的值,并且申请新的内存空间。在编写程序时要格外注意变量名称不能重复,否则一定会出错。
原文链接:https://blog.csdn.net/AQwjjjjr/article/details/112474190