【Python从入门到进阶】8、Python的输入输出

news2024/9/22 19:28:17

接上篇《7、运算符》
上一篇我们学习了Python的运算符部分,包括算数运算符、赋值运算符、比较运算符、逻辑运算符等。本篇我们来学习Python的输入和输出相关内容。

一、输出

其实输出的含义就是在控制台里打印一些东西,我们在之前已经做过很多的“print”了,这个玩儿意就是Python的输出语句,用来打印我们程序中的变量和一些逻辑执行的结果。输出也分为两种情况,一种是普通变量的输出,另一种是代码的格式化输出。

1、普通输出

python中变量的输出:
print("我是一个粉刷匠")
str = "我是一个字符串"
print(str)

效果:

2、格式化输出

比如有以下代码

print("我叫张三,今年31岁,目前在河南省郑州市")

●想一想:

在输出个人信息时候,里面的内容是写死的,如果系统中有姓名、年龄以及所在地的变量,怎么将其一起拼接为字符串打印出来呢?

●答:

字符串格式化。主要有“f转化”、“%格式化”以及“str.format()格式化”三种输出方法。

看如下代码(用3种格式化方法举例子):

#字符串格式化
name = "张三"
age=28
address="河南省郑州市"
#1、f转化
print(f"我叫{name},今年{age}岁,目前在{address}")
#2、%格式
print("我叫%s,今年%d岁,目前在%s" % (name,age,address))
#3、str.format()格式化
print("我叫{},今年{}岁,目前在{}".format(name,age,address))

效果:

下面我们来一一介绍这几种格式化方法。

(1)f 转化的格式化输出方式

只需要在我们要格式化输出的内容开头引号的前面加上“f”,在字符串内要转义的内容用“{}”括起来即可

模板 : print(f'xxx{aa}xxx')

示例代码:

person_name = "高启强"
food_name = "猪脚面"
food_price = 5.5
print(f"我叫{person_name},喜欢吃{food_price}元一碗的{food_name}")
>>>我叫高启强,喜欢吃5.5元一碗的猪脚面

(2)% 格式化输出的方法

同理,在我们要输出的字符串内将要转义内容,根据其数据类型和应用,用下面的符号代替即可,在字符串外面添加我们想要转出的内容即可

模板:print('xxx%sxxx' % a)


示例代码:

#将输入数字按照ASCII码转换成对应字符串,43
print("格式化字符及其ASCII码:%c" % 43) # 43对应的ASCII码为“+”号
#格式化字符串,转义输出字符串类型的数据
ss = "京海市"
print("格式化字符串:%s" % ss)
#格式化整数,将数字类型的数据类型转义输出整数
num = 21
print("格式化整数:%d" % num)
#将数字转化成科学计数法的形式
print("将数字转化成科学计数法的形式:%e" % num)
#格式化八进制数(不能带小数点)
print("格式化八进制数:%o" % num)
#格式化十六进制数(不能带小数点)
print("格式化十六进制数:%x" % num)
#格式化浮点数,默认保留小数点后六位
print("格式化浮点数:%f" % num)

效果:

然后是辅助 % 格式化输出的符号

示例代码:

#点后面跟上保留小数的位数,这里四舍五入保留小数点后3位
print("输出:%.3f" % 1.64378)
#小数点前面加数字用于表示输出的结果向右平移几个空格
print('输出:%25s' % '你是我的观音付撒,我是你的刘德发')
#用于在输出数字结果前面加上正负号
print('输出:%+d' % 88)

模板 printf("%*.*f",m,n,num),说明:
前面的*号表示小数点前数的位数,对应参数m。m决定你小数的整数部分输出多少位数。
●如果实际的小数的整数部分的位数 > m的宽度则按照实际的小数的整数部分输出
●如果实际的小数的整数部分的位数 < m的宽度则m多出的部分以空格补充
后面的*号则是小数点后多少位,对应参数n。n决定你小数点后的精度。
●如果n的精度 > 实际小数的精度则补0。
●如果n的精度 < 实际小数的精度则四舍五入。

#用*代替字符串中的变量,方便修改输出时的格式要求
print("输出:%*.*f" % (5,4,3.1415926))
print("输出:%*.*f" % (5,10,366666.1415926))

效果:

(3)str.format() 格式化输出的方法

在我们要输出的字符串内将要转义内容,用“{}”代替,然后用“.format()”方法在括号里面传递我们想要输出的内容即可。

模板 : print('xxx{}xxx'.format(x,x))

示例代码:

#用$填充满长度为6的字符串且转义的内容靠右、上、左
print('输出:{:$>6}'.format('强盛集团'))
print('输出:{:$^6}'.format('强盛集团'))
print('输出:{:$<6}'.format('强盛集团'))
#数据类型转换成浮点类型的数据(默认保留小数后6位)
print('输出:{:f}'.format(88))
print('输出:{:.3f}'.format(88))
#将我们的数据转换成百分制的形式输出(默认保留百分制点后6位)
print('输出:{:%}'.format(0.64))
print('输出:{:.2%}'.format(0.64))
#将数字转化成科学计数法的形式
print('输出:{:e}'.format(0.64))
#将数字转化二进制的形式
print('输出:{:b}'.format(88))

