百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

Python运算符,python入门到精通「五」

off999 2024-10-07 12:13 28 浏览 0 评论

阅读目录

  • 写在前面
  • python运算符基础实例
  • python运算符优先级
  • Python表达式
  • 练习
  • 总结

前言

运算符用于执行程序代码运算,会针对一个以上操作数项目来进行运算。例如:2+3,其操作数是2和3,而运算符则是“+”。在计算器语言中运算符大致可以分为5种类型:算术运算符、连接运算符、关系运算符、赋值运算符和逻辑运算符。运算符也是计算机里比较好理解的人类语言之一,只要稍微懂点数学的,都能看懂算数运算符。在Python中常见的运算符有:+、-、*、/、**/<、>、!=、//、%、&、|、^、~、>>、<<、<=、>=、==、not、and、or。在接下来的博文中再一一介绍这些运算符的具体事例。

写在前面 python你不去认识它,可能没什么,一旦你认识了它,你就会爱上它

python运算符基础实例

代码正文&讲解:

# coding=utf-8

#两个数字相加

sumNumber=1+2

print(sumNumber) #输出结果:3


#两个字符串相加

sumString="Nice work"

print(sumString) #输出结果:Nice work


#两个数字相减

subNumber=2-1

print(subNumber) #输出结果:1


#两个数字相乘或者字符串重复

multiplicationNumber=2*3

print(multiplicationNumber) #输出结果:6

multiplicationString="hello"*2

print(multiplicationString) #输出结果:hellohello

#/---关于*号重复字符串之前的博客已经介绍过了---/


#两个数相除

divisionNumber=9/2

print(divisionNumber) #输出结果:4

divisionNumber=9.0/2

print(divisionNumber) #输出结果:4.5

divisionNumber=9/2.0

print(divisionNumber) #输出结果:4.5

#/---除数或被除数中有任意一个是小数的话,商也会保留小数,反之取整---/


#求幂运算

powerNumber=2**3 #相当于2的3次幂,就是2*2*2 关于幂运算大家应该在数学里都很熟悉了

print powerNumber #输出结果:8


#小于符号,返回值是bool值

lessThan=1<2

print(lessThan) #输出结果:True

lessThan=1<1

print(lessThan) #输出结果:False


#大于符号,返回值是bool值

moreThan=2>1

print(moreThan) #输出结果:True

moreThan=2>2

print(moreThan) #输出结果:False


#不等于符号 返回值是Bool值

notEqual=1!=2

print(notEqual) #输出结果:True

notEqual=1!=1

print(notEqual) #输出结果:False


#除法运算// 返回商的整数部分,抛弃余数

divisorNumber=10//3

print(divisorNumber) #输出结果:3


#除法运算% 返回商的余数部分,抛弃商

divisorNumber=10%3

print(divisorNumber) #输出结果:1

divisorNumber=10%1

print(divisorNumber) #输出结果:0 /--没有余数则返回0--/

divisorNumberx=10//3 #divisorNumberx是商的整数部分

divisorNumbery=10%3 #divisorNumbery是余数

divisorNumberz=3*divisorNumberx+divisorNumbery #divisorNumberz是除数乘以商的整数部分加上余数,得到的divisorNumberz的值就是被除数

print(divisorNumberz) #输出结果:10


#按位与运算&, 按位与是指一个数字转化为二进制,然后这些二进制的数按位来进行与运算

operationNumber=7&18

print operationNumber #输出结果:2

'''

这个有点绕,稍微多说下,如果对二进制不是太熟的朋友,可以打开电脑自带的计算器,按住win+q,输入"calculator"。

然后在打开的计算器设置成程序员模式, 就是View(查看)->>programmer(程序员).

然后我们将7转为二进制:111,自动补全8位:00000111,然后将18转为二进制补全8位后得到:00010010

最后将 00000111

跟 00010010 按位进行与运算,

/-

对与运算不熟的朋友可以看看百度百科的介绍,还是很详细的。

逻辑运算_百度百科

-/

得到结果:00000010

我们都知道10二进制→十进制=2,所以7跟18的按位与的结果是二进制10(十进制2)

'''


#按位或运算|, 按位或是指一个数字转化为二进制,然后这些二进制的数按位来进行或运算

operationNumber=7|18

print operationNumber #输出结果:23 #结题思路和按位与运算的一样,可以参考按位与运算


#按位异或

operationNumber=7^18

print operationNumber #输出结果:21 #结题思路和按位与运算的一样,可以参考按位与运算


#按位翻转 ~ 按位翻转公式: ~x= - (x+1)

operationNumber=~12 #~12=- (12+1) = -13

print operationNumber #输出结果:-13 #结题思路和按位与运算的一样,可以参考按位与运算


#左移<<

'''

比如18左移就是将他的二进制形式00100100左移,得到00100100(36)。

左移规律:左移一个单位相当于乘2,左移两个单位相当于乘以4,左移三个单位相当于乘以8,

即: 左移n个单位相当于乘以2的n次幂

'''

