Python之—— 运算符&语句语法

目录

1.运算符

        1.1 基本运算符

        1.2 比较运算符

         1.3 赋值运算符

        1.4 逻辑运算符

        1.5 位运算符

1.6.三元运算符

2.条件判断

3.循环结构

3.1.for循环

3.2.while循环


1.运算符

        1.1 基本运算符

Python里算术运算符也即数学运算符,用来对数字进行数学运算,比如加减乘除。

下表列出了基本的算术运算符:

运算符说明实例结果
+加:两个对象相加12.45+1527.45
-减:两数相减,结果有负数,有正数4.56-0.264.3
*乘:两数相乘,或返回一个被重复若干次的字符串5 * 3.618.0
/除:两数相除7 / 23.5
//整除(只保留商的整数部分)7 // 23
%取余,即返回除法的余数7 % 21
**幂运算/次方运算,即返回某数的次方2 ** 416

        1.2 比较运算符

比较运算符,也称关系运算符,用于对常量,变量或表达式的结果进行大小比较。

如果这种比较是成立的,则返回true(真),反之则返回false(假)

下表列出了比较运算符:

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

多变量赋值:

x,y,z, = 90,80,70

x  = y = z = 20

         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
>>=右移赋值x >>= yx = x >> y

        1.4 逻辑运算符

高中数学中我们就学过逻辑运算符,例如p为真命题,q为假命题,那么 “p且q” 为假,“p或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) #True

什么情况下是False?

print(1 or Flase)

#在Python中True 是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('bppl(none)':+str(bool(None)))


短路与和短路或

  • 短路与:or 如果碰到了 True 就直接返回
  • 短路或:and 如果碰到了False 就直接返回
print(1 or 0 and 1 and 2 and 3 and 4)

print(0 or 1)

示例:

根据速度完成对等级的判断:

题目:假设对成长速度显示规定如下:

成长速度为 5 显示 等级1;

成长速度为 10 显示 等级2;

成长速度为 15 显示 等级3;

成长速度为 20 显示 等级4;

其他的都显示 等级 0; 

#代码示例

#方式一:if 条件判断

#方式二:

level=(speed == 5 and 1)or\
        (speed == 10 and 2)or\
        (speed == 15 and 3)or\
        (speed == 20 and 4)or\
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 ^ b        4 ^ 5
~按位取反~ a~ 4
<<按位左移a << b4 << 2,表示整数4 按位左移 2位
>>按位右移a >> b4 >> 2,表示整数4 按位右移 2位
  • 按位与运算符:参与运算的两个值,如果两个相邻的都为 1,则该位的结果位 1,否则为 0
  • 按位或运算符:只要对应的二个二进位有一个为 1 时,结果就为 1
  • 按位异或运算符:当两个对应的二进位相异时,结果位 1
  • 左移动运算符:运算数的各二进位全部左移若干位,由右边的数字指定了移动的位数,位高丢弃,低位补0;
  • 右移动运算符:把左边的运算数的各二进位全部右移若干位,由右边的数字指定了移动的位数

示例:

'''
使用位运算判断奇偶数的示例
'''
def is_even(n):
    return (n & 1) == 0

def is_odd(n):
    return (n & 1) == 1

print(is_even(2))  
print(is_even(3))
print(is_odd(2))
print(is_odd(3)) 


'''
按位异或交换变量的示例
'''
a = 10
b = 5

print("交换前:a =", a, "b =", b)

# 交换变量值
a = a ^ b
b = a ^ b
a = a ^ b

print("交换后:a =", a, "b =", 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 的结果作为整个表达式的结果。

# 从三个书中找出最大的数
a = 10
b = 20
c = 15
​
max_num = a if a > b and a > c else b if b > c else c
​
print("最大值为:", max_num)

2.条件判断

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

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

Python 提供了一种更加专业的做法,就是空语句 pass。pass 是 Python 中的关键字,用来让解释器跳过此处,什么都不做。

3.循环结构

3.1.for循环

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.2.while循环

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

while 语句的语法格式如下:

while 条件表达式:    代码块

这里的代码块,指的是缩进格式相同的多行代码,不过在循环结构中,它又称为循环体。

while 语句执行的具体流程为:首先判断条件表达式的值,其值为真(True)时,则执行代码块中的语句,当执行完毕后,再回过头来重新判断条件表达式的值是否为真,若仍为真,则继续重新执行代码块...如此循环,直到条件表达式的值为假(False),才终止循环。

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

无论是 while 循环还是 for 循环,其后都可以紧跟着一个 else 代码块,它的作用是当循环条件为 False 跳出循环时,程序会最先执行 else 代码块中的代码。

本章博客分享到这,之后会出python其他的博客,感谢支持!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值