效果:

二、输入

之前我们一直在输出数据,没有主动向程序输入数据,即通过控制台敲入我们需要进行处理或计算的值,按回车后进行处理,最终得到结果。这里我们就需要用到Python中的“input()”函数。

input()是Python的内置函数,用于从控制台读取用户输入的内容。input() 函数总是以字符串的形式来处理用户输入的内容,所以用户输入的内容可以包含任何字符。
input()函数的用法为:

str = input(tipmsg)

说明:
str表示一个字符串类型的变量,input会将读取到的字符串放入str中。
tipmsg表示提示信息,它会显示在控制台上,告诉用户应该输入什么样的内容;如果不写 tipmsg,就不会有任何提示信息。

【实例】input()函数的简单使用:

#输入函数测试
a = input("请输入一个整数: ")
b = input("请输入另一个整数: ")
#默认接收是字符串,相加时要转为int
result = int(a) + int(b)
print("两个整数相加结果: ", result)

效果:

注:每一行输入后按下回车键,代表input()读取就结束了。

至此,有关Python输入和输出的所有内容就讲解完毕了,下一篇我们来讲解pPython中的流程控制语句。

参考:尚硅谷Python爬虫教程小白零基础速通教学视频

转载请注明出处:https://blog.csdn.net/acmman/article/details/129108663

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/355901.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

社招前端必会手写面试题集锦

查找字符串中出现最多的字符和个数 例: abbcccddddd -> 字符最多的是d&#xff0c;出现了5次 let str "abcabcabcbbccccc"; let num 0; let char ;// 使其按照一定的次序排列 str str.split().sort().join(); // "aaabbbbbcccccccc"// 定义正则表达…

IDEA插件安装慢、超时、不成功问题如何解决?

目录 一、打开国内插件的节点IP地址 二、修改本地hosts文件 三、刷新DNS缓存 一、打开国内插件的节点IP地址 国内插件的节点IP地址查询: http://tool.chinaz.com/speedtest/plugins.jetbrains.com 在下方的检测结果中&#xff0c;找到一个解析时间最短的IP地址&#xff0c;解…

流程引擎之Activiti简介

背景Activiti 是一个开源架构的工作流引擎&#xff0c;基于 bpmn2.0 标准进行流程定义&#xff0c;其前身是 jBPM&#xff0c;Activiti 相对于 jBPM 更轻量&#xff0c;更易上手&#xff0c;且天然集成了 Spring。2010年 jBPM 创始人 Tom Baeyens 离开 JBoss&#xff0c;随之加…

大数据之-Nifi-监控nifi处理数据的状态信息_处理数据的状态栏_组件统计_公告BUG信息---大数据之Nifi工作笔记0010

首先可以看到状态栏,可以提供活动现场的数量,排队统计信息,等等 可以看到在面板的最上面有一行状态栏,就是 就是具体的状态信息 然后组件统计就是具体的处理器的统计信息 可以看到这里pickup这个getfile处理器,可以看到in这里,说了文件的输入个数,以及大小 out是输出个数以及大…

Linux进程学习【二】

✨个人主页&#xff1a; Yohifo &#x1f389;所属专栏&#xff1a; Linux学习之旅 &#x1f38a;每篇一句&#xff1a; 图片来源 &#x1f383;操作环境&#xff1a; CentOS 7.6 阿里云远程服务器 Perseverance is not a long race; it is many short races one after another…

java黑马头条 day5自媒体文章审核 敏感词过滤算法DFA 集成RabbitMQ实现自动审核

自动审核流程介绍 做为内容类产品&#xff0c;内容安全非常重要&#xff0c;所以需要进行对自媒体用户发布的文章进行审核以后才能到app端展示给用户。2 WmNews 中status 代表自媒体文章的状态 status字段&#xff1a;0 草稿 1 待审核 2 审核失败 3 人工审核 4 人工审核通过 …

Mac上动态切换JDK

起因&#xff1a; 因为甲骨文的JDK8并没有适配Mac M1芯片&#xff0c;新版的17倒是有适配的&#xff0c;11这些不清楚。往常开发可以使用Zulu这些厂商提供的JDK8。 但是在本地起一些服务&#xff0c;例如Nacos时候&#xff0c;还是会出现不兼容导致起不来&#xff01;虽然Nac…

【网络原理6】数据链路层协议——以太网

数据链路层负责的是相邻两个网络节点之间的数据以帧为单位进行传输。 具体关于数据链路层的介绍&#xff0c;已经在这一篇文章当中提到了。 初识网络&#xff1a;IP、端口、网络协议、TCP-IP五层模型_革凡成圣211的博客-CSDN博客TCP/IP五层协议详解https://blog.csdn.net/weix…

