初识python03
变量和对象
- 对象并没有直接存储到变量中,在python中,变量更像是给对象起了一个别名
- 变量中存储的不是对象的值,而是对象的id(内存地址)
- 当我们使用变量时,实际上是在通过对象的id查找对象
- 变量中保存的对象,只有在为变量重新赋值的情况下才会改变
运算符
- 算术运算符
1.加法运算(如果是两个字符串之间进行加法运算,那么是将两个字符串进行拼接)
a = 5
b = 7
print("a+b=",a+b) #12
x = "hello"
y = "world"
print(x+" "+y) #hello world
2.减法运算
c = 10
print(c-7) #3
3.乘法运算(如果将字符串和数字相乘,那么会将字符串进行复制,将字符串重复指定的次数)
d = 4
e = 5
print(d*e) #20
f = "hello"
print(f*d) #hellohellohellohello
4.除法运算(运算结果会返回一个浮点型)
g = 10
print(g/2) #5.0
5.整除// (特殊的除法运算,结果只取到整数部分,小数的部分舍去)
h = 20
print(h//3) #6
6.幂运算**(求一个数的几次方)
i = 3
print(2**3) #8
7.模运算%
j = 13
print(j%5) #3
- 赋值运算符
1.=
将右边的值赋值给左边的变量
2.+=
a+=5相当于是a = a+5
3.-=
a-=5相当于是a = a-5
4.=
a=5相当于是a = a*5
5./=
a/=5相当于是a = a/5(注意对一个浮点数进行运算时,得到的也会是一个浮点数)
6.=
a=5相当于是a = a**5
7.//=
a//=5相当于是a = a//5
8.%=
a%=5相当于是a = a%5 - 比较运算符(关系运算符)
关系运算符总会返回一个布尔值,要么时True,要么时False
在python中可以对两个字符串进行比较,比较的是两个字符串的值的Unicone编码
比较两个字符串的Unicode编码时,是逐位比较的
print("ab" > "b") #False,因为逐位比较,a小于b,所以就是False
print("2" > "12") #True,因为是逐位比较的
如果不希望比较两个字符串的编码,则可以先将其转换成数字,再进行比较
print(int("34")>int("22")) #此时就是比较的是数字34与22
1.>
2.>=
3.<
4.<=
5.==(比较的是值是否相等,不是内存地址是否相等!!)
6.!=
- 逻辑运算符
1.not非 (对于本身不是布尔类型的值,会先将该值转化成布尔类型的,再进行取反)
a = 1
print(not a) #False
2.and与(全真为真,有假则假)
and遵循“短路与”的规则,即如果第一个值是false,则不再看第二个值,直接给结果
print(False and True) #结果是False,因为and是短路与规则,看到第一个数是False,那么久不再往下看,直接给False
3.or或 (全假则假,有真为真)
如果第一个值是False,那么继续往下找,看第二个数是False还是True,再进行结果判断
如果第一个值是True,那么直接给出结果是True(有真为真!!)
4.注意:当对非布尔值进行比较运算时,python会将其当做布尔值,最终返回的是原值
print(1 or 0) #返回1 ,因为是or或运算,有真则真,看到1的时候就知道是真了,所以不往后看,直接就是真,返回第一个数1
print(0 or 1) #返回1 ,因为是or或运算,,有真则真,全假为假,看到第一个数是假的,久会往后看,发现第二个数是真的,所以返回的应该是真,即返回第二个数1
print(1 and 0)#返回0 ,因为是and与运算,有假为假,全真为真,看到第一个数是真的,久会往后看,确保都是真的才可以判断为真,往后看发现是假的,所以返回的也应该是假的,即返回第二个数0
5.补充
逻辑运算符可以连着写
print(1<2<3) #结果是True,相当于1<2 and 2<3
print(10<20>15) #结果是True,相当于是10 <20 and 20 >15
- 条件运算符(三元运算符)
语法:语句1 if 条件表达式 else 语句2
执行流程:
当条件运算符在执行时,会先对条件表达式进行求值判断
如果判断结果为true,会执行语句1,并返回执行结果
如果判断结果为false,会执行语句2,并返回执行结果
print("hello" if True else "hi") # 返回hello

浙公网安备 33010602011771号