【Python从入门到精通】运算符&控制语句

Python从入门到精通】专栏往期课程:

1、【Python从入门到精通】认识Python

2、【Python从入门到精通】变量&数据类型

3、【Python从入门到精通】列表&元组&字典&集合

一、运算符

1.1 算数运算符

Python中的算数运算符如下所示:

  • +:加法
  • -:减法
  • *:乘法
  • /:除法
  • //:整除
  • %:取模(取余数)
  • **:幂运算
num1 = 20
num2 = 30

print('-----------加法-------')
print(num1 + num2)
print('-----------减法-------')
print(num1 - num2)
print('-----------乘法-------')
print(num1 * num2)
print('-----------除法-------')
print(num1 / num2)
print('-----------整除-------')
print(num1 // num2)
print('-----------取模(获取余数)-------')
print(num1 % num2)
print('-----------幂运算-------')
print(num1 ** 2)

注意:我们在使用运算符的时候变量和运算符应该加上空格,这样可以使代码变得优雅,例如:

a + b 。

1.2 比较运算符 

比较运算符主要是用于比较两个变量之间的关系,若符合条件就返回True否则返回False,例如:10 > 20,10比20小,对此10 > 20返回False。

Python中的关系运算符如下所示:

  • ==:等于
  • !=:不等于
  • >:大于
  • <:小于
  • >=:大于等于
  • <=:小于等于
num1 = 20
num2 = 30

print('-----------等于-------')
print(num1 == num2)
print('-----------大于等于-------')
print(num1 >= num2)
print('-----------大于-------')
print(num1 > num2)
print('-----------小于等于-------')
print(num1 <= num2)
print('-----------小于-------')
print(num1 < num2)
print('----------不等于-------')
print(num1 != num2)

1.3 赋值运算符 

Python中的赋值运算符如下所示:

  • =:简单赋值
  • +=:加法赋值
  • -=:减法赋值
  • *=:乘法赋值
  • /=:除法赋值
  • //=:整除赋值
  • %=:取模赋值
  • **=:幂赋值
num1 = 20
num2 = 30

print('-----------(=)-------')
num3 = num1
print(num3)
print('-----------(+=)-------')
num4 = num1
num5 = num1
num4 += 10
num5 = num5 + 10
print(num4)
print(num5)
print('-----------(-=)-------')
num6 = num1
num6 -= 10
print(num6)
print('-----------(*=)-------')
num7 = num1
num7 *= 6
print(num7)
print('-----------(/=)-------')
num8 = num1
num8 /= 2
print(num8)
print('----------(//=)-------')
num9 = num1
num9 //= 2
print(num9)
print('----------(%=)-------')
num10 = num1
num10 %= 2
print(num10)
print('----------(**=)-------')
num11 = num1
num11 **= 2
print(num11)

 1.4 逻辑运算符

在Python中,逻辑运算符用于执行布尔逻辑运算,处理布尔值(True或False)。Python中的逻辑运算符如下所示:

  • and(逻辑与):

    • 语法:x and y
    • 如果x为False,则返回False,否则返回y的值。
  • or(逻辑或):

    • 语法:x or y
    • 如果x为True,则返回True,否则返回y的值。
  • not(逻辑非):

    • 语法:not x
    • 如果x为True,则返回False;如果x为False,则返回True。
x = True
y = False
result_and = x and y  # 结果为False,因为y为False
print(result_and)
print('-------------------')
# 逻辑或示例
result_or = x or y   # 结果为True,因为x为True
print(result_or)
print('-------------------')
# 逻辑非示例
result_not = not x   # 结果为False,因为x为True
print(result_not)

1.5 成员运算符

在Python中,成员运算符用于检查一个值是否存在于一个序列对象中,例如列表、元组、字典等。

Python中成员运算符如下所示:

  • in(存在):

    • 语法:x in sequence
    • 如果x存在于序列sequence中,则返回True;否则返回False。
  • not in(不存在):

    • 语法:x not in sequence
    • 如果x不存在于序列sequence中,则返回True;否则返回False。
numbers = [1, 2, 3, 4, 5]

# 检查值是否存在于列表中
result1 = 3 in numbers  # 结果为True,因为3存在于列表中
result2 = 6 not in numbers  # 结果为True,因为6不存在于列表中

print(result1)  # 输出 True
print(result2)  # 输出 True

1.6 身份运算符

在Python中,身份运算符用于比较两个对象的内存地址是否相同,而不是比较它们的值是否相同。Python中的身份运算符如下所示:

  • is(是):

    • 语法:x is y
    • 如果x和y指向同一个对象,则返回True;否则返回False。
  • is not(不是):

    • 语法:x is not y
    • 如果x和y指向不同的对象,则返回True;否则返回False。

注意:这些运算符用于比较对象的身份,即它们是否在内存中具有相同的地址。在Python中,每个对象都有一个唯一的内存地址,因此可以使用身份运算符来检查两个对象是否是同一个对象的引用。

x = [1, 2, 3]
y = [1, 2, 3]

result1 = x is y  # 结果为False,因为x和y指向不同的对象
result2 = x is not y  # 结果为True,因为x和y指向不同的对象

print(result1)  # 输出 False
print(result2)  # 输出 True

1.7 位运算符

在Python中,位运算符用于对整数在二进制位级别上进行操作。这些运算符允许你直接操作整数的二进制表示。Python中的位运算符如下所示:

  • 按位与(&):

    • 语法:x & y
    • 对x和y的每个二进制位执行与操作。如果两个对应的位都为1,则结果中的相应位也为1,否则为0。
  • 按位或(|):

    • 语法:x | y
    • 对x和y的每个二进制位执行或操作。如果两个对应的位中至少有一个为1,则结果中的相应位为1,否则为0。
  • 按位异或(^):

    • 语法:x ^ y
    • 对x和y的每个二进制位执行异或操作。如果两个对应的位不同,则结果中的相应位为1,否则为0。
  • 按位取反(~):

    • 语法:~x
    • 对x的每个二进制位执行取反操作,即0变为1,1变为0。
  • 左移(<<):

    • 语法:x << n
    • 将x的二进制表示向左移动n位,并在右边用0填充。
  • 右移(>>):

    • 语法:x >> n
    • 将x的二进制表示向右移动n位,并根据需要在左边使用符号位或0进行填充。
x = 10  # 二进制表示为 1010
y = 6   # 二进制表示为 0110

result_and = x & y   # 结果为 2,二进制表示为 0010
result_or = x | y    # 结果为 14,二进制表示为 1110
result_xor = x ^ y   # 结果为 12,二进制表示为 1100
# 结果为 -11,二进制表示为 1111 0101(因为Python中的整数使用补码表示)
result_not_x = ~x   
result_left_shift = x << 1  # 结果为 20,二进制表示为 10100
result_right_shift = x >> 1 # 结果为 5,二进制表示为 0101

print(result_and)         # 输出 2
print(result_or)          # 输出 14
print(result_xor)         # 输出 12
print(result_not_x)       # 输出 -11
print(result_left_shift)  # 输出 20
print(result_right_shift) # 输出 5

二、代码块

在Python中,代码块是由缩进的一组语句组成的,用于表示一段相互关联的代码。Python不使用花括号 {} 或类似的关键字符来定义代码块,而是通过缩进来表示代码块的开始和结束。

注意:Python是严格讲究缩进的。

下面代码简单演示一下代码块:

if condition:
    # 这是一个代码块
    # 所有缩进的语句都属于这个代码块
    statement1
    statement2
    statement3
    # 代码块结束

# 在这里,代码块已经结束,不再缩进
statement_after_if

在上述示例中,if condition: 下面的缩进的语句组成了一个代码块。缩进的空格数通常是4个,但可以根据个人或项目的偏好选择其他数量。重要的是要保持一致性,确保同一代码块中的缩进相同。

三、控制语句

控制语句是编程语言中用于控制程序执行流程的结构。在Python中,常见的控制语句包括条件语句(if、elif、else)、循环语句(for、while)、以及控制循环流程语句(break、continue、pass)等。

3.1 条件语句

3.1.1 单分支条件语句

if condition:
    # 如果条件成立,则执行这里的代码
    statement

注意:上述语法中condition为布尔条件表达式,例如: 3  >  4,statement表示一个代码块

单分支条件语句的语意:如果.......就.........

grade = 90
if grade >= 90:
    print('本次成绩大于等于90')

 3.1.2 双分支条件语句

if condition:
    # 如果条件成立,则执行这里的代码
    statement
else:
    # 如果条件不成立,则执行这里的代码
    statement

双分支条件语句的语意:如果.......就.........否则就...........

grade = 80
if grade >= 90:
    print('本次成绩大于等于90')
else:
    print('本次成绩小于90')

 3.1.3 多分支条件语句

if condition1:
    # 如果条件1成立,则执行这里的代码
    statement1
elif condition2:
    # 如果条件1不成立且条件2成立,则执行这里的代码
    statement2
else:
    # 如果条件1和条件2都不成立,则执行这里的代码
    statement3

多分支条件语句的语意:如果.......就.........否则如果........就.........否则就........

if、elif、else在开发的时候可以随意组合。

grade = 80
if grade >= 90:
    print('本次成绩大于等于90')
elif grade >= 80:
    print('本次成绩小于90且大于80分')
else:
    print('本次成绩小于80分')

3.2 循环语句

Python 中的循环语句用于重复执行特定的代码块,直到满足特定条件。

3.2.1 for循环语句

for 循环用于遍历可迭代对象(如列表、元组、字符串等)中的元素。

for item in iterable:
    # 对可迭代对象中的每个元素执行这里的代码
    statement1

上述语法中item表示的是iterable可迭代对象里面的每一个具体元素

iter1 = [1,2,3,4,5,6,7,8,9]
for item in iter1: 
    print(item)

3.2.2 while循环

while 循环根据条件重复执行代码块,直到条件不再满足为止。

while condition:
    # 当条件成立时,重复执行这里的代码
    statement2
sum = 0
i = 1
while i < 10:
    sum += i
    i += 1
print(sum)

3.2.3 控制循环流程语句 

在 Python 中,控制循环流程的语句包括 breakcontinue 、pass、return

1、break语句 

break 语句用于中断循环,并立即跳出循环体。当某个条件满足时,执行 break 语句后,循环将被终止,程序将跳转到循环之后的代码继续执行。

for i in range(5):
    if i == 3:
        break
    print(i)

2、continue语句

continue 语句用于跳过当前循环的剩余代码,然后继续进行下一次循环迭代。当某个条件满足时,执行 continue 语句后,当前循环迭代中 continue 语句后面的代码将被跳过,然后进行下一次迭代。

for i in range(5):
    if i == 2:
        continue
    print(i)

 3、pass语句

pass 语句用作占位符,表示不执行任何操作,仅用于保持语法结构的完整性。通常在需要语法上需要语句但不需要执行任何操作的情况下使用。

for i in range(5):
    if i == 2:
        pass
    else:
        print(i)

 3.3 match语句

Python 3.10 引入了 Match-Case 语句,它是一种更加强大和灵活的替代品,用于取代部分情况下的复杂的 if-elif-else 结构。

match expression:
    case pattern1:
        # 如果匹配 pattern1,则执行这里的代码
        statement1
    case pattern2:
        # 如果匹配 pattern2,则执行这里的代码
        statement2
    case _:
        # 如果上述任何模式都不匹配,则执行这里的代码
        statement3
def weekday_name(weekday_number):
    match weekday_number:
        case 1:
            return "Monday"
        case 2:
            return "Tuesday"
        case 3:
            return "Wednesday"
        case 4:
            return "Thursday"
        case 5:
            return "Friday"
        case 6:
            return "Saturday"
        case 7:
            return "Sunday"
        case _:
            return "Invalid weekday number"

# 使用示例
print(weekday_name(1))  # 输出: Monday
print(weekday_name(3))  # 输出: Wednesday
print(weekday_name(8))  # 输出: Invalid weekday number

关于Python更多的内容可以关注《Python从入门到精通》,该专栏主要用于分享Python学习教程,在系列教程只有干货没有花里胡哨,欢迎大家一起来学习探讨一起进步。 

  • 31
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值