day03 数据类型及基本运算
一,变量
1.原则
先定义,后引用
a.定义-->存数据
age = 18
三大组成部分
变量名:是指向等号右侧的内存地址,用来来访问等号右侧的值
赋值符号:将变量值的内存地址绑定给变量名
变量值:就是存储的数据,或是记录的事物状态
b.引用-->用数据
print(age)
2.变量名
命名前提
:变量名的命名应该见名知意
age = 18
level = 18
count = 18
命名规范:
a.由字母、数字、下划线组成
b.不能以数字开通
c.不能用Python关键字
命名风格:
a..驼峰体
LevelOfAge = 18
b.纯小写加下划线
level_age_age = 18
3.变量值
①变量值特征
a.type:不同类型的值用来表示不同的状态
print(type(age))
print(type(salary))
b. id:反映的是变量值得内存地址,内存地址不同id则不同
print(id(age))
print(id(salary))
is :判断的是id是否相等
== : 判断的是值是否相等
注意:
(1)如果id相等,证明就是同一个内存地址,值一定是相等的
x = 1000
y = x
print(x is y)
(2)如果值想等,id可以不相等
小整数池(了解)
从Python解释器启动那一刻开始,就会在内存中事先申请好一系列内存空间存放好常用的整数
②内存管理:垃圾回收机制gc
核心原理:引用计数
分代回收:提示效率
标记清除:解决循环引用导致内存泄漏问题
x = 100 # 100的引用计数为1
y = x # 100的引用计数为2
y = 200 # 100的引用计数为1
del x # 100的引用计数为0
4.常量
不变的量
ps:Python语法中没有常量的概念,但是在程序的开发过程中会涉及到常量的概念
AGE = 18 # 字母全为大写代表常量,这只是一种约定、规划
二,基本数据类型
1.整型int
作用:用来记录人的年龄、出生年份,学生人数等整数相关的状态
age = 18
2.浮点型float
作用: 用来记录人的身高,体重,薪资等小数相关的状态
weight = 80.3
ps:int与float之间可以相加
3.字符串类型str
作用:记录描述性质的状态
定义:用引号(‘ ’,“” “”,“”“ ”“”)包含的一串字符
gender = "male"
country = "china"
其他使用:
①字符串的嵌套,注意:外层用单引号号,内层应该用双引号,反之
②字符串之间可以相加,但仅限于str与str之间进行
4.列表类型list
索引对应值,索引从0开始,0代表第一个
[ ]内用逗号隔开多个任意类型的元素
作用:记录多个值,并且可以按照索引取指定位置的值
l = [111, 3.3, [666, 777, 88], "abc"]
hobbies = ["read", "music", "movie", "play"]
5.字典类型dict
{ }用逗号分隔开多个元素,每一个元素的组成都是key:value,其中value可以是任意类型,而key通常是字符串类型。
作用:按照key存放多个值,key反映的value的属性。
d = {"k1":111,"k2":1.3,"k3":"abcdef","k4":[111,222,333],"k5":{"a":1,"b":2}}
print(d["k3"])
例:存放多个同学信息
student = [
{"name":"zhangsan","age":18,"sex":"f"},
{"name":"lishi","age":20,"sex":"m"},
{"name":"wangwu","age":15,"sex":"f"},
]
print(student[1]["age"])
6.布尔类型true false
作用:记录真假两种状态
作用:记录真假两种状态
x = True
x = False
print(type(x))
print(10 == 10)
print(10 > 3)
三,基本运算符
1.算术运算
print(10 + 3.1)
print(10+3)
print(10 / 3) 结果带小数
print(10 // 3) 只保留整数部分
print(10 % 3) 取余数
print(10 ** 3)
2.比较运算
、>=、<、<=、==、!=
x = 10
y = 10.0
print(x == y)
m = 10
n = "10"
print(m == n)
print(10 == [1,2,3]) # == 不限类型
print(10 + [1,2,3])
print(10 == [1,2,3])
print(10 != [1,2,3])
print(10 > 3.1)
print(10 >= 3.1)
print(10 <= 3.1)
print(10 < 3.1)
了解
msg1="hello"
msg2="hez"
print(msg1 > msg2)
l1=[11,"x","abc","ddd"]
l2=[11,22,'zz']
print(l1 > l2)
print([1,2,3] == [1,3,2])
print({"k1":111,"k2":222} == {"k2":222,"k1":111})

浙公网安备 33010602011771号