# 1.垃圾回收机制 # 什么是垃圾:当一个值身上没有绑定任何变量名时(该值的引用技术=0时),该值就是垃圾 # # del x(解除捆绑 减少引用计数) # #引用计数增加 # age=18 #18的引用计数=1 # x=age# 18的引用计数=2 # print(age) # print(x) # # 引用计数减少 # age=19 #18的引用计数等于1 即x=18 # # del x #18的引用计数等于0 # 2.变量值的三个特征: # id反应的是内存地址 # type:反应数据类型 # 值: # age=18 # print(id(age)) # # print(type(age)) # 总计: # id相同,值一定相同 # 值相同,id可以不同 # 小整数池,预先申请-5到256整数的内存地址 解释器直接调用 pycharm优化更大范围 # 3.is 比较的是id即内存的地址 # == 比较的是值 # 4.可变类型与不可变类型 # 可变类型;值改变,id不变,就是证明是可变类型 # 不可变类型:值改变,id也改变,证明根本不是在改变原值而是建了个新值,原值不变 # x=['a','b','c','d'] # print(id(x)) # x[0]='A' 将列表中的c替换成A # print(id(x)) # 二 数据类型的基本使用 # 1.整型int 年龄 等级 各种号码 # age=10 # print(type(age)) # 浮点型float # 作用:用来记录身高工资状态 # 定义 # salary=3.1 #salary=float(3.1) # 2.字符串类型str # 定义:在单引号,双引号,三引号内,包含一系列的字符 # 字符串的拼接仅仅在于相加和相乘 # print('dsad'+'fer') 仅限制于str类型的直接相加 # print('fe'*10) *的只能是数字 # 了解 # 字符串比大小按字符位置逐一对比只要有一个胜出就可以。根据ASCII表 # # print('a'>'Z') # # print(44<7) # 三 列表类型list # 作用,记录多个值 用索引对应值 # 定义:在[]内用逗号隔开多个类型的值 # l=[1,2.1,'alxe',['a','b']] # print(l[3][1]) #表达是从L列表中取到第4个值(列表)中的第二个值'b' # 字典类型dict # 作用:用来记录多个值,用key对应value,其中key对value有描述性的功能 # 定义;{}内,用逗号分隔开多个元素,每一个元素都是key:value的形式其中value可以是任意类型,而key通常是str类型 # emp_info={'name':'egon','age':18,'gender':'male','company_info':['oldboy','sh',200]} # print(emp_info['age']) # print(emp_info['company_info'][0])#取emp_info中company_info中的第一位 # names=['alex','egon','kevin'] # dic={'name1':'egon','name2':'alex'} # 布尔类型 ture false # 所有数据类型自带布尔类型 # # 布尔值为假的数据类型:0,None,空 # 四 基本运算符 # 比较运算 # !=不等于 # # 列表比大小类似于字符串。但是对比的位置必须都是同种类型 # 逻辑运算符 # and or not