python学习笔记-字符串和运算符
字符串
- 表达文字信息的内容
- 形式上是用引号引起来的一段内容
- 引号包括
- 单双引号含义一致
love = "i love life"
print(love)
love2 = 'i love life'
print(love2)
love3 = """我
爱
生
活"""
print(love3)
i love life
i love life
我
爱
生
活
None类型
- 表示没有,通常用来占位符
- 比如返回,用来表示返回一个空
表达式
- 由一个或者几个数字或者变量或者运算符合成一行代码
- 通常返回一个结果
运算符
- 运算符分类
- 算数运算符
- 比较/关系
- 赋值运算符
- 逻辑运算符
- 位运算
- 成员运算符
- 身份运算符
a = 1+1
print(a)
b = 3*5
print(b)
c = 9/2
print(c)
c = 9//2
print(c)
c = 9%2
print(c)
d = 9%-4
print(d)
e = 9**2
print(e)
2
15
4.5
4
1
-3
81
比较运算符
a = 3 ==4
print(a)
False
a = 2!=2
print(a)
False
print('abc'>'cdf')
False
赋值运算符
- -= += /= //= **= %=
- 没有++ –
a = 9
a = b = 8
print(a,b)
8 8
a = 3
b = a
a = 4
print(a,b)
4 3
a = 100
a = a + 3
print(a)
103
a += 3
print(a)
106
逻辑运算符
- not 逻辑非
- and 看成乘法 or看成加法
- python里面没有异或
- 逻辑运算中的短路问题
print(0==False)
True
a = True
b = False
c = False
aa = a or b and (a and b)
print(aa)
True
def a():
print('a')
return True
def b():
print('b')
return True
if a() and b():
print("a and b")
print("*" * 20)
if a() or b():
print('a or b')
a
b
a and b
********************
a
a or b
成员运算符
- 用来检测一个值或者变量在某个集合里
- in:成员运算符
- not in
L = [1,2,3,4,5]
a = 6
print(a not in L)
True
身份运算符
- 用来确定两个变量是不是同一个变量,不是值
- is
- not is
- 对于整数【-5 256】之间,解释器给他们做了单独处理,放在固定内存中,不因每次运行而变化
- 不仅对于整数,内建的类(int staticmatethod object TypeError)也都是这样处理的。
- 看一个变量的内存是不是处理的,无需运行两次,只要看id()编号的长度就行,他们都是10位的,普通的变量都是13位的
- 其实并不是每次运行的结果都是一样的,比如重启电脑再试试
- 不同的软件打开的同一个python解释器也是不同的,最先打开的会影响其他的,比如pycharm jupyter cmd得到的是不同的结果
- 电脑不关机的话 软件重复打开id是一样的
- 不同电脑,不同python解释器当然也不一样
aaa = 100
bbb = 100
ab = aaa is bbb
print(ab)
True
a = 10088
b = 10088
print(a is b)
False
运算符优先级
- 小括号具有最高优先级
- 指数运算符
- 位运算符
- 加减乘除
- 右移 左移运算符
- 比较运算符
- 等于运算符
- is not is
- in not in
- not or and