变量和关键字
变量指向各种类型的名字,以后用再用到这个值时,直接引用名字即可,不用在写具体的值。
可以把一个整数值赋给变量,如果觉得不合适,把字符串赋给变量也可以。
在Pyhon中 等号(=)是赋值语句,可以把任意数值类型赋值给变量。
*字符串必须以引号标记开始,并以引号标记结束。
同一个变量可以反复赋值,而且可以是不同类型的变量
例如:
a=123 a=‘ABC‘ print(a)
输出内容为:ABC
变量类型不固定的语言称为动态语言,与之相对应的是静态语言。静态语言在的定义变量是必须指定变量的类型,如果赋值时类型不匹配就会报错,和静态语言相比,动态语言更加灵活。
当不能确定变量或数据的类型时,可以借助解释器的内部函数type进行确认。
例如:
>>> type(‘hello,world‘) <class ‘str‘>
测试得到的结果类型是字符串类型(str)。
>>> type(100) <class ‘int‘>
测试得到的结果类型是整形(int)。
>>> type(3.0) <class ‘float‘>
测试得到的结果类型是浮点型(float)。
>>> a = ‘test type‘ >>> type(a) <class ‘str‘>
测试得到的结果类型是字符串类型(str)。
>>> b=100 >>> type(b) <class ‘int‘>
测试得到的结果类型是整形(int)。
>>> c=3.0 >>> type(c) <class ‘float‘>
测试得到的结果类型是浮点型(float)。
只要是用""或‘‘括起来的值,都属于字符串。
做一个对比如下:
>>> type(‘test duyuheng‘) <class ‘str‘> >>> type("du") <class ‘str‘> >>> type("100") <class ‘str‘> >>> type("3.0") <class ‘str‘> >>> b=3 >>> type(b) <class ‘int‘> >>> c=3.0 >>> type(c) <class ‘float‘>
*不要把赋值语句的等号同于数学中的等号。
例如:
>>> a=100 >>> a=a+200 >>> print(a) 300
理解变量在计算机内存中的表示
>>> a=‘ABC‘
这时Python已经做了两件事情:
①在内存中创建了一个‘ABC‘的字符串
②在内存中创建了一个a的变量,并把它指向了‘ABC‘
也可以把变量a赋值给变量b,实际就是把变量b指向变量a所指向的数据
>>> a=‘ABC‘ >>> b=a
如果在给a赋值一个值会打印出什么呢?完整代码如下:
>>> a=‘ABC‘ >>> b=a >>> a=‘XYZ‘ >>> print(b)
思路整理:
在执行a=‘ABC‘时,解释器创建了字符串‘ABC‘和变量a,并把变量啊指向‘ABC‘。
在执行b=a时,解释器创建了变量b,并把b指向a指向的字符串(ABC)。
在执行啊=‘XYZ‘时,解释器创建了字符串‘XYZ‘并把a的指向改为‘XYZ‘,但b没有更改。
所以最后输出的变量为
>>> print(b) ABC
变量名称
程序常常选择有意义的名称作为变量名,以此来标记变量的用途
变量名是由数字或字符组成的任意长度的字符串,必须以字母开头。使用大写字母是合法的,但变量名建议使用小写字母开头。
*Pyhon是区分大小写的
例如:
>>> name=‘duyuheng‘ >>> Name=‘python‘ >>> print(name) duyuheng >>> print(Name)
python
下划线‘_‘可以出现在变量名中
*常用于连接多个词组
例如:
>>> n_ame=‘du yu heng‘ >>> print(n_ame) du yu heng
除了以上所得组合其他的都为非法变量名,还有就是不可以使用关键字作为变量名。
*Python中有33个关键字是不可以作为变量名使用的
False class finally is return
None continue 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