operationNumber=12<<1

print operationNumber #输出结果:24

operationNumber=3<<3

print operationNumber #输出结果:24


#右移>>

'''

理解左移以后,右移就很好理解了。

右移是左移的逆运算,将对应的二进制数向右移动。

右移规律:右移一个单位相当于除以2,右移两个单位相当于除以4,右移三个单位相当于除以8,

即: 右移n个单位相当于除以2的n次幂

'''

operationNumber=12>>1

print operationNumber #输出结果:6

operationNumber=12>>2

print operationNumber #输出结果:3


#小于等于<= 比较运算,小于或等于返回一个bool值

operationNumber=3<=3

print operationNumber #输出结果:True

operationNumber=3<=2

print operationNumber #输出结果:False


#大于等于>= 比较运算,大于或等于返回一个bool值

operationNumber=2>=3

print operationNumber #输出结果:False

operationNumber=3>=2

print operationNumber #输出结果:True


#比较两个对象是否相等==

operationNumber=3==2

print operationNumber #输出结果:False

operationString="hi"=="hi"

print operationString #输出结果:True


#逻辑非 not

operationx=True

operationy=not operationx

print operationy #输出结果:False

operationz=False

print not operationz #输出结果:True


#逻辑与 and

'''

True and True = True

True and False = False

False and True = False

False and False = False

'''

print True and True #输出结果:True


#逻辑或 or

'''

True or True = True

True or False = True

False or True = True

False or False = False

'''

print False or False #输出结果:False 这里的这些运算可能按位运算会感觉比较麻烦,不过没有关系,大家用多了就熟练了。


python运算符优先级

1.python运算符优先级排行榜:

在一个表达式中可能包含多个有不同运算符连接起来的、具有不同数据类型的数据对象;由于表达式有多种运算,不同的运算顺序可能得出不同结果甚至出现错误运算错误,因为当表达式中含多种运算时,必须按一定顺序进行结合,才能保证运算的合理性和结果的正确性、唯一性。 优先级从上到下依次递减,最上面具有最高的优先级,逗号操作符具有最低的优先级。表达式的结合次序取决于表达式中各种运算符的优先级。优先级高的运算符先结合,优先级低的运算符后结合,同一行中的运算符的优先级相同。 代码正文&讲解:

# coding=utf-8

#优先级的简单实例

priorityNumber=2+1*4

print priorityNumber #输出结果:6


#优先级使用实例

#以下优先级排名从高到低,在同一运算中,先执行优先级高的再执行低的,以此类推。


#Top 1:函数调用、寻址、下标


#Top 2:幂运算**

priorityNumber=2*2**3

print priorityNumber #输出结果:16


#Top 3:翻转运算~


#Top 4:正负号

print 1+2*-3 #输出结果:-5


#Top 5:*、/、%

print 2+1*2/5 #输出结果:2


#Top 6:+、-

print 3<<2+1 #输出结果:24


#Top 7:<<、>>


#Top 8:按位&、^、|


#Top 9:比较运算符

priority=2*3+2<=2+1*7

print priority #输出结果:True


#Top 10:逻辑的not and or


#Top 11:lambda表达式


2.python运算符优先级使用规律:

代码正文&讲解:

#python优先级使用规律

#1、一般情况下是左结合的

#ps:在没有更高优先级运算符,即只有同级运算符时时从左到右结合

print 1+2+3*5+5 #输出结果:23


#2、出现赋值的时候一般是右结合

#ps:在有赋值运算符时,是右结合,即先算出1+2的值以后再赋值给priority

priority=1+2

print priority #输出结果:23


2.python运算符优先级大招:

大家可能会觉得Python运算符的优先级不容易记忆,而且有时候还容易混淆。在实际运用中根据业务逻辑可能我们知道要先做什么再做什么,但是却忘记Python运算符的优先级了,该怎么办?这里教大家一个杀手锏,绝对百试不爽。 代码正文&讲解:

#python运算符优先级大招

'''比如说有这个需求:

去商店买水,买3瓶水,每瓶5块,再买一个绿箭(假设绿箭3块),总共多少钱?

这个简单的应用非常明显,需要先用乘法再用加法,如果这里你忘记了乘法和加法的优先级,可以这样:

'''

print (3*5)+3 #输出结果:18


#ps: 这只是一个简单的例子,只是为了告诉大家实际应用中实在不行咱就放大招。有备无患。


Python表达式

Python表达式基本概念:

python中,值、变量和运算符共同组成的整体称为表达式 代码正文&讲解:

#python表达式

#1 字符串表达式

"Hello"


#2 计算表达式

2+3


#3 赋值表达式

first=0


#4 变量表达式

first


#5 值表达式

3


#等等


练习

  • 弄清楚与或非二进制运算
  • 熟记python运算符优先级关系
  • 去商店买水,买3瓶水,每瓶5块,赶上双11,商店促销,现在每瓶降价1.5块,总共多少钱。(需要用放大招和不放大招两种方式)


