python表达式_python 运算符与表达式

1、运算符

1.1 算数运算符

+、-、*、/、//、%(取余)、**(幂)

注意:

1> 除法运算中除数不为0,/:结果为浮点数,//:结果为整数

2> 在算数操作符中使用%求余,结果只与除数(第二个操作数)的正负有关

1.2 赋值运算符

赋值运算符与四则运算符组合:实现把赋值运算符左右两侧的内容进行相应的四则运算后,把结果赋值给变量

1948815-20200306123124788-495860071.png

实例:

# -*- coding:utf-8 -*-

# version:python3.7

a= 2a+= 1

print(a)

执行结果:3

1.3 比较(关系)运算符

用于对变量或表达式的结果进行大小、真假等比较。比较的结果为真,则返回True,为假,则返回False。通常用在条件语句中作为判断的依据。

1948815-20200306124239196-1557992807.png

实例:判断python和english的成绩是否合格#-*- coding:utf-8 -*-#version:python3.7

python= float(input("please enter your python score:"))

english= float(input("please enter your english score:"))if python >= 60:print("Your python score is qualified.")if python < 60:print("Your python score is disqualified.")if english >= 60:print("Your english score is qualified.")if english < 60:print("Your english score is disqualified.")

执行结果:

please enter your python score:56please enter your english score:72Your python scoreisdisqualified.

Your english scoreis qualified.

1.4 逻辑运算符

对布尔值(真和假)进行逻辑与、逻辑或、逻辑非运算

1> 逻辑与(and):一假则假

2> 逻辑或(or):一真则真

3> 逻辑非(not):条件为真,结果为假;条件为假,结果为真

实例:#-*- coding:utf-8 -*-#version:python3.7

a= float(input("请输入a的值:"))

b= float(input("请输入b的值:"))if a > 60 and b > 60:print("a和b都大于60")else:print("a和b不都大于60")

执行结果:

请输入a的值:56请输入b的值:66a和b不都大于60

1.5 位运算符

把数据看成二进制数进行计算:

1> 位与运算(&):两个操作数按二进制数表示,对应位都为1,结果位才为1

2> 位或运算(|):两个操作数按二进制数表示,对应位都为0,结果位才为0

3> 位异或运算(^):两个操作数按二进制数表示,对应位同为1或同为0,结果为0,否则为1

9 % 2 == 1 #判断是否为奇数

9 & 1 == 1 #判断是否为奇数#&与运算,都为1才为1,奇数转换为二进制最后一位必为1

位异或实例1:两个数互换值#-*- coding:utf-8 -*-#version:python3.7

a= int(input("请输入a的值:"))

b= int(input("请输入b的值:"))

a= a ^b

b= a ^b

a= a ^bprint("a的值为:",a)print("b的值为:",b)

执行结果:

请输入a的值:5请输入b的值:6a的值为:6b的值为:5

位异或实例2:简单加密#-*- coding:utf-8 -*-#version:python3.7

pwd= int(input("请输入密码:"))

key= int(input("请输入秘钥:"))

password= pwd ^keyprint("加密后的结果:",password)print("解密后的结果:",password ^key)

执行结果:

请输入密码:123456请输入秘钥:55加密后的结果:123511解密后的结果:123456

4> 位取反运算(~):把二进制操作数,对应位1变为0,0变为1

5> 左移位运算符(<<):把二进制操作数,向左移动相应位数,左边最高位溢出时被丢弃,右边空位用0补齐(左移位相当于乘以2的n次幂)

6> 右移位运算符(>>):把二进制操作数,向右移动相应位数,右边溢出位被丢弃,左边最高位如果是0补0,是1补1(右移位相当于除以2的n次幂)

实例:左移一位相当于乘以2的n次幂,右移一位相当于除以2的n次幂#-*- coding:utf-8 -*-#version:python3.7

number= 32

print("左移一位:",number << 1)print("右移一位:",number >> 1)

执行结果:

左移一位:64右移一位:16

1.6 成员运算符

in、not in

1.7 身份运算符

is、is not

1.8 运算符的优先级

按运算符优先级从高到低运算,同一级别从左到右顺序执行,可以使用()改变优先级

1948815-20200306141823859-1762568297.png

2、条件表达式

基本语法:结果1 if 表达式 else 结果2

结果1为表达式结果为True的值,结果2位表达式结果为False的值

语法演变:variable = [结果1] if [表达式] else [结果2]

实例1:输出a、b中的较大数#-*- coding:utf-8 -*-#version:python3.7

a= float(input("请输入a的值:"))

b= float(input("请输入b的值:"))

r= a if a > b elsebprint("输出较大数:",r)

执行结果:

请输入a的值:4.5请输入b的值:6.88输出较大数:6.88

实例2:输出a的绝对值#-*- coding:utf-8 -*-#version:python3.7

a= float(input("请输入a的值:"))

b= a if a > 0 else -aprint("a的绝对值为:",b)

执行结果:

请输入a的值:-7.4a的绝对值为:7.4

短路:提高效率

#短路:

1 > 2 and 3 > 2 #1>2 第一个比较运算符为False,根据and逻辑运算符,则整体为False

2 > 1 or 3 > 4 #2>1第一个比较运算符为True,根据or逻辑运算符,则整体为True

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值