文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Python全栈的运算符有哪些

2023-06-21 22:21

关注

本篇内容主要讲解“Python全栈的运算符有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python全栈的运算符有哪些”吧!

1. 算数_比较_赋值_成员

1.1 算数运算符

算数运算符: + - * / // % **

# +var1 = 7var2 = 90res = var1 + var2print(res)# -var1 = 7var2 = 90res = var1 - var2print(res)# *var1 = 7var2 = 10res = var1 * var2print(res)# / 结果永远为小数var1 = 10var2 = 5res = var1 / var2print(res , type(res))# // 地板除"""被除数 ➗ 除数 = 商""""""注意点:如果被除数或者除数是小数,那么得到正常结果之后,数值后面带上.0变成小数"""var1 = 10.0var2 = 3.0# var2 = 3.0res = var1 // var2print(res)# %  取余var1 = 7var2 = 4res = var1 % var2res = -7 % 4  # -3 + 4 = 1res = 7 % -4  # 3 + (-4) = -1res = -7 % -4 # -3 (被除数和除数都是负的,正常结果加负号)res = 81 % 7   # 4res = 81 % -7  # -3res = -81 % 7  # 3res = -81 % -7 # -4print(res)# ** 幂运算res = 2 ** 3print(res)

1.2 比较运算符

比较运算符: > < >= <= == !=

"""比较运算符的结果要么是True , 要么是False 只有两个值"""res = 10 > 5res = 10 >= 10# ==这个符号是在做比较,比较==两边的数值是否一样res = 5 == 9res = 5 != 9 print(res)

1.3 赋值运算符

赋值运算符: = += -= *= /= //= %= **=

# = 赋值运算符 将右侧的值赋值给左侧变量a = 5 <= 3print(a)var1 = 10var2 = 5# += """var1 = var1 + var2"""# var1 += var2# print(var1)# -="""var1 = var1 - var2"""# var1 -= var2# print(var1)# %="""var1 = var1 % var2"""var1 %= var2print(var1)

1.4 成员运算符

成员运算符: in not in (针对于容器型数据)

"""字符串判断时,必须是连续的片段"""strvar = "今天天气要下雨,赶紧回家收衣服"res = "今" in strvarres = "天气" in strvarres = "赶回" in strvarprint(res)# 针对于列表,元组,集合container = ["赵沈阳","赵万里","赵世超"]container = ("赵沈阳","赵万里","赵世超")container = {"赵沈阳","赵万里","赵世超"}# res = "赵沈阳" in container# res = "赵万里" not in containerres = "赵世超1223232" not in containerprint(res)# 针对于字典 (判断的是字典的键,不是值)container = {"zsy":"赵沈阳","zwl":"赵万里","zsc":"赵世超"}res = "赵沈阳" in container # Falseres = "zsy" in containerprint(res)

2. 身份运算符

身份运算符 is 和 is not (检测两个数据在内存当中是否是同一个值)

# 整型 -5~正无穷 var1 = 100var2 = 100print(var1 is var2)# 浮点型 非负数var1 = -9.1var2 = -9.1print(var1 is var2)# bool 相同即可var1 = Truevar2 = Trueprint(var1 is var2)# complex 在实数+虚数不相同 (只有虚数的情况下例外)var1 = 6-8jvar2 = 6-8jvar1 = -10jvar2 = -10jprint(var1 is var2)# 容器: 相同字符串 , 空元组相同即可  剩下的所有容器都不相同container1 = ()container2 = ()print(container1 is not container2)container1 = "你"container2 = "你"print(container1 is not container2)container1 = [1,23,3]container2 = [1,23,3]print(container1 is not container2)

小提示:

# var1和var2地址id是一样的var1 = 10j var2 = 10j# var1和var2地址id是不一样的var1 = -10j var2 = -10j

3. 逻辑运算符

逻辑运算符: and or not

# and 逻辑与   """全真则真,一假则假"""res = True and True    # Trueres = True and False   # Falseres = False and True   # Falseres = False and False  # Falseprint(res)# or  逻辑或  """一真则真,全假则假"""res = True or True    # Trueres = False or True   # Trueres = True or False   # True res = False or False  # Falseprint(res)# not 逻辑非  res = not Trueres = not Falseprint(res)# 逻辑短路"""无论后面的表达式是True 还是False 都已经无法改变最后的结果,那么直接短路,后面的代码不执行;(1) True or print("程序执行了 ~ 1111")(2) False and print("程序执行了 ~ 2222")True or print("程序执行了 ~ 1111")True or True => TrueTrue or False => TrueFalse and print("程序执行了 ~ 2222")False and True  => FalseFalse and False => False""""""计算规律:先脑补计算当前表达式的布尔值是True还是False如果出现了 True or 表达式  或者 False and 表达式的情况,直接返回前者,后面代码不执行如果没有出现短路效果,直接返回后者"""res = 5 and 6 # 6"""True and True =>TrueTrue and False => False"""res = 5 or 6  # 5res = 0 and 999res = 0 or "abc"print(res)# 逻辑运算符的优先级""" 优先级从高到低: () > not > and > or   """res = 5 or 6 and 7 # 5 or 7 => 5res = (5 or 6) and 7 # 5 and 7res = not (5 or 6) and 7 # not 5 and 7 => False and 7 => Falseres = 1<2 or 3>4 and 5<100 or 100<200 and not (700>800 or 1<-1)"""not (False or False) => Trueres = 1<2 or 3>4 and 5<100 or 100<200 and not (700>800 or 1<-1)res = True or False and True or True and Trueres = True or False or Trueres = True or True => True"""print(res)

