【python百炼成魔】python运算符的使用与输入输出函数
文章目录
- 前言
- 一. python 运算符
- 1.1 算术运算符
- 1.2 .赋值运算符
- 1.3 比较运算符
- 1.4. 布尔运算符
- 二. 输入和输出函数
- 2.1 print函数
- 2.1.1 help函数查看帮助文档
- 2.1.2 print的格式化输出
- 2.2 format函数
- 2.3 input数据接收函数
- 写在最后
前言
Python 中的运算符主要分为算术运算符、比较(关系)运算符、赋值运算符、逻辑运算符、位运算符、成员运算符和身份运算符共 7 大类,运算符之间也是由优先级的,下面我们就来进行具体介绍。

一. python 运算符
1.1 算术运算符
我们从小学到现在一直在学的数学,基本上就是加减乘除,次方,取余,整除等等, 在python中叫算术运算符
代码案例:
print(1+1) #加法运算
print(1-1) #减法运算
print(2*2) #乘法运算
print(4/2) #除法运算
print(15//2) #整除运算
print(15%2) #取余运算
print(2**2) #表示2的2次方
print(2**3) #2*2*2 表示2的三次方
结果:
2 0 4 2.0 7 1 4 8
除了正数,有时候我们也会遇到负数的整除及去余运算
正负整除及取余运算
print(9//4) # 2
print(-9//-4) # 2
print(9//-4) # -3
print(-9//4) # -3
print(9%-4) # -3
print(-9%4) # 3
1.2 .赋值运算符
赋值运算符,其实就还是把数值赋值给一个变量,然后对变量进行运算,执行顺序是从右到左,比如a=4,表示把4赋值为变量a
a=3+4
print(a) ## 结果=7
赋值又分为很多种:比如链式赋值,参数赋值,解包赋值,交换变量赋值,我们依次来看一下:
a) 链式赋值
a=b=c=30
print(a,id(a))
print(b,id(b))
print(c,id(c))
结果:
30 140732618512960
30 140732618512960
30 140732618512960
注意: 这里并没有对a b c 三个数值分别赋值,而是用a=b=c=30这种链式赋值的方式来赋值。
b) 参数赋值
a=50
a+=30 # a+30 赋值给a =80
print(a)
## 此处打印结果可以看到a=80
a-=10
print(a) # 此处结果为70a*=2
print(a) #此处结果为140a/=3
print(a) #此处结果为46.66666a%=2
print(a) 此处结果为0.66666643
c) 解包赋值
a,b,c=20,30,40
print(a,b,c)
注意: 左右的值必须是对应的
d) 交换两个变量
a,b=10,20
print('交换前的变量',a,b)
a,b=b,a
print('交换后的变量',a,b)

1.3 比较运算符
在任何一门编程中,都会涉及到大小的比较,具体比较关系运算符的内容如下表:
| 比较运算符 | 含义 |
|---|---|
| > | 大于 |
| <= | 小于等于 |
| >= | 大于等于 |
| == | 等于 |
| != | 不等于 |
在比较运算符中,如果结果为真,运算后返回为true,如果结果为假,返回为False
a,b=10,20
print('a>b吗?',a>b) #False
print('a<b吗' ,a<b) #True
print('a<=b吗', a<=b)
print('a>=b吗',a>=b)
print('a==b吗' ,a==b)
print('a!=b吗' ,a!=b)
答案:

一个变量一般由三部分组成: 标识,类型,值,==比较的是值,
如果想要比较对象的标识怎么比较呢?
答案是用 is,我们来看下面的案例:
a,b=10,10
print(a==b) #true 说明 a和b 的值相等
print(a is b)#true 说明 a和b的ID标识 相等
c,b=8,10
print(c is b) ## 这里的结果为是False
这里返回的结果,比如True或者False,统称为布尔运算符,那什么是布尔运算符呢,他们之间又是怎么运算的呢?
1.4. 布尔运算符
来了,它来了,布尔运算符向我们走来了!
我们看看布尔运算符的布尔值之间的运算,布尔运算符图表:
布尔值之间的运算使用的是and or not 这三个值:
我们先来看代码:
a,b=1,2
#当两个运算数都为True时,结果才为True
print('---------and----------')
print(a==1 and b==2)
print(a==1 and b<2)
print(a!=1 and b!=2)
print(a!=1 and b==2)## or 只有一个运算符为True,结果就为True
print('--------or------------')
print(a==1 or b==2)
print(a==1 or b<2)
print(a!=1 or b!=2)
print(a!=1 or b==2)## not 如果运算符为true,结果为False
print("-----------not-------")
f1=True
f2=False
print(not f1)
print(not f2)print("----------not in---------")s='hellowrold'
print('w' in s)
print('w' not in s )
输出结果:
---------and----------
True
False
False
False--------or------------
True
True
False
True
-----------not-------
False
True
----------not in---------
True
False
总结下来,有三个点:
- and 运算符, 需要左右都为True,它最终的结果才会为True,否则都为False
- or 运算符, 左右至少需要一个为True,最终的结果才为True
- not 运算符是一个取反的过程,原值为True,结果就为False
二. 输入和输出函数
2.1 print函数
这两天文章经常用到两个函数,一个是print,另一个是input。这两个函数该如何用呢?
提到怎么用就想起帮助,那python中是否也有帮助函数呢?
答案是有的, 用内置函数 help, 这个函数可以查看其他函数的使用文档。
2.1.1 help函数查看帮助文档
比如我们要查看print函数的使用:
help(print)
输出结果:
print(...)print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)Prints the values to a stream, or to sys.stdout by default.Optional keyword arguments:file: a file-like object (stream); defaults to the current sys.stdout.sep: string inserted between values, default a space.end: string appended after the last value, default a newline.flush: whether to forcibly flush the stream.
print(value, …, sep=’ ‘, end=’\n’, file=sys.stdout, flush=False) 这个就是print函数的使用方法:
我们来看看上面的print使用方法中各个参数的介绍:
- value 表示要输出的数据,可以为多个,用逗号隔开。
- sep表示输出多个数据时候用的分割符
- end 表示输出一行末尾的符号
- file表示输出的位置,默认是控制台,亦可以设置位具体的文件
- flush 是否清除数据流缓冲区,默认为False
编写个代码进行测试:
a=b=c=d=10
print(a,"全",b,"美",sep="#")
print("沐风晓月",c)
执行结果:

