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})

 

posted @ 2020-12-17 20:16  小熊渣渣  阅读(100)  评论(0)    收藏  举报