变量与数据类型基础
一 执行python程序的两种方式
1 交互式,在cmd中运行
优点:直接给出结果
缺点:无法保存
jupyter对这一种进行了封装
2 命令形式,通过cmd中输入python3文本
命令形式可以识别各种文本文件
优点:可以保存
缺点:无法及时得到报错反馈
步骤:(1)编写python文件
(2)找到python文件路径,读取文件
(3)运行文件
pycharm对这一种进行了封装
二 常量
1 常量是什么
固定不变的量
2 定义常量
python中没有严格意义的常量,常量约定俗称,建议不要更改
3 注释
注释有什么用
取消python的语法,让#后面的字符变成普通的字符
单行注释: 单行用#注释
多行注释: 多行用“”“ ”“”或‘’‘ ‘’’注释
三 变量
1 什么是变量
是一种会变化的量,用于描述世间万物的状态
2 python中定义变量
name = 'nick'
#name 变量名 = 赋值符号 'nick' 变量值
3 定义变量名的命名规范
(1)变量名要具有某种意义
(2)变量名只能使用字母、数字、下划线组成,并且第一个字符不能是数字,也不能是下划线
4 两种定义变量名的方式
(1)
nick_height = 180
nick_height:用下划线来区分单词
(2)
nickHeight = 180
nickHeight :不建议使用
四 内存管理
1 内存定义
变量存放在内存中,每定义一个变量,就会在内存中开辟一个空间来存放变量值,而变量名相当于这个空间的门牌号。
2 引用计数
引用计数是针对于变量值的
name = 'nick' #引用计数为1
name2 = name #'nick'引用计数为2
3 垃圾回收机制
当变量值的引用计数为0的时候,python会自动回收该变量值的内存占用
4 整数池
【-5,256】整数池的数值不会触动垃圾回收机制
五 定义变量的三个特征
x = 10
print(x) 10 #获取变量的变量值
print(id(x)) 2110692367696 #获取变量的id
print(type(x)) int #获取变量的数据类型
1 判断变量值是否相等
name1 = ‘egon’
name2 = ‘nick’
print(name1==name2) # False
2 判断变量id是否相等
x = 10
y = x
z = 11
print(x == y) # True
print(x is y) # True
print(x is z) # True
x = 257
y = 257
print (x is z) # False
id相等的变量,值一定相等,指向同一个内存地址;值相等的变量,id不一定相等
六 数据类型
1 整数型(int)
作用:描述id、银行卡、手机号码等
定义方式:
height = 180
2 浮点型(float)
作用:表示身高、体重、薪资等
定义方式:
salary = 2.1
3 字符串(str)
作用:描述数据以外的其他数据类型
定义方式:name1 = ‘nick’
name2 = “nick”
name3 = """nick
egon"""
msg2 = "my name is 'nick'"
msg3 = 'my name is "nick"'
print(msg2 + msg3) # my name is 'nick'my name is "nick"
字符串只能+、*和逻辑比较
4 列表(list)
作用:从放多个值
定义:在[]内用都好分隔开任意类型的值
hobby_list = ['read', 'run', 'girl']
# 索引序号 0 1 2
# 取出第二个爱好
print(hobby_list[1])
hobby_list = ['read', 'run', ['girl_name', 18, 'shanghai']]
# 取出girl的年龄
print(hobby_list[2][1])
5 字典(dict)
作用:用来存取多个值,按照key:value的方式存值,取的时候可以通过key而非索引去取值,key对value具有描述性的作用。存放数据的种类各种各样并且数据较多的时候可以使用字典。
定义:在{}内用逗号分隔开多个元素,每一个元素都是key: value的格式,其中value是任意格式的数据类型,key由于具有描述性的作用,所以key通常是字符串类型。
user_info = {'name': 'nick', 'gender': 'male', 'age': 19,'company_info': ['oldboy', 'shanghai', 50]}
# 字典套列表
user_info = {'name': 'nick', 'gender': 'male', 'age': 19,
'company_info': ['oldboy', 'shanghai', 50]}
# 字典套字典
user_info = {'name': 'nick', 'gender': 'male', 'age': 19, 'company_info': {
'c_name': 'oldboy', 'c_addr': 'shanghai', 'c_num_of_employee': 50}}
6 布尔值(bool)
作用:用于判断条件结果
定义:只有0、None、空、False的布尔值为False,其余的为True。
print(bool(0)) # Flase
print(bool('nick')) # true
print(bool(1 > 2)) # Flase
print(bool(1 == 1)) # true