回顾:
1、编程语言分类:
机器语言
汇编语言
高级语言
编译型( c 、go)
解释型(shell、python)
源代码----解释器----二进制指令
2、运行python程序的三个步骤
启动python解释器
python解释器将文件从硬盘加载到内存
python将执行刚刚加载到内存的代码,识别python语法
3、注释
4、变量
1、变量、数据类型、基本运算符
一、原则:先定义、后引用
定义:age = 18
三大组成部分
变量名:用来找值
赋值符号:将变量名的内存地址绑定给变量名
变量值:就算我们储存的数据,或者说记录事物的状态
引用
ptint(age)
二、变量名
命名的前提:变量名的命名应该见名知意
age = 18
count = 18
level = 18
命名的规范:
1、是以字母、数字、下划线组成
2、不能以数字开头
3、不能呢用python的关键字 (例:print = 123>>>print(print)是错的
level_of_age = 18
_=19
print(_) 最好别用下划线开头命名,虽然不是错误
命名风格
1、驼峰体
levelOfAge = 18
2、纯小写加下划线(推荐)
levelofage = 18
三、变量值
变量值的两大特征
age = 18
salary = 1.3
res = age + 1
print(res)
类型
print(type(age))
print(type(salary))
id : 就是值在内存中的身份证号,id反应的就是内存
print(id(age))
print(id(salary))
如果两个变量id一样,证明就是同一个内存地址
is : 判断的是id是否相等
== : 判断的是值是否相等
注意:
如果id相等,证明就算同一个内存地址,值一定相等
x = 1000
y = x
print(id(x))
print(id(y))
print(x is y)
如果值相等,id不一定相等。
D:python3>python
Python 3.9.0 (tags/v3.9.0:9cf6752, Oct 5 2020, 15:34:40) [MSC v.1927 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> x = 1000
>>> y = 1000
>>> id(x)
2825205541616
>>> id(y)
2825205541648
>>>
>>> x is y
False
>>> x == y
True
>>>
小整数池:交互式环境为 -5 ~ 256
x = 10000000000
y = 10000000000
print(id(x))
print(id(y))
内存回收:垃圾回收机制GC
核心原理 引用计数
分代回收:提升效率
标记清楚:循环引用导致内存泄漏问题
x = 100 #100的引用计数为1
y = x # 100的引用计数为2
y = 200 # 100的引用计数为1
del x #100的引用计数为0
四、常量
AGE = 18
AGE = 19
print(AGE) python中全大写代表常量,不可更改
基本数据类型
整型int
作用:年龄、个数、号码
age = 18
浮点型float
作用: 身高、梯种、薪资
weight = 70.5
字符串类型str
msg1 = '我说天气很好'
msg2 = "我说天气很好"
msg3 = """我说天气很好"""
msg4 = '''
我说天气很好
我说天气很好
'''
msg5 = "'天气很好':是的"
print(type(msg5))>>>>>str
print(msg5)>>>>>'天气很好':是的
gender = 'male'
country = "china"
列表类型list
作用:
0 1 2 3
l=[1,2,3.3,[666,888,000],'abcd']
print(l[3])>>>>>>abcd
print(l[3][0])>>>>>>>666
字典类型dict: {}用,逗号分隔开多个元素,每一个元素的组成都是key:value,其中value可以是
任意类型,key通常是字符串类型
d = {'k1':111,'k2':222,'k3':"abc",'k4':[11,22,33],
'k5':{'a':333,'c':[999,888],'b':444}}
print(d['k1'])
print(d['k4'][1])
print(d['k5']['a'])
print(d['k5']['c'][0])>>>>>111 22 333 999
info = {"name":'liuyang',
"age":23,
"gender":'male',
"level":'满级'
}
print(info["level"])>>>>满级
案例 存放多个同学信息
students = [
{'name':'aaa','age':18,'gender':'male','weight':65},
{'name':'bbb','age':19,'gender':'male','weight':66},
{'name':'ccc','age':20,'gender':'male','weight':67}
]
print(students[1]['age'])>>>>>19
布尔类型
作用:记录真假两种状态
x = True
x = False
print(type(x))>>>>> bool
基本运算符
算数运算符
salary = 5.5
print(salary * 2)#不保存
res = salary*12 #赋值保存
print(res)
print(1 + 2)>>>>3
print(2 - 1)>>>>1
print(2 * 3)>>>>6
print(3 / 2)>>>>1.5
print(10 // 3)>>>>3 # 取整
print(10 % 3)>>>>1 # 取余
print(10 + 3.1)>>>>13.1
print('abc' + 'def')>>>>abcdef 了解即可,不要用字符串相加
比较运算符
x = 10
y = 10.0
print(x == y)>>>>>True
print(10 + [1,2,3])>>>>报错
print(10 == [1,2,3])>>>>>False 双等号不限类型
print(10 != [1,2,3])>>>>True