当前位置: 首页 > news >正文

【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检查更新与升级 参考链接&#xff1a; 升级中心uni-upgrade-center - App uni-admin h5 api App资源在线升级更新 uni-app使用plus注意事项 关于在线升级&#xff08;WGT&#xff09;的几个疑问 什么是升级中心uni-upgrade-center uniapp官方开发的App版本更新的插件&#…...

公司项目引入这种方式,开发应用真是又快又准!

试想一下&#xff0c;你开足马力提了一串需求&#xff0c;给开发精英团队也好&#xff0c;给外包也行&#xff0c;都要等个半年甚至更久才会给到你一个满意的产品&#xff0c;你是否还有动力&#xff1f; 这还不止&#xff0c;业务越来越复杂&#xff0c;最初的需求也在随着着…...

virtuoso数据库介绍

在国内&#xff0c;对海量 RDF 数据的管理有着迫切的实际需求&#xff1b; RDF&#xff1a;Resource Description Framework&#xff0c;是一个使用XML语法来表示的资料模型(Data model)&#xff0c;用来描述Web资源的特性&#xff0c;及资源与资源之间的关系。 Virtuoso可以对…...

linux高级命令之编辑器 vim

编辑器 vim学习目标能够说出vim的三种工作模式能够说出vim对应复制和粘贴命令1. vim 的介绍vim 是一款功能强大的文本编辑器&#xff0c;也是早年 Vi 编辑器的加强版&#xff0c;它的最大特色就是使用命令进行编辑&#xff0c;完全脱离了鼠标的操作。2. vim 的工作模式命令模式…...

