1.变量
(1)什么是变量
变量就是对内存地址空间的一个引用
变量名只有在第一次出现时才是定义变量,当再次出现时,不是定义变量,而是直接引用之前定义的变量。
用标识符命名的存储单元的地址称为变量,变量是用来存储数据的,通过标识符可以获取变量的值,也可以对变量进行赋值。
对变量赋值的意思是将值赋给变量,赋值完成后,变量所指向的存储单元存储变量被赋的值,删除变量后,内存空间释放
变量就是一块内存空间,申请空间后存储变量被赋的值
(2)变量的命名方法
1> 命名的规范性
-
变量名由字母、数字、下划线这三种字符组成,但是不能以数字开头。例如:sheena1是合法变量名,而1jay不可以。
-
变量名尽量不要和系统关键字重名,这样会给系统带来不必要的麻烦
-
Python的变量名是区分大小写的
-
变量的命名最好做到见名知意
注意:单独的下划线_是一个特殊变量,用于表示上一次运算的结果
2> 驼峰命名法
大驼峰:每一个单词的首字母都大写:FirstName、LastName
小驼峰:第一个单词以小写字母开始,后续单词的首字母大写:firstName、lastName
(3)变量的类型
在python中,定义变量时,不需要指定变量的类型
类型 | 说明 |
---|---|
int | 整型 |
float | 小数型,或浮点数、浮点型 |
str | 字符串型 |
bool | 布尔型,真:True 假:False |
(4)变量和地址的关系
Python中采用基于值的内存管理方式,不同的值分配不同的内存空间
当给变量赋值时,Python解释器为该值分配一个内存空间,而变量则指向该空间
当变量的值被改变时,改变的不是该内存空间的内容,而是改变了变量的指向关系,使变量指向另一内存空间
可以理解为:Python变量并不是某一固定内存单元的标识,而是对内存中存储的某个数据的引用,这个引用是动态改变的
Python具有自动内存管理功能,对于没有任何变量指向的值(垃圾数据),Python系统自动将其删除
例如:a从指向1转向2后,数值1变成了没有变量引用的垃圾数据,Python会回收垃圾数据的内存单元,以便提供给别的数据使用
这就是垃圾回收,也可以用del语句删除一些对象的引用
(5)Python的id()
函数可以返回其对象的内存地址
Python解释器会为每个出现的对象分配内存单元,即使他们的值相等,也会为每个出现的对象分配各自独立的内存单元
例如1:执行a=6.6,b=6.6,会先后为1这个fioat类型对象分配内存单元,然后将a和b分别指向这两个对象,所以a和b执行的不是同一对象
但是为了提高内存利用效率,对于一些简单的对象,如数值较小的整型(int)对象,Python采取重用对象内存的办法,不会两次为其配内存单元
而对于较大的数值,Python解释器会为每个出现的对象分配内存单元
2.Python中的关键字
关键字:就是Python事先定义好的,具有特殊含义的标示符,有时又称保留符。
python中关键字的查看方法如下:
import keyword
print(keyword.kwlist)
3.Python中的数据类型
1> 整型(int)
>>> a = 1
>>> print(a)
1
>>> type(a)
<class 'int'>
查看变量的类型:type()
2> 浮点型(float)
>>> b = 1.2
>>> print(b)
1.2
>>> type(b)
<class 'float'>
3> 字符串型(str)
>>> c = 'sheena'
>>> print(c)
sheena
>>> type(c)
<type 'str'>
当字符串内使用单引号'
,且整个字符串用单引号'
引用时,字符串内部的单引号'
前应加转义字符\
转义
>>> c = 'what's'
File "<stdin>", line 1
c = 'what's'
^
SyntaxError: invalid syntax
>>> print(c)
what's
>>> c = 'what\'s'
>>> print(c)
what's
当字符串内使用单引号'
,整个字符串可用双引号"
引用
>>> c = "what's"
>>> print(c)
what's
4> bool型(只有两个值:True/False 非0即真)
>>> a = 1
>>> bool(a)
True
>>> bool(0)
False
>>> bool('') #空
False
>>> bool(' ') #空格键
True
>>> bool('jay')
True
4.数据类型之间的转换
(1)整型(int)转换为浮点型(folat)
- 临时转换
>>> a = 1
>>> type(a)
<type 'int'>
>>> float(a)
1.0
>>> type(a)
<type 'int'>
- 永久转换
>>> b = float(a)
>>> b
1.0
>>> type(b)
<type 'float'>
(2)整型(int)转换成字符串型(str)
>>> c = 123
>>> type(c)
<type 'int'>
>>> str(c)
'123'
(3)字符串型转换成整型(int)
>>> d = '123'
>>> int(d)
123
>>>
5.在内存中删除一个变量
格式如下:
del 变量名
>>> del a
>>> a
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'a' is not defined
>>> b
1.0
>>> del b
>>> b
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'b' is not defined