【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 还存在我的一些老项目中,比起前端框架,自有它的简便之处&…...
使用Benchto框架对Trino进行SQL性能对比测试
有时需要对魔改源码前后的不同版本Trino引擎进行性能对比测试,提前发现改造前后是否有性能变差或变好的现象,避免影响数据业务的日常查询任务性能。而Trino社区正好提供了一个性能测试对比框架:GitHub - trinodb/benchto: Framework for runn…...
Redis之哨兵模式
什么是哨兵模式? Sentinel(哨兵)是用于监控Redis集群中Master状态的工具,是Redis高可用解决方案,哨兵可以监视一个或者多个redis master服务,以及这些master服务的所有从服务。 某个master服务宕机后,会把这个master下…...
Selenium自动化测试Python二:WebDriver基础
欢迎阅读WebDriver基础讲义。本篇讲义将会重点介绍Selenium WebDriver的环境搭建和基本使用方法。 WebDriver环境搭建 Selenium WebDriver 又称为 Selenium2。 Selenium 1 WebDriver Selenium 2 WebDriver是主流Web应用自动化测试框架,具有清晰面向对象 API&…...
蓝桥杯模块学习17——AT24C02存储器(深夜学习——单片机)
一、硬件电路:1、引脚功能:(1)A0-A2:决定不同设备的地址码:(2)WP:写保护二、通讯方式(IIC协议)通讯方式与PCF8591相同,可参考以下文章…...
netty
Netty的介绍Netty是异步的(指定回调处理)、基于事件驱动的网络应用框架,用于快速开发高性能、高可靠性的网络IO程序。Netty本质是一个NIO框架,适用于服务器通讯相关的多种应用场景,分布式节点远程调用中Netty往往作为R…...
Django项目部署-uWSGI
Django项目部署-uWSGIDjango运维部署框架整体部署架构web服务器与web应用服务器的区别部署环境准备安装python3安装mariadb安装Django和相关模块Django托管服务器uWSGI使用uWSGI配置使用Django运维部署框架 整体部署架构 操作系统: Linux 。优势:生态系统丰富&…...
jhipster自动生成java代码的方法
一、前言 java springboot后台项目用到了jpa查询数据库,还用到了jhipster,这个东西可以自动生成基础的Controller、Service、Dao、JavaBean等相关代码,减少重复开发。 在此总结下使用方法。 二、jhipster自动生成java代码的方法 1.需要先…...
LeetCode 82. 删除排序链表中的重复元素 II
原题链接 难度:middle\color{orange}{middle}middle 题目描述 给定一个已排序的链表的头 headheadhead , 删除原始链表中所有重复数字的节点,只留下不同的数字 。返回 已排序的链表 。 示例 1: 输入:head [1,2,3,…...
tensorflow gpu环境安装
查看本电脑支持的最高cuda版本:nvidia-smi在~/.condarc修改conda 源:channels:- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/- https://mirrors.tuna.tsinghua.edu.cn/…...
如何在现实场景中随心放置AR虚拟对象?
随着AR的发展和电子设备的普及,人们在生活中使用AR技术的门槛降低,比如对于不方便测量的物体使用AR测量,方便又准确;遇到陌生的路段使用AR导航,清楚又便捷;网购时拿不准的物品使用AR购物,体验更…...
门户网站盈利模式/苏州疫情最新情况
1.字符串格式化,用sprintf如asprintf(%.2f_除以%d等于%.3f,1.5,2,0.75)%则a1.50除以2等于0.750 2.for循环只能针对整数,不能遍历字符串或其他类型 3.公用的全局变量在各个使用的.m文件中都要声明。 4.一个.m文件若包含X为函数,则文件名必须为…...
江苏住房和城乡建设网站/珠海优化seo
下载的字体一般是ttc或ttf格式的,系统显示这都是TrueType类型的字体。ttf格式的字体可以正常使用,但ttc的字体只有一些常用的汉字,而许多不常用的汉字就没有(选择字体以后依然以宋体显示)。两者的不同处是 TTC 档会含超过一种字型,…...
西安公司做网站/windows优化大师最新版本
cmd 进入E文件夹 E: 查看文件夹目录 dir 进入某个文件夹 cd 目录...
给别人做网站赚钱吗/网站优化推广排名
#include <stdio.h> //宏定义接收参数:替换操作,不会预先计算参数,而是直接将参数带入到表达式中进行替换 #define QQ(x, y) x *y //23*3112// 普通函数接收参数:传递的是值,会在传递参数的时候预先计算参数,然后…...
建网站公司是如何赚钱/成人短期电脑培训班学费
在C中,有一个stream这个类,所有的I/O都以这个“流”类为基础的,包括我们要认识的文件I/O,stream这个类有两个重要的运算符: 1、插入器(<<) 向流输出数据。比如说系统有一个默认的标准输出流(cout),一…...
网站建设总体设计/国际新闻头条
要想深入了解Java必须对JDK的组成, 本文对JDK6里的目录做了基本的介绍,主要还是讲解 了下JDK里的各种可执行程序或工具的用途 Java(TM) 有两个平台 JRE 运行平台,包括Java虚拟机,运行类库,java应用程序装载器。 JRE不…...