Ⅱ-Python运算符(进阶语法)

目录

1.运算符

1.1基本运算符

1.2比较运算符

1.3赋值运算符

1.4逻辑运算符

1.5位运算符

1.6三元运算符

2.条件判断

2.1案例:石头剪刀布

3.循环结构

3.1for循环

3.2while循环

4.思维导图


1.运算符

        算术运算符也即数学运算符,用来对数字进行数学运算,比如加减乘除。下表列出了Python支持所有基本算术运算符。

1.1基本运算符

运算符说明 实例 结果
+加 - 两个对象相加12.45 + 1527.45
-减 - 得到负数或是一个数减去另一个数4.56 - 0.264.3
*乘 - 两个数相乘或是返回一个被重复若干次的字符串5 * 3.618.0
/除 - x除以y(和数学中的规则一样)7 / 23.5
//整除(只保留商的整数部分)7 // 23
%取余,即返回除法的余数7 % 21
**幂运算/次方运算,即返回 x 的 y 次方2 ** 416,即 24

代码:

a = 1
b = 2
print(a + b)
print(a - b)
print(a * b)
print(a / b)
print(a // b)
print(a % b)
print(a ** b)

1.2比较运算符

比较运算符,也称关系运算符,用于对常量、变量或表达式的结果进行大小比较。如果这种比较是成立的,则返回 True(真),反之则返回 False(假)。

比较运算符 说明
>大于,如果>前面的值大于后面的值,则返回 True,否则返回 False。
<小于,如果<前面的值小于后面的值,则返回 True,否则返回 False。
==等于,如果==两边的值相等,则返回 True,否则返回 False。
>=大于等于(等价于数学中的 ≥),如果>=前面的值大于或者等于后面的值,则返回 True,否则返回 False。
<=小于等于(等价于数学中的 ≤),如果<=前面的值小于或者等于后面的值,则返回 True,否则返回 False。
!=不等于(等价于数学中的 ≠),如果!=两边的值不相等,则返回 True,否则返回 False。
is判断两个变量所引用的对象是否相同,如果相同则返回 True,否则返回 False。
is not判断两个变量所引用的对象是否不相同,如果不相同则返回 True,否则返回 False。

代码:

#比较运算符
a = 3
b = 5
print(a > b)
print(a < b)
print(a == b)
print(a >= b)
print(a <= b)
print(a != b)
print(a is b)
print(a is not b)
#多变量赋值:
x,y,z = 30,20,10
x = y = z = 10

1.3赋值运算符

赋值运算符用来把右侧的值传递给左侧的变量(或者常量);可以直接将右侧的值交给左侧的变量,也可以进行某些运算后再交给左侧的变量,比如加减乘除、函数调用、逻辑运算等。

运算符说 明用法举例等价形式
=最基本的赋值运算x = yx = y
+=加赋值x += yx = x + y
-=减赋值x -= yx = x - y
*=乘赋值x *= yx = x * y
/=除赋值x /= yx = x / y
%=取余数赋值x %= yx = x % y
**=幂赋值x **= yx = x ** y
//=取整数赋值x //= yx = x // y
&=按位与赋值x &= yx = x & y
|=按位或赋值x |= yx = x | y
^=按位异或赋值x ^= yx = x ^ y
<<=左移赋值x <<= yx = x << y,这里的 y 指的是左移的位数
>>=右移赋值x >>= yx = x >> y,这里的 y 指的是右移的位数

代码:

# 赋值运算符
a = 10
b = 30
a = b
a += b
a -= b
a *= b
a /= b
a %= b
a **= b
a //= b
a &= b
a |= b
a ^= b
a <<= b
a >>= b
print(a)

1.4逻辑运算符

高中数学中我们就学过逻辑运算,例如 p 为真命题,q 为假命题,那么“p且q”为假,“p或q”为真,“非q”为真。

逻辑运算符含义基本格式说明
and逻辑与运算,等价于数学中的“且”a and b当 a 和 b 两个表达式都为真时,a and b 的结果才为真,否则为假。
or逻辑或运算,等价于数学中的“或”a or b当 a 和 b 两个表达式都为假时,a or b 的结果才是假,否则为真。
not逻辑非运算,等价于数学中的“非”not a如果 a 为真,那么 not a 的结果为假;如果 a 为假,那么 not a 的结果为真。相当于对 a 取反。

代码:

#基本示例
print(True and False)  # False
print(True or False)   # Ture
#什么情况下是False
print(1 or False)
# 在python中Ture是1,False是0
print('int(True):'+str(int(True)))
print('int(False):'+str(int(False)))
# 在python中0表示False
print('bool(0):'+str(bool(0)))
print('bool(1):'+str(bool(1)))
print('bool(2):'+str(bool(2)))
print('bool(3):'+str(bool(3)))
# 在python中没有null,只有None,而None也是False
print('bool(none):'+str(bool(None)))
#短路与和短路或

#短路或:or如果碰到了True就直接返回
#短路与:and如果碰到了False就直接返回
print(1 or 0 and 1 and 2 and 3 and 4)
print(0 and 1)
# 假设对成长速度显示规定如下:
# 成长速度为5显示等级1;
# 成长速度为10显示等级2;
# 成长速度为12显示等级3;
# 成长速度为15显示等级4;
# 其他都显示都显示等级0;
# 方式一:if条件判断
# 方式二:
level=(speed==5 and 1) or \
       (speed==10 and 2) or \
       (speed==15 and 3) or \
       (speed==20 and 4) or 5
print("level="+str(level))
# 方式三:
obj={
    "5":1,
    "10":2,
    "15":3,
    "20":4
}
print(obj.get(str(speed)) or -1)

1.5位运算符

Python位运算按照数据在内存中的二进制位(Bit)进行操作,它一般用于底层开发(算法设计、驱动、图像处理、单片机等),在应用层开发(Web 开发、Linux 运维等)中并不常见。

位运算符说明使用形式举 例
&按位与a & b4 & 5
|按位或a | b4 | 5
^按位异或a ^ b4 ^ 5
~按位取反~a~4
<<按位左移a << b4 << 2,表示整数 4 按位左移 2 位
>>按位右移a >> b4 >> 2,表示整数 4 按位右移 2 位
  • 按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0。

  • 按位或运算符: 只要对应的二个二进位有一个为1时,结果位就为1。

  • 按位异或运算符:当两对应的二进位相异时,结果为1

  • 左移动运算符:运算数的各二进位全部左移若干位,由右边的数字指定了移动的位数,高位丢弃,低位补0。

  • 右移动运算符:把左边的运算数的各二进位全部右移若干位,右边的数字指定了移动的位数

需要把十进制转换二进制,在把二进制转换十进制,代码如下:

a = 23           #10111(二进制)
b = 3            #00011(二进制)
print(a & b)
print(a | b)
print(a ^ b)
print(~b)
print(a << b)
print(a >> b)

1.6三元运算符

Python提供了一种更加简洁的写法,如下所示:

max = a if a>b else b

这是一种类似于其它编程语言中三目运算符? :的写法。Python 是一种极简主义的编程语言,它没有引入? :这个新的运算符,而是使用已有的 if else 关键字来实现相同的功能。

使用 if else 实现三目运算符(条件运算符)的格式如下:

exp1 if condition else exp2

condition 是判断条件,exp1 和 exp2 是两个表达式。如果 condition 成立(结果为真),就执行 exp1,并把 exp1 的结果作为整个表达式的结果;如果 condition 不成立(结果为假),就执行 exp2,并把 exp2 的结果作为整个表达式的结果。

2.条件判断

在Python中,可以使用 if else 语句对条件进行判断,然后根据不同的结果执行不同的代码,这称为选择结构或者分支结构。

Python 中的 if else 语句可以细分为三种形式,分别是 if 语句、if else 语句和 if elif else 语句。

2.1案例:石头剪刀布

#0=剪刀 1=石头 2=布
nums =["剪刀","石头","布"]
ops = int(input("请输入剪刀石头布:"))
cpu = random.randint(0,2)
win = ops + 1
win = 0 if win == 3 else win
print("你出%s,电脑出%s,输赢结果:"%(nums[ops],nums[cpu]))
if cpu == win:
    print("电脑赢了")
elif ops == cpu:
    print("平局")
else:
    print("你赢了")

3.循环结构

3.1for循环

Python中的循环语句有 2 种,分别是 while 循环和 for 循环,而for循环它常用于遍历字符串、列表、元组、字典、集合等序列类型,逐个获取序列中的各个元素。

for 循环的语法格式如下:

for 迭代变量 in 字符串|列表|元组|字典|集合:
    代码块

示例一:通过for循环计算100以内的和

sum = 0
for i in range(100):
    print(i)
    sum+=i+1
print(sum)

示例二:通过for循环计算100以内的奇数和

sum = 0
for i in range(100)[1::2]:
    print(i)
    sum+=i
print(sum)

3.2while循环

而while 循环和 if 条件分支语句类似,即在条件(表达式)为真的情况下,会执行相应的代码块。不同之处在于,只要条件为真,while 就会一直重复执行那段代码块。

while 语句的语法格式如下:

sum = 0  # 求和
num = 0  # 当前数值
while num <= 100:
    sum += num
    num = num + 1
    break
else:
    print("OK")
print(sum)

4.思维导图

----------------------------------------------------------------------------------------♥-------------------------------------------------------------------------------------

往期Python内容:

​​​​​​①.Python入门与基本语法

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值