2.1.2 print的格式化输出
格式化输出的意思就是按照你想要的格式进行打印。
我们常见的几个格式化字符,如下:
| 格式化字符 | 含义 |
|---|---|
| %d | 整数输出 |
| %f | 浮点数输出 |
| %x | 十六进制输出 |
| %s | 字符串输出 |
我们来看一个案例:
name="沐风晓月"
age=19
score=100
print("我是%s,今年 %d 岁了,我考试成绩是 %d分 " %(name,age,score))
输出结果:

这里需要注意的是: 字符串对应的是 %s ,数字对应的是 %d。
2.2 format函数
上面我们学print的时候会使用%来进行格式化输出,但在更多情况下,我们也可以用format函数,在使用这个函数的时候,我们就不用%占位了,而是使用 {} 占位
print("我是{},今年 {} 岁了,我考试成绩是{}分 " format(name,age,score))
是不是像极了完形填空。
2.3 input数据接收函数
我们再使用linux的时候,经常用到read -p 来接收用户输入,而python当中我们用input来接收用户的输入。
我们来看代码案例:
name=input("请输入你的用户名:")
passwd = input("请输入你的密码:")print("你输入的姓名为{},你输入的密码为{}".format(name,passwd))
执行结果:

写在最后
python的语法相对简单,我们今天主要探讨的python的运算符和输入输出函数,如果对文章感兴趣,欢迎点赞收藏。
✨原创不易,还希望各位大佬支持一下\textcolor{blue}{原创不易,还希望各位大佬支持一下}原创不易,还希望各位大佬支持一下
👍 点赞,你的认可是我创作的动力!\textcolor{green}{点赞,你的认可是我创作的动力!}点赞,你的认可是我创作的动力!
⭐️ 收藏,你的青睐是我努力的方向!\textcolor{green}{收藏,你的青睐是我努力的方向!}收藏,你的青睐是我努力的方向!
✏️ 评论,你的意见是我进步的财富!\textcolor{green}{评论,你的意见是我进步的财富!}评论,你的意见是我进步的财富!
相关文章:
【python百炼成魔】python运算符的使用与输入输出函数
文章目录前言一. python 运算符1.1 算术运算符1.2 .赋值运算符1.3 比较运算符1.4. 布尔运算符二. 输入和输出函数2.1 print函数2.1.1 help函数查看帮助文档2.1.2 print的格式化输出2.2 format函数2.3 input数据接收函数写在最后前言 Python 中的运算符主要分为算术运算符、比较…...
uniapp实现app检查更新与升级-uni-upgrade-center详解
app检查更新与升级 参考链接: 升级中心uni-upgrade-center - App uni-admin h5 api App资源在线升级更新 uni-app使用plus注意事项 关于在线升级(WGT)的几个疑问 什么是升级中心uni-upgrade-center uniapp官方开发的App版本更新的插件&#…...
公司项目引入这种方式,开发应用真是又快又准!
试想一下,你开足马力提了一串需求,给开发精英团队也好,给外包也行,都要等个半年甚至更久才会给到你一个满意的产品,你是否还有动力? 这还不止,业务越来越复杂,最初的需求也在随着着…...
virtuoso数据库介绍
在国内,对海量 RDF 数据的管理有着迫切的实际需求; RDF:Resource Description Framework,是一个使用XML语法来表示的资料模型(Data model),用来描述Web资源的特性,及资源与资源之间的关系。 Virtuoso可以对…...
linux高级命令之编辑器 vim
编辑器 vim学习目标能够说出vim的三种工作模式能够说出vim对应复制和粘贴命令1. vim 的介绍vim 是一款功能强大的文本编辑器,也是早年 Vi 编辑器的加强版,它的最大特色就是使用命令进行编辑,完全脱离了鼠标的操作。2. vim 的工作模式命令模式…...
分布式光伏储能系统的优化配置方法(Matlab代码实现)
💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…...
Grafana loki部署及使用及问题处理方法(超详细)
一、下载软件 因为我是本地测试,所以用的windows版本的包,loki服务window版本的安装包下载地址:下载地址,选择 promtail-windows版本的安装包下载地址:下载地址 Grafana服务的下载地址:下载地址 二、配置…...
vue项目如何使用 SheetJS(xlsx)插件?
简言 SheetJS是一款非常好用的前端处理表格文件的工具。它分社区版和专业版,我们今天来介绍如何简单使用它的社区版。 SheetJS社区版官网 介绍 你应该打开官网浏览具体使用详情。 安装 打开官网在如上图的Installation板块中可以找到各种运行模块的使用方式。 …...
项目管理工具dhtmlxGantt甘特图入门教程(九):支持哪些数据格式(上篇)
dhtmlxGantt是用于跨浏览器和跨平台应用程序的功能齐全的Gantt图表,可满足项目管理控件应用程序的所有需求,是最完善的甘特图图表库这篇文章给大家讲解 dhtmlxGantt 的数据属性和数据库结构。 DhtmlxGantt正版试用下载(qun:764…...
iView Table合并单元格(行、列)
行/列合并设置属性 span-method 可以指定合并行或列的算法。该方法参数为 4 个对象:row: 当前行column: 当前列rowIndex: 当前行索引columnIndex: 当前列索引该函数可以返回一个包含两个元素的数组,第一个元素代表 rowspan,第二个元素代表 co…...
如何用P6软件编制项目进度计划(下)
卷首语 根据项目合同包含的工作范围进行工作分解(WBS),按照业主的要求及项目管理的需要,考虑不同阶段和层次,适时编制出项目管理所要求的的各级进度计划。 4搜集项目计划与进度控制相关信息 搜集与项目计划编制与进…...
环境配置完整指导——Installing C++ Distributions of PyTorch
目录一、前言二、动手开始做1. 安装cuda 11.42. 安装visual studio 2019 community3. 安装libtorch4. 安装mingw-w645. 配置环境变量6. 打开vscode开始写程序7. 运行程序8. 其他报错信息文章简介:这篇文章用于介绍在windows10 vscode中,跑通如下代码的全…...
深度学习——自注意力机制和位置编码(笔记)
1.自注意力: ①在深度学习中,经常使用卷积神经网络或者循环神经网络对序列进行编码 ②对于key,value和query,自注意力有一套自己的选法,因为key,value和query的值来自同一组输入。因此被称为自注意力或内部注意力 2…...
内网渗透(三十)之横向移动篇-利用远控工具向日葵横向移动
系列文章第一章节之基础知识篇 内网渗透(一)之基础知识-内网渗透介绍和概述 内网渗透(二)之基础知识-工作组介绍 内网渗透(三)之基础知识-域环境的介绍和优点 内网渗透(四)之基础知识-搭建域环境 内网渗透(五)之基础知识-Active Directory活动目录介绍和使用 内网渗透(六)之基…...
自动化测试中,该如何高效管理测试数据?
今晚在某个测试群,看到有人问了一个问题:把测试数据放配置文件读取和放文件通过函数调用读取有什么区别? 当时我下意识的这么回答:数据量越大,配置文件越臃肿,放在专门的数据文件(比如excel&am…...
Qt中项目A调用另一个项目B的方法汇总
在开发一个软件项目时候,当涉及到一个模块,已经有过类似的项目开发,为了避免重复开发,涉及到在该项目的工程中调用已开发的项目作为子项目,有很多种方法。 一、将项目编译成库文件然后进行调用 调用库文件通常有两种…...
【项目精选】基于Javaee的影视创作论坛的设计与实现(视频+论文+源码)
点击下载源码 基于Javaee的影视创作论坛的设计与实现主要用功能包括: 首页推荐、用户管理、影片管理、评论管理、 预告片管理、海报管理、公告管理、数据检索、用户注册与登录等等功能、统结构如下 (1)后台管理: 管理模块:管理员…...
深入【虚拟列表】动态高度、缓冲、异步加载... Vue实现
前言🎀 在前文中我们了解到: 1.在某种特殊场景下,我们需要将 大量数据 使用不分页的方式渲染到列表上,这种列表叫做长列表。 2.因为事件循环的机制,一次性大量的渲染耗时较长,并且渲染期间会阻塞页面交互…...
Windows 11 + WSL(ubuntu 20.04) + CLion(2022.3) 编译OpenJDK12
编译OpenJDK12 目录编译OpenJDK12前言一、下载OpenJDK源码二、编译OpenJDK参考https://openjdk.org/groups/build/doc/building.html1:安装编译所需的组件2:执行编译命令3:验证编译结果三、在Clion中调试OpenJDK源码1:Clion中配置…...
Freemarker 语法精粹
文章目录说明基本用法宏加载宏定义宏文件写法import和include区别内置方法注册全局共享变量处理空值和默认值获得hashmap的键值从map中拿对象遍历Map其它小技巧迁移事项参考说明 Freemarker 还存在我的一些老项目中,比起前端框架,自有它的简便之处&…...
PPT|230页| 制造集团企业供应链端到端的数字化解决方案:从需求到结算的全链路业务闭环构建
制造业采购供应链管理是企业运营的核心环节,供应链协同管理在供应链上下游企业之间建立紧密的合作关系,通过信息共享、资源整合、业务协同等方式,实现供应链的全面管理和优化,提高供应链的效率和透明度,降低供应链的成…...
FastAPI 教程:从入门到实践
FastAPI 是一个现代、快速(高性能)的 Web 框架,用于构建 API,支持 Python 3.6。它基于标准 Python 类型提示,易于学习且功能强大。以下是一个完整的 FastAPI 入门教程,涵盖从环境搭建到创建并运行一个简单的…...
聊聊 Pulsar:Producer 源码解析
一、前言 Apache Pulsar 是一个企业级的开源分布式消息传递平台,以其高性能、可扩展性和存储计算分离架构在消息队列和流处理领域独树一帜。在 Pulsar 的核心架构中,Producer(生产者) 是连接客户端应用与消息队列的第一步。生产者…...
【解密LSTM、GRU如何解决传统RNN梯度消失问题】
解密LSTM与GRU:如何让RNN变得更聪明? 在深度学习的世界里,循环神经网络(RNN)以其卓越的序列数据处理能力广泛应用于自然语言处理、时间序列预测等领域。然而,传统RNN存在的一个严重问题——梯度消失&#…...
1688商品列表API与其他数据源的对接思路
将1688商品列表API与其他数据源对接时,需结合业务场景设计数据流转链路,重点关注数据格式兼容性、接口调用频率控制及数据一致性维护。以下是具体对接思路及关键技术点: 一、核心对接场景与目标 商品数据同步 场景:将1688商品信息…...
全面解析各类VPN技术:GRE、IPsec、L2TP、SSL与MPLS VPN对比
目录 引言 VPN技术概述 GRE VPN 3.1 GRE封装结构 3.2 GRE的应用场景 GRE over IPsec 4.1 GRE over IPsec封装结构 4.2 为什么使用GRE over IPsec? IPsec VPN 5.1 IPsec传输模式(Transport Mode) 5.2 IPsec隧道模式(Tunne…...
学习STC51单片机32(芯片为STC89C52RCRC)OLED显示屏2
每日一言 今天的每一份坚持,都是在为未来积攒底气。 案例:OLED显示一个A 这边观察到一个点,怎么雪花了就是都是乱七八糟的占满了屏幕。。 解释 : 如果代码里信号切换太快(比如 SDA 刚变,SCL 立刻变&#…...
力扣-35.搜索插入位置
题目描述 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法。 class Solution {public int searchInsert(int[] nums, …...
微软PowerBI考试 PL300-在 Power BI 中清理、转换和加载数据
微软PowerBI考试 PL300-在 Power BI 中清理、转换和加载数据 Power Query 具有大量专门帮助您清理和准备数据以供分析的功能。 您将了解如何简化复杂模型、更改数据类型、重命名对象和透视数据。 您还将了解如何分析列,以便知晓哪些列包含有价值的数据,…...
Java编程之桥接模式
定义 桥接模式(Bridge Pattern)属于结构型设计模式,它的核心意图是将抽象部分与实现部分分离,使它们可以独立地变化。这种模式通过组合关系来替代继承关系,从而降低了抽象和实现这两个可变维度之间的耦合度。 用例子…...