总结

关于python的运算符大家如果有什么疑问或者补充的可以踊跃发言,我们一起探讨。

多说一句,很多人学Python过程中会遇到各种烦恼问题,没有人解答容易放弃。小编是一名python开发工程师,这里有我自己整理了一套最新的python系统学习教程,包括从基础的python脚本到web开发、爬虫、数据分析、数据可视化、机器学习等。想要这些资料的可以关注小编,并在后台私信小编:“01”即可领取。

相关推荐

阿里云国际站ECS:阿里云ECS如何提高网站的访问速度?

TG:@yunlaoda360引言:速度即体验,速度即业务在当今数字化的世界中,网站的访问速度已成为决定用户体验、用户留存乃至业务转化率的关键因素。页面加载每延迟一秒,都可能导致用户流失和收入损失。对...

高流量大并发Linux TCP性能调优_linux 高并发网络编程

其实主要是手里面的跑openvpn服务器。因为并没有明文禁p2p(哎……想想那么多流量好像不跑点p2p也跑不完),所以造成有的时候如果有比较多人跑BT的话,会造成VPN速度急剧下降。本文所面对的情况为...

性能测试100集(12)性能指标资源使用率

在性能测试中,资源使用率是评估系统硬件效率的关键指标,主要包括以下四类:#性能测试##性能压测策略##软件测试#1.CPU使用率定义:CPU处理任务的时间占比,计算公式为1-空闲时间/总...

Linux 服务器常见的性能调优_linux高性能服务端编程

一、Linux服务器性能调优第一步——先搞懂“看什么”很多人刚接触Linux性能调优时,总想着直接改配置,其实第一步该是“看清楚问题”。就像医生看病要先听诊,调优前得先知道服务器“哪里...

Nginx性能优化实战:手把手教你提升10倍性能!

关注△mikechen△,十余年BAT架构经验倾囊相授!Nginx是大型架构而核心,下面我重点详解Nginx性能@mikechen文章来源:mikechen.cc1.worker_processe...

高并发场景下,Spring Cloud Gateway如何抗住百万QPS?

关注△mikechen△,十余年BAT架构经验倾囊相授!大家好,我是mikechen。高并发场景下网关作为流量的入口非常重要,下面我重点详解SpringCloudGateway如何抗住百万性能@m...

Kubernetes 高并发处理实战(可落地案例 + 源码)

目标场景:对外提供HTTPAPI的微服务在短时间内收到大量请求(例如每秒数千至数万RPS),要求系统可弹性扩容、限流降级、缓存减压、稳定运行并能自动恢复。总体思路(多层防护):边缘层:云LB...

高并发场景下,Nginx如何扛住千万级请求?

Nginx是大型架构的必备中间件,下面我重点详解Nginx如何实现高并发@mikechen文章来源:mikechen.cc事件驱动模型Nginx采用事件驱动模型,这是Nginx高并发性能的基石。传统...

Spring Boot+Vue全栈开发实战,中文版高清PDF资源

SpringBoot+Vue全栈开发实战,中文高清PDF资源,需要的可以私我:)SpringBoot致力于简化开发配置并为企业级开发提供一系列非业务性功能,而Vue则采用数据驱动视图的方式将程序...

Docker-基础操作_docker基础实战教程二

一、镜像1、从仓库获取镜像搜索镜像:dockersearchimage_name搜索结果过滤:是否官方:dockersearch--filter="is-offical=true...

你有空吗?跟我一起搭个服务器好不好?

来人人都是产品经理【起点学院】,BAT实战派产品总监手把手系统带你学产品、学运营。昨天闲的没事的时候,随手翻了翻写过的文章,发现一个很严重的问题。就是大多数时间我都在滔滔不绝的讲理论,却很少有涉及动手...

部署你自己的 SaaS_saas如何部署

部署你自己的VPNOpenVPN——功能齐全的开源VPN解决方案。(DigitalOcean教程)dockovpn.io—无状态OpenVPNdockerized服务器,不需要持久存储。...

Docker Compose_dockercompose安装

DockerCompose概述DockerCompose是一个用来定义和管理多容器应用的工具,通过一个docker-compose.yml文件,用YAML格式描述服务、网络、卷等内容,...

京东T7架构师推出的电子版SpringBoot,从构建小系统到架构大系统

前言:Java的各种开发框架发展了很多年,影响了一代又一代的程序员,现在无论是程序员,还是架构师,使用这些开发框架都面临着两方面的挑战。一方面是要快速开发出系统,这就要求使用的开发框架尽量简单,无论...

Kubernetes (k8s) 入门学习指南_k8s kubeproxy

Kubernetes(k8s)入门学习指南一、什么是Kubernetes?为什么需要它?Kubernetes(k8s)是一个开源的容器编排系统,用于自动化部署、扩展和管理容器化应用程序。它...

取消回复欢迎 发表评论: