上文Python数据类型详解01中主要介绍了Python中的一些常用的数据类型
这篇文章主要介绍一些Python中的运算符
运算符
算术运算符
以下假设变量a为9,变量b为7:运算符描述实例+加 - 两个对象相加a + b 输出结果 16
-减 - 得到负数或是一个数减去另一个数a - b 输出结果 -2
*乘 - 两个数相乘或是返回一个被重复若干次的字符串a * b 输出结果 63
/除 - x除以ya / b 输出结果 1.2857142857142858
%取模 - 返回除法的余数a % b 输出结果 2
**幂 - 返回x的y次幂2**3, 输出结果 8
//取整除 - 返回商的整数部分9//2 输出结果 4 , 9.0//2.0 输出结果 4.0
比较运算符
以下假设变量a为10,变量b为20:运算符描述实例==等于 - 比较对象是否相等(a == b) 返回 False。
!=不等于 - 比较两个对象是否不相等(a != b) 返回 true.
<>不等于 - 比较两个对象是否不相等(a <> b) 返回 true。这个运算符类似 != 。
>大于 - 返回x是否大于y(a > b) 返回 False。
>=大于等于 - 返回x是否大于等于y。(a >= b) 返回 False。
<=小于等于 - 返回x是否小于等于y。(a <= b) 返回 true。
赋值运算符
以下假设变量a为10,变量b为20:运算符描述实例=简单的赋值运算符c = a + b 将 a + b 的运算结果赋值为 c
+=加法赋值运算符c += a 等效于 c = c + a
-=减法赋值运算符c -= a 等效于 c = c - a
*=乘法赋值运算符c = a 等效于 c = c a
/=除法赋值运算符c /= a 等效于 c = c / a
%=取模赋值运算符c %= a 等效于 c = c % a
**=幂赋值运算符c = a 等效于 c = c a
//=取整除赋值运算符c //= a 等效于 c = c // a以上这三类基本和其他语言的运算符没什么区别, 也没有什么地方是需要敲黑板的, 下面介绍的僵尸Python中比较特殊的运算符了
位运算符
按位运算符是把数字看作二进制来进行计算的。Python中的按位运算法则如下:运算符描述实例&按位与运算符(a & b) 输出结果 12 ,二进制解释: 0000 1100
^按位异或运算符(a ^ b) 输出结果 49 ,二进制解释: 0011 0001
<
>>右移动运算符a >> 2 输出结果 15 ,二进制解释: 0000 1111
该运算符的运算方法是: 先将数字转成二进制, 再把二进制的每一位数字进行以上运算符运算, 最后再把结果转成十进制输出, 测试如下1
2
3
4
5
6
7
8
9
10
11
12a = 60 # 60 = 0011 1100
b = 13 # 13 = 0000 1101
c = 0
# 运算和输出结果
c = a & b # 12 = 0000 1100
c = a | b # 61 = 0011 1101
c = a ^ b # 49 = 0011 0001
c = ~a # -61 = 1100 0011
c = a << 2 # 240 = 1111 0000
c = a >> 2 # 15 = 0000 1111
逻辑运算符
Python语言支持逻辑运算符,但是与其他语言(Swift)中的逻辑运算符(&, |, !)不同, 注意区别位运算符, 使用时不要用错了, 以下假设变量 a 为 10, b为 20:运算符描述实例andx and y 布尔”与” - 如果 x 为 False,x and y 返回 False,否则它返回 y 的计算值(a and b) 返回 20。
orx or y 布尔”或” - 如果 x 是非 0,它返回 x 的值,否则它返回 y 的计算值(a or b) 返回 10。
notnot x 布尔”非” - 如果 x 为 True,返回 False 。如果 x 为 False,它返回 Truenot(a and b) 返回 False
成员运算符
Python支持成员运算符, 支持字符串,列表或元组运算符描述实例in如果在指定的序列中找到值返回True,否则返回Falsex 在 y序列中 , 如果x在y序列中返回True。
not in如果在指定的序列中没有找到值返回True,否则返回Falsex 不在 y序列中 , 如果x不在y序列中返回True。
测试示例:1
2
3
4
5
6
7
8
9
10# 成员运算符
list1 = [1, 2, 3, 4, 5, 6]
print(3 in list1) # True
print(10 in list1) # False
print(10 not in list1) # True
str1 = 'titanjun'
print('jun' in str1) # True
身份运算符
身份运算符用于比较两个对象的存储单元运算符描述实例isis是判断两个标识符是不是引用自一个对象x is y, 如果 id(x) 等于 id(y) , is 返回结果 1
is notis not是判断两个标识符是不是引用自不同对象x is not y, 如果 id(x) 不等于 id(y). is not 返回结果 1
Python运算符优先级
以下表格列出了从最高到最低优先级的所有运算符:
运算符 | 描述
—|—
** | 指数 (最高优先级)
~, +, - | 按位翻转, 一元加号和减号 (最后两个的方法名为 +@ 和 -@)
*, /, %, // | 乘,除,取模和取整除
+, - | 加法减法
>>, << | 右移,左移运算符
& | 位 ‘AND’
^, | | 位运算符
<=, , >= | 比较运算符
<>, ==, != | 等于运算符
=, %=, /=, //=, -=, +=, *=, **= | 赋值运算符
is, is not | 身份运算符
in, not in | 成员运算符
not, or, and | 逻辑运算符
条件和循环语句Python程序语言指定任何非0和非空null值为true,0 或者 null为false
由于 python 并不支持 switch 语句,所以多个条件判断,只能用 elif 来实现
if语句if语句的使用和其他语言没什么区别, 主要是格式不一样, 没有大括号, 主要时注意缩进1
2
3
4
5
6if 判断条件:
执行语句……
elif 判断条件:
执行语句……
else:
执行语句……
使用示例:1
2
3
4
5
6
7
8
9
10
11
12
13
14# if-else语句
if 2 > 3:
print('真的')
else:
print("假的")
# if-elif语句
a = 3
if (a == 1):
print(1)
elif (a == 2):
print(2)
else:
print(3)
While循环语句
与C语言中用法一样, 这里就不在赘述了
for 循环语句
Python中 for循环可以遍历任何序列的项目,如一个列表或者一个字符串。1
2
3
4
5
6
7
8
9# for循环
# 输出每一个字符
for s in "char":
print(s)
# 使用索引
list2 = [5, 2, 4]
for index in range(len(list2)):
print(list2[index])其中, 函数 len() 返回列表的长度,即元素的个数。 range返回一个序列的数, 这个后面会说到
在 python 中,for … else 表示for 中的语句和普通的没有区别,else 中的语句会在循环正常执行完(即 for 不是通过 break 跳出而中断的)的情况下执行,while … else 也是一样。对于Python语言, 我也是小白, 正在努力学习中, 文中如有不足之处, 还望多多指教
后期会持续更新相关文章