分布式光伏储能系统的优化配置方法(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…...

Grafana loki部署及使用及问题处理方法(超详细)

一、下载软件 因为我是本地测试&#xff0c;所以用的windows版本的包&#xff0c;loki服务window版本的安装包下载地址&#xff1a;下载地址&#xff0c;选择 promtail-windows版本的安装包下载地址&#xff1a;下载地址 Grafana服务的下载地址&#xff1a;下载地址 二、配置…...

vue项目如何使用 SheetJS(xlsx)插件?

简言 SheetJS是一款非常好用的前端处理表格文件的工具。它分社区版和专业版&#xff0c;我们今天来介绍如何简单使用它的社区版。 SheetJS社区版官网 介绍 你应该打开官网浏览具体使用详情。 安装 打开官网在如上图的Installation板块中可以找到各种运行模块的使用方式。 …...

项目管理工具dhtmlxGantt甘特图入门教程(九):支持哪些数据格式(上篇)

dhtmlxGantt是用于跨浏览器和跨平台应用程序的功能齐全的Gantt图表&#xff0c;可满足项目管理控件应用程序的所有需求&#xff0c;是最完善的甘特图图表库这篇文章给大家讲解 dhtmlxGantt 的数据属性和数据库结构。 DhtmlxGantt正版试用下载&#xff08;qun&#xff1a;764…...

iView Table合并单元格(行、列)

行/列合并设置属性 span-method 可以指定合并行或列的算法。该方法参数为 4 个对象&#xff1a;row: 当前行column: 当前列rowIndex: 当前行索引columnIndex: 当前列索引该函数可以返回一个包含两个元素的数组&#xff0c;第一个元素代表 rowspan&#xff0c;第二个元素代表 co…...

如何用P6软件编制项目进度计划(下)

卷首语 根据项目合同包含的工作范围进行工作分解&#xff08;WBS&#xff09;&#xff0c;按照业主的要求及项目管理的需要&#xff0c;考虑不同阶段和层次&#xff0c;适时编制出项目管理所要求的的各级进度计划。 4搜集项目计划与进度控制相关信息 搜集与项目计划编制与进…...

环境配置完整指导——Installing C++ Distributions of PyTorch

目录一、前言二、动手开始做1. 安装cuda 11.42. 安装visual studio 2019 community3. 安装libtorch4. 安装mingw-w645. 配置环境变量6. 打开vscode开始写程序7. 运行程序8. 其他报错信息文章简介&#xff1a;这篇文章用于介绍在windows10 vscode中&#xff0c;跑通如下代码的全…...

深度学习——自注意力机制和位置编码(笔记)

1.自注意力&#xff1a; ①在深度学习中&#xff0c;经常使用卷积神经网络或者循环神经网络对序列进行编码 ②对于key,value和query&#xff0c;自注意力有一套自己的选法&#xff0c;因为key&#xff0c;value和query的值来自同一组输入。因此被称为自注意力或内部注意力 2…...

内网渗透(三十)之横向移动篇-利用远控工具向日葵横向移动

系列文章第一章节之基础知识篇 内网渗透(一)之基础知识-内网渗透介绍和概述 内网渗透(二)之基础知识-工作组介绍 内网渗透(三)之基础知识-域环境的介绍和优点 内网渗透(四)之基础知识-搭建域环境 内网渗透(五)之基础知识-Active Directory活动目录介绍和使用 内网渗透(六)之基…...

自动化测试中,该如何高效管理测试数据?

今晚在某个测试群&#xff0c;看到有人问了一个问题&#xff1a;把测试数据放配置文件读取和放文件通过函数调用读取有什么区别&#xff1f; 当时我下意识的这么回答&#xff1a;数据量越大&#xff0c;配置文件越臃肿&#xff0c;放在专门的数据文件&#xff08;比如excel&am…...

Qt中项目A调用另一个项目B的方法汇总

在开发一个软件项目时候&#xff0c;当涉及到一个模块&#xff0c;已经有过类似的项目开发&#xff0c;为了避免重复开发&#xff0c;涉及到在该项目的工程中调用已开发的项目作为子项目&#xff0c;有很多种方法。 一、将项目编译成库文件然后进行调用 调用库文件通常有两种…...

【项目精选】基于Javaee的影视创作论坛的设计与实现(视频+论文+源码)

点击下载源码 基于Javaee的影视创作论坛的设计与实现主要用功能包括&#xff1a; 首页推荐、用户管理、影片管理、评论管理、 预告片管理、海报管理、公告管理、数据检索、用户注册与登录等等功能、统结构如下 &#xff08;1&#xff09;后台管理: 管理模块&#xff1a;管理员…...

深入【虚拟列表】动态高度、缓冲、异步加载... Vue实现

前言&#x1f380; 在前文中我们了解到&#xff1a; 1.在某种特殊场景下&#xff0c;我们需要将 大量数据 使用不分页的方式渲染到列表上&#xff0c;这种列表叫做长列表。 2.因为事件循环的机制&#xff0c;一次性大量的渲染耗时较长&#xff0c;并且渲染期间会阻塞页面交互…...

Windows 11 + WSL(ubuntu 20.04) + CLion(2022.3) 编译OpenJDK12

编译OpenJDK12 目录编译OpenJDK12前言一、下载OpenJDK源码二、编译OpenJDK参考https://openjdk.org/groups/build/doc/building.html1&#xff1a;安装编译所需的组件2&#xff1a;执行编译命令3&#xff1a;验证编译结果三、在Clion中调试OpenJDK源码1&#xff1a;Clion中配置…...

Freemarker 语法精粹

文章目录说明基本用法宏加载宏定义宏文件写法import和include区别内置方法注册全局共享变量处理空值和默认值获得hashmap的键值从map中拿对象遍历Map其它小技巧迁移事项参考说明 Freemarker 还存在我的一些老项目中&#xff0c;比起前端框架&#xff0c;自有它的简便之处&…...

利用ngx_stream_return_module构建简易 TCP/UDP 响应网关

一、模块概述 ngx_stream_return_module 提供了一个极简的指令&#xff1a; return <value>;在收到客户端连接后&#xff0c;立即将 <value> 写回并关闭连接。<value> 支持内嵌文本和内置变量&#xff08;如 $time_iso8601、$remote_addr 等&#xff09;&a…...

51c自动驾驶~合集58

我自己的原文哦~ https://blog.51cto.com/whaosoft/13967107 #CCA-Attention 全局池化局部保留&#xff0c;CCA-Attention为LLM长文本建模带来突破性进展 琶洲实验室、华南理工大学联合推出关键上下文感知注意力机制&#xff08;CCA-Attention&#xff09;&#xff0c;…...

脑机新手指南(八):OpenBCI_GUI:从环境搭建到数据可视化(下)

一、数据处理与分析实战 &#xff08;一&#xff09;实时滤波与参数调整 基础滤波操作 60Hz 工频滤波&#xff1a;勾选界面右侧 “60Hz” 复选框&#xff0c;可有效抑制电网干扰&#xff08;适用于北美地区&#xff0c;欧洲用户可调整为 50Hz&#xff09;。 平滑处理&…...

【WiFi帧结构】

文章目录 帧结构MAC头部管理帧 帧结构 Wi-Fi的帧分为三部分组成&#xff1a;MAC头部frame bodyFCS&#xff0c;其中MAC是固定格式的&#xff0c;frame body是可变长度。 MAC头部有frame control&#xff0c;duration&#xff0c;address1&#xff0c;address2&#xff0c;addre…...

vue3 定时器-定义全局方法 vue+ts

1.创建ts文件 路径&#xff1a;src/utils/timer.ts 完整代码&#xff1a; import { onUnmounted } from vuetype TimerCallback (...args: any[]) > voidexport function useGlobalTimer() {const timers: Map<number, NodeJS.Timeout> new Map()// 创建定时器con…...

【配置 YOLOX 用于按目录分类的图片数据集】

现在的图标点选越来越多&#xff0c;如何一步解决&#xff0c;采用 YOLOX 目标检测模式则可以轻松解决 要在 YOLOX 中使用按目录分类的图片数据集&#xff08;每个目录代表一个类别&#xff0c;目录下是该类别的所有图片&#xff09;&#xff0c;你需要进行以下配置步骤&#x…...

Java多线程实现之Thread类深度解析

Java多线程实现之Thread类深度解析 一、多线程基础概念1.1 什么是线程1.2 多线程的优势1.3 Java多线程模型 二、Thread类的基本结构与构造函数2.1 Thread类的继承关系2.2 构造函数 三、创建和启动线程3.1 继承Thread类创建线程3.2 实现Runnable接口创建线程 四、Thread类的核心…...

使用Spring AI和MCP协议构建图片搜索服务

目录 使用Spring AI和MCP协议构建图片搜索服务 引言 技术栈概览 项目架构设计 架构图 服务端开发 1. 创建Spring Boot项目 2. 实现图片搜索工具 3. 配置传输模式 Stdio模式&#xff08;本地调用&#xff09; SSE模式&#xff08;远程调用&#xff09; 4. 注册工具提…...

实战设计模式之模板方法模式

概述 模板方法模式定义了一个操作中的算法骨架&#xff0c;并将某些步骤延迟到子类中实现。模板方法使得子类可以在不改变算法结构的前提下&#xff0c;重新定义算法中的某些步骤。简单来说&#xff0c;就是在一个方法中定义了要执行的步骤顺序或算法框架&#xff0c;但允许子类…...

内窥镜检查中基于提示的息肉分割|文献速递-深度学习医疗AI最新文献

Title 题目 Prompt-based polyp segmentation during endoscopy 内窥镜检查中基于提示的息肉分割 01 文献速递介绍 以下是对这段英文内容的中文翻译&#xff1a; ### 胃肠道癌症的发病率呈上升趋势&#xff0c;且有年轻化倾向&#xff08;Bray等人&#xff0c;2018&#x…...