3.1 位运算符

位运算符: & | ^ << >> ~

var1 = 19var2 = 15# & 按位与res = var1 & var2"""000 ... 10011000 ... 01111000 ... 00011 => 3"""print(res)# | 按位或res = var1 | var2"""000 ... 10011000 ... 01111000 ... 11111"""print(res)# ^ 按位异或"""两个值不相同=>True 反之返回False"""res = var1 ^ var2"""000 ... 10011000 ... 01111000 ... 11100"""print(res)# << 左移 (相当于乘法)"""5乘以2的n次幂"""res = 5 << 1 # 10res = 5 << 2 # 20res = 5 << 3 # 40print(res)"""000 ... 101  => 5000 .. 1010  => 10000 ..10100  => 20000 .101000  => 40"""# >> 右移 (相当于除法)"""5地板除2的n次幂"""res = 5 >> 1 # 2res = 5 >> 2 # 1res = 5 >> 3 # 0"""000 ... 101000 ... 010 => 2000 ... 001 => 1000 ... 000 => 0"""print(res)# ~ 按位非 (针对于补码进行操作,按位取反,包含每一位)""" -(n+1) """# res = ~22res = ~19print(res)"""原码:000 ... 10011反码:000 ... 10011补码:000 ... 10011补码:   000 ... 10011按位非: 111 ... 01100给你补码->原码补码:111 ... 01100反码:100 ... 10011原码:100 ... 10100 => -20"""res = ~-19print(res)"""原码:100 ... 10011反码:111 ... 01100补码:111 ... 01101补码:   111 ... 01101按位非: 000 ... 10010给你补码->原码 (因为是整数 ,原反补相同)000 ... 10010 => 18"""

3.2 小总结

总结:个别运算符:运算符优先级最高的: **运算符优先级最低的: =()可以提升优先级一元运算符 > 二元运算符 (优先级)一元运算符 : 同一时间,操作一个值 ~ - 二元运算符 : 同一时间,操作一个值 + - * / ....同一种类运算符:算数运算符 : 乘除 > 加减逻辑运算符 : () > not > and > or 位运算符   : ( << >> ) > & > ^ > |整体排序:算数运算符 > 位运算符 > 比较运算符 > 身份运算符 > 成员运算符 > 逻辑运算符赋值运算符用来做收尾"""res = 5+5 << 6 // 3 is 40 and False"""res = 10 << 2 is 40 and Falseres = 40 is 40 and Falseres = True and Falseres = False"""print(res)# 用括号提升下优先级res = (5+5) << (6//3) is 40 and False

4. 代码块_单项_双项分支

4.1 代码块

代码块:以冒号作为开始,用缩进来划分相同的作用域,这个整体是代码块

"""作用域: 作用的范围"""if 10 == 11:print(1)print(2)print(3)print(4)# 缩进:要么全都使用\t tab  要么全都是使用4个空格(也可以两个空格,标准的是四个),来表达相同的作用域,不能混再一起;"""if 10 == 10:print(1)    print(2)"""# 其他语言的写法 (了解)"""if(10 == 10){print(1)print(2)print(3)}"""

4.2 流程控制

"""流程: 代码执行的过程控制: 对代码执行过程中的把控三大结构:(1)顺序结构: 默认代码从上到下,依次执行(2)分支结构: 单项分支 双向分支 多项分支 巢状分支(3)循环结构: while / for"""

4.3 单项分支

"""if 条件表达式:code1code2当条件表达式成立,返回True,执行对应的代码块"""zhiye = "程序员"if zhiye == "程序员":print("拿高薪")print("钱多,话少,死的早")print("发量日渐稀少")

4.4 双项分支

"""if 条件表达式:code1  ..else:code2 ... 如果条件表达式成立,返回True ,执行if这个区间的代码块如果条件表达式不成立,返回False,执行else这个区间的代码块if   分支的代码块也叫做真区间else 分支的代码块也叫做假区间"""zhiye = "强盗"zhiye = "律师"if zhiye == "强盗":print("打他")print("骂他")print("喂他辣椒水")else:print("给你一朵红花")# input 等待用户输入字符串 (注意:结果一定是字符串)"""name = input("你好~ 你妈贵姓~")print(name , type(name))"""# ### 模拟网站登录 # 如果admin = wangwen  密码:password = 111 显示登录成功,否则显示登录失败# admin = "wangwen"# password = "111"admin = input("请输入您的账号:")password =  input("请输入您的密码:")if admin == "wangwen" and password == "111":print("登录成功")else:print("登录失败")

5. 小作业

1.99//4  ,  99%4 ,  -99 %4  ,  -99 %-4值是多少2.成员和身份运算符如何使用3.逻辑运算符优先级?逻辑短路在什么情况下发生?4.优先级最高和最低的运算符是?5.左移右移后的值如何计算?按位非的公式?6.~(-25) ~25 推到一下过程7.res = 17>15 or 78<11 or 7 and 8 and not True is True  res=?8.计算表达式的值    1).6 or 2 > 1          2).3 or 2 > 1          3).0 or 5 > 4          4).5 < 4 or 3              5).2 > 1 or 6          6).3 and 2 > 1         7).0 and 3 > 1        8).2 > 1 and 3        9).3 > 1 and 0        10).3 > 1 and 2 or 2 < 3 and 3 and 4 or 3 > 2    11)not 2 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 69.提示用户输入 "如何在dnf中变得更强?". 如果输入的是充钱,打印"马化腾爱你" ,反之输出,"你想一想,不充钱怎么可能变得更强"

到此,相信大家对“Python全栈的运算符有哪些”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