Python中的运算符和条件循环语句

运算符

1. 算术运算符

以下假设变量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

2. 比较运算符

以下假设变量a为10,变量b为20:

运算符描述实例
==等于 - 比较对象是否相等(a == b) 返回 False。
!=不等于 - 比较两个对象是否不相等(a != b) 返回 true.
<>不等于 - 比较两个对象是否不相等(a <> b) 返回 true。这个运算符类似 != 。
>大于 - 返回x是否大于y(a > b) 返回 False。
<小于 - 返回x是否小于y。所有比较运算符返回1表示真,返回0表示假。这分别与特殊的变量True和False等价。注意,这些变量名的大写。(a < b) 返回 true。
>=大于等于 - 返回x是否大于等于y。(a >= b) 返回 False。
<=小于等于 - 返回x是否小于等于y。(a <= b) 返回 true。

3. 赋值运算符

以下假设变量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中比较特殊的运算符了

4. 位运算符

按位运算符是把数字看作二进制来进行计算的。Python中的按位运算法则如下:

运算符描述实例
&按位与运算符(a & b) 输出结果 12 ,二进制解释: 0000 1100
|按位或运算符(a | b) 输出结果 61 ,二进制解释: 0011 1101
^按位异或运算符(a ^ b) 输出结果 49 ,二进制解释: 0011 0001
~按位取反运算符(~a ) 输出结果 -61 ,二进制解释: 1100 0011, 在一个有符号二进制数的补码形式。
<<左移动运算符a << 2 输出结果 240 ,二进制解释: 1111 0000
>>右移动运算符a >> 2 输出结果 15 ,二进制解释: 0000 1111

该运算符的运算方法是: 先将数字转成二进制, 再把二进制的每一位数字进行以上运算符运算, 最后再把结果转成十进制输出, 测试如下

# 5.位运算符
a = 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

复制代码

5. 逻辑运算符

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

6. 成员运算符

Python支持成员运算符, 支持字符串,列表或元组

运算符描述实例
in如果在指定的序列中找到值返回True,否则返回Falsex 在 y序列中 , 如果x在y序列中返回True。
not in如果在指定的序列中没有找到值返回True,否则返回Falsex 不在 y序列中 , 如果x不在y序列中返回True。

测试示例:

# 成员运算符
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
复制代码

7. 身份运算符

身份运算符用于比较两个对象的存储单元

运算符描述实例
isis是判断两个标识符是不是引用自一个对象x is y, 如果 id(x) 等于 id(y) , is 返回结果 1
is notis not是判断两个标识符是不是引用自不同对象x is not y, 如果 id(x) 不等于 id(y). is not 返回结果 1

8. Python运算符优先级

以下表格列出了从最高到最低优先级的所有运算符:

运算符描述
**指数 (最高优先级)
~, +, -按位翻转, 一元加号和减号 (最后两个的方法名为 +@ 和 -@)
*, /, %, //乘,除,取模和取整除
+, -加法减法
>>, <<右移,左移运算符
&位 'AND'
^, |位运算符
<=, <, >, >=比较运算符
<>, ==, !=等于运算符
=, %=, /=, //=, -=, +=, *=, **=赋值运算符
is, is not身份运算符
in, not in成员运算符
not, or, and逻辑运算符

二. 条件和循环语句

  • Python程序语言指定任何非0和非空null值为true,0 或者 nullfalse
  • 由于 python 并不支持 switch 语句,所以多个条件判断,只能用 elif 来实现

1. if语句

  • if语句的使用和其他语言没什么区别, 主要是格式不一样, 没有大括号, 主要时注意缩进
if 判断条件:
    执行语句……
elif 判断条件:
    执行语句……
else:
    执行语句……
复制代码

使用示例:

# 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)
复制代码

2. While循环语句

与C语言中用法一样, 这里就不在赘述了

3. for 循环语句

Pythonfor循环可以遍历任何序列的项目,如一个列表或者一个字符串。

# 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语言, 我也是小白, 正在努力学习中, 文中如有不足之处, 还望多多指教

  • 测试代码详见 GitHub地址

  • 后期会持续更新相关文章

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值