day 3 变量、运算符、分支架构
1.变量
- 重新赋值
a=10(创建变量)
print(a)
a=100(重新赋值,不同类型)
print(a)
-
同时定义多个变量
1)赋相同的值 变量名1=变量名2=变量名3=…=数据
# x=y=z=100
# print(x,y,z)
- 赋不同的值 变量名1,变量名2,变量名3,…=数据1,数据2,数据3…
注意:数据个数必须与变量个数一致
练习:交换a,b的值
a=100
b=200
a =10;b=20
c=a
a=b
b=c
print(a,b)
a =10;b=20
a,b=b,a
print(a,b)
- 变量保存数据的底层逻辑
定义变量时会自动在内存中申请空间保存数据,内存大小由数据大小决定,重新赋值时,会重新根据大小申请新的内存(c语言根据数据类分配大小,内存大小固定,若数据太多会装不下,数据太小就会浪费)
问题1:为什么python定义变量不用说明类型?(申请内存是与类型无关)
问题2:为什么python可以给变量重新赋值的时候可以赋不同类型的数据(每次都在申请新的内存大小)
问题3:为什么python可以直接计算并且保存999**999的计算结果
补充:内存单位
位(bit) 1byte=8bit 1kb=1024b
运算符
1.数学运算符 (+、-、*、?、/、//整除、%取余、**幂运算)
python中的加减乘除与数学中一致,运算结果类型与运算对象有关,除法都是浮点数
- 整除
如:x//y(求商,向小取整)
print(5//2)
运用1:商是整数,或者商是整形
print(4//2)
运用2:去掉一个整数的低位数,保留高位数
num=2342
print(num//10) # 234 (除以10的多少次方,就从末位开始删除几位,保留前面部分)
print(num//100) #23
- 取余(取模)
x%y
运用:1.判断两个数字的整除关系
2.去掉数字高位数,保留低位数
num=2342
print(num%10) # 2
print(num%100) #42
(除以10的多少次方,就从末位开始保留几位)
- 幂运算:x**y
print(2**3) #8
比较运算符
包括(>、<、>=、<=、相等==、不等于!=)(=叫做赋值+)运算结果是bool
print(10>=10) #True
print(11!=10) #True
逻辑运算符
- and(与运算,相当于数学中且)
运用场景:多个条件同时满足用and连接。
运算规则 :条件1 and 条件2 --------(同时成立结果是true)
- or(或运算)
运用场景:多个条件只要有一个满足就行
运算规则 :条件1 or 条件2 --------(同时成立结果是true
- not(非运算)
运用场景:对指定条件进行否定(如果一个条件正向写情况很复杂,反向写很简单,就可以反向写)
运算规则: not 条件
赋值运算符
包括:=、+=、-=、/=、%=、//=、**=(都是给变量赋值,只是给变量赋值,无法提供数据)
1.= 赋值(独立运算符):变量=数据(变量可以是定义过的变量,也可以是没有定义过的变量)
2.复合运算符
+= :变量+=数据 (将变量中的数据取出与数据做加法,将结果赋值给变量)
-= :变量+=数据 (将变量中的数据取出与数据做减法,将结果赋值给变量)
(变量必须已经定义过,且保存的数据可以做加法)
a =10
a //= 3
print(a