1- 变量及基本数据类型
1、变量的基本概念
1.1 什么是变量?
变量就是可以变化的量,量指的是事物的状态,比如人的年龄,游戏角色等级,金钱等
1.2 为什么要有变量?
(1)为了让计算机能够像人一样去记忆事物的某种状态,并且状态是可以改变的
(2)也就是说程序的本质就是一系列状态的变化,变是程序执行的直接体现,所以我们需要一种机制能够反映这种变化状态
2、如何用变量
2.1 变量的基本使用(先定义,后引用)
name = "Hello" # 定义-->存
print(name) # 引用-->取
2.2 内存管理:垃圾回收机制
# 1、垃圾:当一个值没有被任何变量名所绑定,该值就无法访问,称之为垃圾
# 2、引用计数增加
x = 10 # 10的引用计数为1
y = x # 10的引用计数为2
z = x # 10的引用计数为3
# 3、引用计数减少
del x # 解除变量名x与值10的绑定关系,10的引用计数变为2
del y # 解除变量名y与值10的绑定关系,10的引用计数变为1
print(x,y) # 此时已经无法打印出x,y的值
z = 123 # 此时z被赋予新的值,解除原来和10的绑定关系,绑定新的123这个值,所以10的引用计数为0
print(z)
2.3 变量三大组成部分
1、变量名:指向等号右侧值的内存地址,用来访问等号右侧的值
(1)命名规则:只能是字母、数字、下划线的任意组合;第一个字符不能是数字;不能用关键字当作变量名
(2)命名原则:见名知意;不要用拼音;不要用中文
(3)命名风格:纯小写加下划线(推荐使用);驼峰体
2、赋值符号:将值的内存地址绑定给变量名
3、变量值:代表记录的事物状态
(1)id:反映的是变量值的内存地址,内存地址不同则id不同
(2)type:不同类型的值用来表示记录不同的状态
(3)value:值本身
2.4 is与==
1、is:比较左右两个变量的id是否相等(id相等,值一定相等)(x is y成立,则x == y也一定成立)
2、==:比较左右两个变量的值是否相等(值相等,id不一定相等)
ps:“数值型和字符型is为True,tuple,list,dict或set型时,为False“
2.5 小整数池:
Python解释器在启动时就已经为常用的整数[-5,256]申请了内存地址,当变量的值为这些数时,id返回的地址也一样,但是Pycharm中会扩大这个池,只是为了开发效率,所以要以Python自带的解释器为准
3、常量
1、常量就是不变的值
2、Python的语法中没有常量的概念,但是在程序的开发过程中会涉及到常量的概念
3、Python有一种约定,字母全部为大写时代表常量
rpj_year = 19 # 变量
RPJ_YAER = 19 # 常量
# 只是一种约定,给代码开发人员去看的
4、基本数据类型
1、数字类型(Python中没有这个类型,只是把整型和浮点型归结到一起而起的名字)
(1)整型int
(2)浮点型float
2、字符串类型
(1)使用 ''(一对单引号) ""(一对双引号) ''''''(三对单引号)""""""(三对双引号)来定义字符串
(2)字符串的嵌套:外层用单引号,内层用双引号,反之亦然;也可以使用转义字符
print("My name is 'RongPengju'")
print('My name is \'RongPengju\'')
3、列表类型
(1)在[]内用逗号分隔开多个任意类型的值,一个值称为一个元素
l = ['1','str','Fuck','88',['66','string'],'Amazing']
(2)按照位置索引,来找到元素的
print(l[0]) # '1'
print([l[-1]) # 'Amazing'
print(l[4][1]) # '66'
4、字典类型
(1)在{}内用逗号分开各个key:value;key通常为字符串类型,value可以为任意类型,key必须是不可变类型
people = {'name':'Jeff','age':18,'gender':'men'}
print(people['age']) # 找到people这个字典中age这个key所对应的value
(2)列表+字典的嵌套使用
students_informatio=[
{'Name':'Martin','Age':18,'Gender':'men'}
{'Name':'Alice','Age':26,'Gender':'women'}
{'Name':'Jhon','Age':35.'Gender':'men'}
]
print(studens_information[1]['Gender']) # 找到1索引中,‘Gender’这个key对应的value
5、布尔类型
(1)显式布尔值:条件可以是比较运算符,可以是True、False
age = 18
print(age > 10)
is_student = True
print(is_student)
(2)隐式布尔值:
所有的值都可以当成条件去用0、None、空(空字符串,空列表,空字典)代表的布尔值为False,其余的都是True
if 10:
print("Hello,World")

浙公网安备 33010602011771号