Python运算符、循环结构、条件结构
1、运算符
1.1 算数运算符
+
如果两边都是数字、则会进行相加计算;如为字符串,则会进行拼接
print(2+3)
>>> 5
print("Hello"+"World")
>>> HelloWorld
-
如果两边都是数字,则会进行相减计算;特殊情况也可以和Ture和False进行计算,因为True取值为1,False取值为0
print(6-3)
>>> 3
print(6-True)
>>> 5
>print(6-False)
>>> 6
*
如果两边都是数字,则会进行相乘计算;如为字符串和数字进行相乘,则会将字符串进行复制
print(2*3)
>>> 6
print("Hello"*3)
>>> HelloHelloHello
**
幂运算
print(2**5)
# 相当于2的5次方
>>> 32
/
两边都是数字进行相除计算,可能会出现除不尽的情况
print(6/2)
>>> 3
print(10/3)
>>> 3.3333333333333335
//
整除,在除不尽的情况下,取整
print(10//3)
>>> 3
%
求模,相当于求余数
print(10%3)
>>> 1
1.2 赋值运算符:把等号右边的值赋给等号左边的变量
表达式 | 等价于 | 表达式 | 赋值运算符 |
---|---|---|---|
a = 2 | 等价于 | a = 2 | = |
a += 2 | 等价于 | a = a + 2 | += |
a -= 2 | 等价于 | a = a - 2 | -= |
a *= 2 | 等价于 | a = a * 2 | *= |
a **= 2 | 等价于 | a = a * * 2 | **= |
a /= 2 | 等价于 | a = a / 2 | /= |
a //= 2 | 等价于 | a = a // 2 | //= |
a %= 2 | 等价于 | a = a % 2 | %= |
1.3 比较运算符,也称为关系运算符,用与比较两个值之间的关系
整数之间的比较,不做示例,下面示例一些特殊情况
- 数字跟布尔类型比较(因为True取值为1,False取值为0)
print(5 > True)
>>> True
两个字符串进行比较,比较的是两个Unicode编码,通过函数ord('字符')可以获取字符串相应的Unicode编码
- 单个字符串比较
unicode_a = ord("a")
unicode_b = ord("b")
print(f"unicode_a={unicode_a},unicode_b={unicode_b}")
>>> unicode_a=97,unicode_b=98
print('a' > 'b')
>>> False
- 多个字符串比较,先比较第一位,若前一位相等,则比较后一位
print('ab' > 'ac')
>>> False
1.4 逻辑运算符
and(与):只要有一边为False,结果为False
or(或):只要有一边为True,结果为True
not(非):对结果进行取反
特殊情况,比如:
True and print('语句'),会执行后面的打印或者执行后面的表达式
1.5 位运算符
位运算,左右两边是数字,先把数字转换成二进制再进行运算
运算符 | 释义 | 表达式 | 结果 |
---|---|---|---|
& | 按位与 | 3 & 2 | 2 |
| | 按位或 | 3| 2 | 3 |
^ | 按位异或 | 3 ^ 2 | 1 |
1.6 条件运算符(三元运算符)
语法:
语句1 if 条件表达式 else 语句2
如果条件表达式对,则执行语句1,否则执行语句2
print('a=3大') if 3 > 9 else print('b=9大')
>>> b=9大
1.7 运算符的优先级
运算符 | 描述 |
---|---|
** | 指数(最高优先级) |
~ + - | 按位翻转,一元加号和减号(最后两个的方法名为+@和-@) |
* / % // | 乘,除,取模和取整除 |
+ - | 加法减法 |
>> << | 右移,左移运算符 |
& | 位’ADN’ |
^ | | 位运算符 |
> < <= >= | 比较运算符 |
<> == != | 等于运算符 |
not and or | 逻辑运算符 |
2 循环结构
2.1 while循环
while循环语法:
while 表达式:
代码块
# 打印1-10
i = 1
while i <= 10:
print(i, end="\t")
i += 1
>>> 1 2 3 4 5 6 7 8 9 10
break终止循环;continue:跳过本次循环,继续下一个循环
2.2 for循环
for循环语法:
for 任意名称 in range(值1, 值2):
代码块
注意:range内的值为左开右闭,也就是说,不包含右边的值。
# 打印1-10
for i in range(1, 11):
print(i, end="\t")
>>> 1 2 3 4 5 6 7 8 9 10
3.条件结构
3.1 if语句
语法格式:
if 表达式:
代码块
if 3 > 2:
print(True)
>>> True
3.2 if-else语句
语法格式:
if 表达式:
代码块
else:
代码块
if 2 > 3:
print(True)
else:
print(False)
>>> False
3.3 if-elif-else语句
if 表达式:
代码块
elif 表达式:
代码块
elif 表达式:
代码块
else:
代码块
age = 18
if age < 5:
print("小娃娃")
elif 5 <= age <= 13:
print("儿童")
elif 13 <= age <= 18:
print("青少年")
else:
print("成年人")
>>> 青少年
以上就是全部内容了,有什么不足的地方欢迎各位补充!