Python每日一练(20230219)

目录 1. 循环随机取数组直到得出指定数字&#xff1f; 2. 旋转链表 3. 区间和的个数 1. 循环随机取数组直到得出指定数字&#xff1f; 举个例子&#xff1a; 随机数字范围&#xff1a;0~100 每组数字量&#xff1a;6&#xff08;s1,s2,s3,s4,s5,s6&#xff09; 第二轮开始随…

高级前端一面面试题集锦

详细说明 Event loop 众所周知 JS 是门非阻塞单线程语言&#xff0c;因为在最初 JS 就是为了和浏览器交互而诞生的。如果 JS 是门多线程的语言话&#xff0c;我们在多个线程中处理 DOM 就可能会发生问题&#xff08;一个线程中新加节点&#xff0c;另一个线程中删除节点&#…

[LeetCode周赛复盘] 第 98 场双周赛20230219

[LeetCode周赛复盘] 第 98 场双周赛20230219 一、本周周赛总结二、 [Easy] 6359. 替换一个数字后的最大差值1. 题目描述2. 思路分析3. 代码实现三、[Medium] 6361. 修改两个元素的最小分数1. 题目描述2. 思路分析3. 代码实现四、[Medium] 6360. 最小无法得到的或值1. 题目描述2…

将镭神C32激光雷达的PointXYZ数据转化为PointXYZIR格式 - 附代码

之前遇到过“镭神32线激光雷达ROS下运行fromRosMsg()报错 Failed to find match for field “intensity“ 问题”&#xff0c; 当时确定了是镭神C32雷达缺少相应字段&#xff0c;并记录博客【学习记录】镭神32线激光雷达ROS下运行fromRosMsg()报错 Failed to find match for fi…

如何正确使用chatgpt,让chatgpt回答优质内容?

我们以chatgpt写一篇文章为例。大家都知道&#xff0c;如果直接让chatgpt写某篇文章&#xff0c;他的回答总是简洁明了的&#xff0c;因为它定位就是聊天&#xff0c;而不是会像“舔狗”一样写一篇小作文。 并且他的回答&#xff0c;总是固定格式的&#xff0c;只要稍微了解ch…

Kubernetes02:知识图谱

Kubernetes01&#xff1a;知识图谱 MESOS APACHE 分布式资源管理框架 2019-5 Twitter 》 Kubernetes Docker Swarm 2019-07 阿里云宣布 Docker Swarm 剔除 Kubernetes Google 10年容器化基础架构 borg Go语言 Borg 特点 轻量级&#xff1a;消耗资源小 开源 弹性伸缩 负载均…

根据mysql的sql文件逆向生成powerdesigner的pdm文件

背景 我们在软件项目中最基本的组成部分就是数据库&#xff0c;那么在有数据库文件的情况下如何将库表逆向生成powerdesigner的设计文件呢&#xff1f; 文字步骤 打开powerdesigner软件&#xff0c;然后选择 File ->ReverseEngineer ->Database &#xff08;1&#x…

OnlyOffice本地部署实现Excel预览(docker安装)

下载onlyoffice镜像 docker pull onlyoffice/documentserver 如果下载不了 可以尝试添加镜像 /etc/docker daemon.json文件内 添加一行 {“registry-mirrors”: [“http://f1361db2.m.daocloud.io”]} 启动镜像 &#xff08;第一个17315表示onlyoffice服务对外的端口号&…

[AUTOSAR][Fls模块] Flash Driver Module

Flash Driver Module--jianqiang.xue一、 简介二、 措施方式一&#xff1a;将FLASH操作程序作为Bootloader组件的一部分固化在存储器中方式二&#xff1a;通过通讯口将该部分代码从上位机下载到指定的RAM方式三&#xff1a;将Flash功能函数作为数据运行(推荐&#xff01;&#…

23种设计模式介绍(Python示例讲解)

文章目录一、概述二、设计模式七种原则三、设计模式示例讲解1&#xff09;创建型模式1、工厂模式&#xff08;Factory Method&#xff09;【1】简单工厂模式&#xff08;不属于GOF设计模式之一&#xff09;【2】工厂方法模式2、抽象工厂模式&#xff08;AbstractFactory&#x…

Python抽奖系统

#免费源码见文末公众号# 抽奖系统① def choujiang1():def write():with open(d:\\抽奖系统\\抽奖1.1.pickle,rb) as file:lst1pickle.load(file)namevar1.get()if name not in lst1 and name!录入成功&#xff01; and name!录入失败&#xff01; and name!:lst1.append(name)…

基于springboot+vue的便利店库存管理系统

基于springbootvue的便利店库存管理系统 ✌全网粉丝20W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取项目下载方式&#x1f345; 一、项目背景…