上节课复习:
1、编程语言分类
机器语言
汇编语言
高级语言
编译型(C、Go)
解释型(shell、python)
2、运行Python程序的三个步骤
3、注释
4、变量
今日内容:程序=数据+功能
1、变量
2、基本数据类型
3、基本运算符
4、输入输出
5、流程控制之if判断
一、先定义后引用
1.1 定义
age = 18
三大组成部分:
1.变量名:用来找值
2.赋值符号:将变量值的内存地址绑定给变量名
3.变量值:就是我们存储的数据,或者说记录的事物的状态
1.2 引用
print(age)
二、变量名
命名的大前提:变量名的命名应该见名知意
age = 18
level = 18
count = 18
命名的规范:
1、是由字母、数字、下划线组成
2、不能以数字开头(可以默认记为字母开头)
3、不能用python的关键字
命名风格:
1、驼峰体
LevelOfAge = 18
2、纯小写加下划线(推荐)
level_of_age = 18
三、变量值
3.1 变量值的两大特性
age = 18
salary = 3.3
res = age + 1
——————》类型
print(type(age))
print(type(salary))
——————》id:就是值在内存中的身份证号,id反映的就是内存
如果两个变量的id一样,证明就是同一个内存地址
print(id(age))
is:判断的是id是否相等
==:判断的是值是否相等
注意:如果id相等,证明就是同一个内存地址,值一定是相等的
x = 1000
y = x
print(x is y)
如果值相等,id可以不相等
x = 1000
y = 1000
print(x is y) ——false
print(x==y)——true
小整数池:交互式环境中为-5——256
3.2 内存管理:垃圾回收机制gc
垃圾:当一个变量值被绑定的变量名的个数为0,该变量值无法被访问到,即为垃圾
核心原理:引用计数
x = 100 #100的引用计数为1
y = x #100的引用计数为2
y = 200 #100的引用计数为1
del x #100的引用计数为0
#为了提升效率,分代回收
#标记清除:循环引用导致内存泄漏问题???
四、常量
AGE = 18(纯大写)
python——》全民编程
五、基本数据类型
5.1整型int
作用:年龄、个数、号码
5.2浮点型float
作用:身高、体重、薪资
5.3字符串类型str
作用:描述
msg = “鲁迅说:今天天气很好”
msg2 = ‘鲁迅说:今天天气很好’
msg3 = “”“鲁迅说:今天天气很好”“”
msg4 = ‘’‘鲁迅说:今天天气很好’‘’
5.4列表类型list:【】内用逗号分隔开多个任意类型的元素
作用:用索引对应多个值,按照位置存放多个值
0 1 2 3
l = 【111, 3.3 , “addss”,【555,666,777】】
print(l【3】【0】)
输出555
5.5字典类型dict:{}内用逗号分隔开多个元素,每一个元素的组成都是key:value,其中value可以是任意类型,而key通常是字符串类型
作用:按照key存放多个值,key反映的value的属性
d = {"k1": 123, "k2": 456, "k3": [1, 2, 3], "k4": {"s1": 777, "s2": 888}}
print(d["k3"][1])
print(d["k4"]["s2"])
d = {“k1”:111,“k2”:1.3,“k3”:“5”}
name = “egon”
age = 18
gender = “male”
5.6布尔类型
作用:记录真假两种状态
print(10 == 10)
print(10>3)
print(10<3)
输出:true true false
#案例
students = [ {"name":"egon","age":"18","gender":"male"}, {"name":"tom","age":"19","gender":"male"},
{"name":"lili","age":"20","gender":"female"} ]
print(students[1]["gender"])
六、基本运算符
1.算数运算符
print(10 + 1)
print(10 - 1)
print(10 * 3)
print(10 / 3)
print(10 // 3) 只保留整数部分
print(10 % 3) 取余数
print(10 ** 3) 10的三次方
# +
print(“abc”+“def”)
abcdef
print(“abc”+18)错误
print(“abc”*3)正确
abcabcabc
2.比较运算符
x = 10
y = 11
print(x == y)
print(x!= y)
#了解
msg1=“hello”
msg2=“z”
print(msg1 > msg2)
3.赋值运算符
4.逻辑运算符
python是一种解释型的强类型的动态语言