1、算数运算符 print(10 / 3) #结果带小数 print(10 // 3) #结果取整数,不是四舍五入 print(10 % 3) #结果取 余数 print(10 ** 3) #结果值的几次方,幂
2、比较运算符:>、<、 =、 <= 、>=、 ==、 !=
print("abc" == 10) # 判断的是值及其类型是否相等 print("abc" != 10) # 判断的是值及其类型是否相等 注:>= < <=也可以给其他类型用,但仅限于同类型之间
3、赋值运算符
3、赋值运算符 3.1变量的赋值 3.2增量的赋值 age = 18 age += 1 #相当于age = age + 1 print(age) age *= 3 #用这种方式运用算数运算符都可以 age /= 3 3.3链式赋值 原来代码:z=10 y=z x=y z = y = x =10 #链式赋值 3.4交叉赋值 z,y=y,z #需要一一对应 print(z,y) 3.5解压赋值 #建议用列表 salaries=[111,222,333,444,555] m1,m2,m3,m4,m5 = salaries #其实放了list列表进去,一一对应 print(m1,m2,m3,m4,m5) m1,m2,*_ #这个是只取前两个值,后面三个值是被*赋值给了_ 注:*:只能取前后的值,无法取中间的值
3、逻辑运算符: not>and>or
not:反选 and:链接多个条件,多个条件必须同时成立,最终结果才为True or:链接多个条件,多个条件但凡有一个成立,最终结果就为True 注:优先级not>and>or
4、垃圾回收机制GC
4.1引用计数 引用计数增加: x = 10 #引用次数1 y = x #引用次数2 l = [a,x] #引用次数3 引用计数减少: dal x #引用次数2 y = 12 #引用次数1 dal l[1] #引用次数0 4.2分代回收:为了解决引用计数的效率问题 4.3标记清除:为了解决循环引用带来的内存泄漏问题 核心:一个变量值没有任意一条可以从栈区出发到自己的引用,就会被标记下来,方便后续清除 x1=[111] x2=[222] x1.append(x2) #.append是添加 x2.append(x1) print(x1) #[111的内存地址,x2的内存地址] print(x2) #222的内存地址,x1的内存地址]
5、与用户交互
5.1接收用户输入:python3中的input会把用户输入的所有内容都存成str类型 age = input("请输入您的年龄: ") # "内容" print(age,type(age)) 注:int可以把纯数字组成的字符串转换整型 如:res = int('18') print(res,type(res)) 5.2输出 print(("hello1",end='*') msg = "my name is %s my age is %s" % ("egon", [1,2,3])