写在前面:
此博客仅用于记录个人学习进度,学识浅薄,若有错误观点欢迎评论区指出。欢迎各位前来交流。(部分材料来源网络,若有侵权,立即删除)
传送门:
day01基础知识
day02知识分类
day03运算符
day04数字与字符串
day05列表
day06元组与字典
day07条件与循环
day08函数概念
day09数据结构
day10模块介绍
day11文件操作
day12编程学习
day13编程学习
day14编程学习
day15编程学习
day16编程学习
day17编程学习
day18编程学习
2 进制是以 0b 开头的
8 进制是以 0o 开头的
16 进制是以 0x 开头的
Python运算符
算术运算符
- 加减乘除+ - * / (没啥好说的)
- %,取余,返回除法的余数
- **返回x的y次幂
- 取整除-向下取接近商的整数
>>> 9//2
4
>>> -9//2
-5
比较运算符
- “==”判断是否相等
- “!=”判断是否不等
- “>=<”
赋值运算符
±*/% = | c±/%=a c=c±/%a |
---|---|
** = | c**=a c=c**a |
// = | c//=a c=c//a |
逻辑运算符
- and(与) : x and y 如x为False,x and y返回False,否则返回y的计算值;(若所有值均为真,则返回最后一个值,若存在假,返回第一个假值);
- or (或): x or y 如x是True,x or y返回x的值,否则返回y的值;(返回第一个为真的值,否则返回最后一个值)
- not(非):not(x) 如果x为True,返回False, 如果x为False,返回True;
#!/usr/bin/python3
a = 10
b = 20
if ( a and b ):
print ("1 - 变量 a 和 b 都为 true")
else:
print ("1 - 变量 a 和 b 有一个不为 true")
if ( a or b ):
print ("2 - 变量 a 和 b 都为 true,或其中一个变量为 true")
else:
print ("2 - 变量 a 和 b 都不为 true")
# 修改变量 a 的值
a = 0
if ( a and b ):
print ("3 - 变量 a 和 b 都为 true")
else:
print ("3 - 变量 a 和 b 有一个不为 true")
if ( a or b ):
print ("4 - 变量 a 和 b 都为 true,或其中一个变量为 true")
else:
print ("4 - 变量 a 和 b 都不为 true")
if not( a and b ):
print ("5 - 变量 a 和 b 都为 false,或其中一个变量为 false")
else:
print ("5 - 变量 a 和 b 都为 true")
位运算符
- 将数字看作二进制来计算,每一位之间独立的进行运算
- 运算符为 & | ^ ~ << >>
&:按位与运算符:如果参与运算的两个相应位都为1,则结果为1,否则为0;
| :按位或运算符:对应的两个二进位有一个为1时,结果就为1,否则为0;
~ :按位取反运算符:对数据的每个二进制位取反,即把1换为0,把0换为1;
^ :按位异或运算符:当对应的二进制位相异时,结果为1,否则为0;
<< :左移动运算符:运算数的各二进制位全部向左移若干位,高位丢弃,低位补0;
`>>:右移动运算符:运算数的各二进制位全部向右移若干位; - 实例如下
#!/usr/bin/python3
a = 60 # 60 = 0011 1100
b = 13 # 13 = 0000 1101
c = 0
c = a & b; # 12 = 0000 1100
print ("1 - c 的值为:", c)
c = a | b; # 61 = 0011 1101
print ("2 - c 的值为:", c)
c = a ^ b; # 49 = 0011 0001
print ("3 - c 的值为:", c)
c = ~a; # -61 = 1100 0011
print ("4 - c 的值为:", c)
c = a << 2; # 240 = 1111 0000
print ("5 - c 的值为:", c)
c = a >> 2; # 15 = 0000 1111
print ("6 - c 的值为:", c)
成员运算符
- in 如果在指定的序列中找到对应值返回True,否则返回False;
- not in 使用方法与in相反;
#!/usr/bin/python3
a = 10
b = 20
list = [1, 2, 3, 4, 5 ];
if ( a in list ):
print ("1 - 变量 a 在给定的列表中 list 中")
else:
print ("1 - 变量 a 不在给定的列表中 list 中")
if ( b not in list ):
print ("2 - 变量 b 不在给定的列表中 list 中")
else:
print ("2 - 变量 b 在给定的列表中 list 中")
# 修改变量 a 的值
a = 2
if ( a in list ):
print ("3 - 变量 a 在给定的列表中 list 中")
else:
print ("3 - 变量 a 不在给定的列表中 list 中")
身份运算符
- is :用于判断两个标识符是不是引用自一个对象
- is not :用于判断两个标识符是不是引用自不同对象
#!/usr/bin/python3
a = 20
b = 20
if ( a is b ):
print ("1 - a 和 b 有相同的标识")
else:
print ("1 - a 和 b 没有相同的标识")
if ( id(a) == id(b) ):
print ("2 - a 和 b 有相同的标识")
else:
print ("2 - a 和 b 没有相同的标识")
# 修改变量 b 的值
b = 30
if ( a is b ):
print ("3 - a 和 b 有相同的标识")
else:
print ("3 - a 和 b 没有相同的标识")
if ( a is not b ):
print ("4 - a 和 b 没有相同的标识")
else:
print ("4 - a 和 b 有相同的标识")
Python运算符优先级
以下表格列出来从最高到最低优先级的所有运算符
#!/usr/bin/python3
a = 20
b = 10
c = 15
d = 5
e = 0
e = (a + b) * c / d #( 30 * 15 ) / 5
print ("(a + b) * c / d 运算结果为:", e)
e = ((a + b) * c) / d # (30 * 15 ) / 5
print ("((a + b) * c) / d 运算结果为:", e)
e = (a + b) * (c / d); # (30) * (15/5)
print ("(a + b) * (c / d) 运算结果为:", e)
e = a + (b * c) / d; # 20 + (150/5)
print ("a + (b * c) / d 运算结果为:", e)
end
今天有点晚,拖延症又犯了,希望明天能继续坚持。