Python中基本输入和输出

news2024/11/15 20:09:56

文章目录

  • 前言
  • 一、使用input()函数输入
  • 二、使用print()函数输出


前言

从我们接触第一个Python程序开始,就一直在使用 print() 函数向屏幕上输出一些字符,如下图代码所示:

在这里插入图片描述

print() 函数就是Python的基本输出函数。那既然有输出,肯定也有输入,Python还提供了一个用于进行输入的 input() 函数,用于接收用户从键盘上的输入内容,如下图代码所示:

在这里插入图片描述

这些在我们之前的代码里面都有所接触,但是多数小伙伴并不清楚这两个函数更多的作用和用法,甚至有的小伙伴用了还报错,所以今天跟大家详细聊聊这两个函数的门门道道。


一、使用input()函数输入

在Python中,使用内置函数 input() 可以接收用户的键盘输入。有的大白可能会好奇:为什么一定要接收用户的键盘输入呢?我们在代码里面都输入好,不就行了吗?

其实不然,我们生活当中很多很多情况下都是需要临时从外部输入数据的,不可能提前把所有数据都写入代码里面,比如我们登陆网站要输入用户名和密码,商场收银员要收钱结算商品需要录入系统等等,这些场景下的数据都是需要用户临时输入的,并且数据随时都可能在变化。这就要求我们在开发程序的时候都要预留好用户输入数据的接口,而这个接口在Python语言中就是 input() 函数。

在这里插入图片描述

input() 函数的语法(用法)格式如下:

变量名 = input("提示性的文字:")

其中,变量名是我们自己任意命名,这里变量的作用就是保存用户输入的结果,双引号内的文字用于提示用户要输入的内容。比如下图代码:

在这里插入图片描述

有的小伙伴可能会觉得这个提示性文字一定要加吗?感觉对代码没什么贡献值,又还占位置,这里我们看看如果不加会怎样:

在这里插入图片描述

如上界面显示,不论是对开发者自己还是其他用户都不友好,所以记得在使用input()函数时候,一定要在括号里面加上提示性用语。还有小伙伴可能会问博主:为什么我运行代码之后,只显示了提示性用语,没有输入文字的提示光标出现,文字输入不上去?

在这里插入图片描述

其实很简单,运行代码之后,在结果展示区域的任意位置,鼠标点击一下,即可出现输入光标,另外输入完成之后必须按回车键,代码才会继续往下执行,不然代码会一直停在这里。如下图所示:

在这里插入图片描述

在这里插入图片描述 说明:在Python3中,无论输入的内容是数字还是字符,都将被作为字符串类型读取。如下图所示:

在这里插入图片描述

如上图代码,我们使用了Python内置函数 type() 来查看输入内容的数据类型,可以看到本来输入的 99 是数字类型,但是打印输出数据类型结果的时候却是字符串。

在这里插入图片描述 注意:如果我们需要使用数字类型,就需要把接收到的字符串进行类型转换。如果将其他类型数据转为整数类型数据,可以用到Python内置函数 int() ,如下图所示:

在这里插入图片描述

二、使用print()函数输出

在 Python 中,使用内置的 print() 函数可以将结果输出到标准控制台上,其语法(用法)格式如下:

print(输出内容)

这里面的输出内容可以是 数字和字符串(字符串需要使用引号括起来),此类内容将直接输出;也可以是包含运算符的 表达式,此类内容则将计算结果输出。如下图代码所示:

在这里插入图片描述

默认情况下, print() 语句输出后会自动换行,这也是为什么我们会看到在控制台上打印输出完所有内容之后,下面往往都会多一行空行,如下图所示:

在这里插入图片描述

在这里插入图片描述 多学一招:我们如果想要一次性输出多个内容,并且不换行显示,可以将要输出的多个内容中间使用英文输入法状态下的 逗号 分隔。比如下图代码所示:

在这里插入图片描述

如上图,我们可以看到三个输出内容都显示在一行,当然代码中 print() 函数里面的每个逗号后面都空了一格,是遵循 Python语言编码规范,为了代码美观好看。

那有执拗的大白可能会想:我就是想分多个 print() 打印输出结果,但是又想结果都显示在一行,也就是去掉 print() 函数默认换行输出的功能,这可行吗?其实是可以的。在讲方法之前,我们需要先看看print() 函数的源代码,也就是Python作者写的代码。

在这里插入图片描述

这里给大家说一下,我们是可以看到Python语言底层代码的,因为Python是开源的,也就是开放源代码。我们不仅可以看,也可以修改。那怎么看源代码呢?非常简单,比如我们要看 print() 函数的源码,首先需要按下键盘的【 Ctrl 】键,然后将鼠标移动到 print 这个单词上,就可以看到单词变颜色了,鼠标点击一下,就可以进去源码文件,记得全程不要松开 【 Ctrl 】键,直至打开源码文件之后再松开,源码打开之后如下图所示:

在这里插入图片描述

上图红框框选的部分就是 print() 函数的底层写法,当然我们现在还没有学到 函数 部分,这个这暂时无法看懂,不过我们学过转义字符,红框里面的 “ \n ”,我们应该不陌生,这是换行的意思。看到这里大家应该也不难猜到,这就是为什么 print() 函数会默认输出之后换行。

简单给大家解释一下上图红框的print后面括号里面的内容,括号里面的内容都叫 参数,我们只看后面三个参数,其中 end=‘\n’ 这个参数的意思是让 print() 函数在打印输出完内容之后结尾自动换行,当然我们也可以修改源码,比如我们把 end=‘\n’ 改为 end=‘哈哈哈’,来看看效果:

在这里插入图片描述

如上图我们可以看到打印的数字结果后面还多了 “哈哈哈” 三个字,并且下面没有再空一行(也就是换行),因为我们用字符串 “哈哈哈” 代替了 换行符“\n”。当然细心的小伙伴可能注意到了,我上面代码中的哈哈哈是用双引号包裹的,而不是源码中的单引号。这没有关系,字符串用单双引号均可表示,如果这块还有不清楚的可以看看我之前的博客【Python中的基本数据类型】。

在这里插入图片描述

既然 print() 函数打印输出结尾的字符可以任意更改,那上面除了把三个结果打印在一行,让其不分行显示之外,我们又有了新的方法,如下图所示:

在这里插入图片描述

如上图代码,我们将end后面的换行符 替换成 空格,这样每个结果打印输出完了之后,结尾只会有一个空格,下个结果会接着这个空格后面继续显示,不再进行换行。当然我们可以看到这个方案会更复杂,还是推荐使用上面的方案:将多个结果一次性打印输出,中间以逗号隔开。只是作为开发人员,我们自己需要清楚,解决问题的方案可以多元化,所谓条条道路通罗马。

继续回到 print() 源码中,刚才我们讲了 end 这个参数,还有 sep=’ ',这个参数的作用是在多个结果一次性输出的时候,每个结果默认以空格间隔开,这也是为什么我们刚才第一种方案打印输出的结果每个中间都有一个空格:

在这里插入图片描述

这里我们也可以继续更改参数,把 sep=’ ’ 改为 sep=’ | ',如下图所示:

在这里插入图片描述

这样的结果是不是更美观呢?

在这里插入图片描述

print() 源码当中最后一个参数 file=None 这个参数表示的是文件路径,此时里面的值默认是None,也就是没有文件路径,那 print() 打印的结果就是默认打印在控制台上,如果这里面加上文件路径,那结果就会打印在文件里面显示,如下图代码所示:

在这里插入图片描述

运行代码之后,我们发现控制台上没有显示任何内容,打开名字叫 小十一 的文本文件看看,此时字符串就完美的打印在我们指定的文件里面,如下图所示:

在这里插入图片描述

在这里插入图片描述 说明:在上面的代码中用到了打开文件,关闭文件等 文件操作 的内容,关于这部分内容在后续博客中会详细讲到,这里了解即可。

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

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

相关文章

[牛客复盘] 牛客2022跨年场 20221212

[牛客复盘] 牛客2022跨年场 20221212 一、本周周赛总结二、 A 猜群名1. 题目描述2. 思路分析3. 代码实现三、B 分赃1. 题目描述2. 思路分析3. 代码实现四、C 翻卡牌1. 题目描述2. 思路分析3. 代码实现五、D ygg的分数运算1. 题目描述2. 思路分析3. 代码实现六、E 摇色子1. 题目…

多线程生产者消费者——分别使用条件变量、信号量实现

生产者消费者 概念 生产者消费者模式就是通过一个容器来解决生产者和消费者的强耦合问题。生产者和消费者彼此之间不直接通讯,而通过阻塞队列来进行通讯,所以生产者生产完数据之后不用等待消费者处理,直接扔给阻塞队列,消费者不…

超好用!win10安装Eiseg标注软件及使用(CPU版本)

写在前面的话 众所周知,标注分割掩膜的软件一般使用labelme,但是一个一个点太麻烦了,工作量太大,,之前,我的思路就是先标少量的数据然后训练个初始模型,再用初始模型对剩下的图像预测掩膜&…

【闲聊杂谈】深入理解Spring Security设计原理

1、什么是Spring Security 顾名思义,Security的意思是安全,本质上就是一个很纯粹的权限管理框架,提供认证和授权两大核心功能。在目前主流的Spring生态中的项目,说到安全框架,基本上SpringSecurity是首选。当然&#…

代码随想录算法训练营第四天|24. 两两交换链表中的节点 、19.删除链表的倒数第N个节点、160.链表相交、142.环形链表II

24. 两两交换链表中的节点 力扣题目链接(opens new window) 解析: 基础题,主要是要把握边界条件:由题可得,交换的节点两两一组,每交换完成一对,问题规模减2,也就是只剩一个或不剩节点时交换便结…

ArcGIS基础实验操作100例--实验28地形图配准

本实验专栏参考自汤国安教授《地理信息系统基础实验操作100例》一书 实验平台:ArcGIS 10.6 实验数据:请访问实验1(传送门) 高级编辑篇--实验28 地形图配准 目录 一、实验背景 二、实验数据 三、实验步骤 (1&#x…

python中类的使用详解

目录 一.类的定义和使用方法 成员变量和成员方法 成员方法的定义语法和self关键字 小结 二.类和对象 小结 三.属性(成员变量)的赋值 构造方法:_ _init_ _() 小结 一.类的定义和使用方法 可以使用类去封装属性,并基于类创建…

一文弄懂Pytorch的DataLoader,Dataset,Sampler之间的关系

很多文章都是从DatasetDatasetDataset等对象自下网上进行介绍的,但是对于初学者而言,其实这并不好理解,因为有时候,会不自觉的陷入到一些细枝末节中去,而不能把握重点,所以本文将自上而下的对PytorchPytorc…

HCIP第四天

HCIP实验配置一,实验要求二,172.16.0.0/16地址的划分三,搭建拓扑图四,配置IP地址和环回地址五,宣告并配置缺省路由下放,使用NAT技术六,R5中心站点配置隧道和静态IP七,R6分支站点的配…

canvas在小程序里写小游戏

最近接了个小需求需要写个小游戏,由简单的帧动画加上碰撞相关的处理,组成。具体页面信息如下图 具体的游戏步骤,是通过长按按钮蓄力,松开时卡通人物跳起,卡通人物跳起碰撞到上面的元宝等元素的得分,这里我们…

笔试题之编写SQL分析门店销售情况

销售员、客户、产品 文章目录前言一、SQL题目二、解答方法(一)建表插入测试数据(二)第一题解答(三)第二题解答(四)第三题解答总结前言 分享本人遇到的笔试真题与解法,并…

MATLAB算法实战应用案例精讲-【人工智能】语义分割(附实战应用案例及代码)

前言 语义分割是一种典型的计算机视觉问题,其涉及将一些原始数据(例如,平面图像)作为输入并将它们转换为具有突出显示的感兴趣区域的掩模。许多人使用术语全像素语义分割(full-pixel semantic segmentation),其中图像中的每个像素根据其所属的感兴趣对象被分配类别ID。…

[ XSS-labs通关宝典 ] xss-labs 通关宝典之 less1 - less5

🍬 博主介绍 👨‍🎓 博主介绍:大家好,我是 _PowerShell ,很高兴认识大家~ ✨主攻领域:【渗透领域】【数据通信】 【通讯安全】 【web安全】【面试分析】 🎉点赞➕评论➕收藏 养成习…

前端常见问题汇总(十)

一、HTTP1.0和HTTP2.0的区别 http1.0:每次请求都需要重新建立tcp连接,请求完后立即断开与服务器连接,这很大程度造成了性能上的缺陷,http1.0被抱怨最多的就是连接无法复用。 http1.1:引入了长连接(keep-al…

麒麟系统虚拟机安装教程

作者:朱金灿 来源:clever101的专栏 为什么大多数人学不会人工智能编程?>>> 1.首先得安装VM Ware软件。 2.打开VM Ware,点击“文件”->“新建虚拟机”。 3.进入新建虚拟机向导,点击下一步。如下图&…

API管理神器:Apifox

前言 代码未动,文档先行 其实大家都知道 API 文档先行的重要性,但是在实践过程中往往会遇到很多困难。 程序员最讨厌的两件事:1. 写文档,2. 别人不写文档。大多数开发人员不愿意写 API 文档的原因是写文档短期收益远低于付出的…

2023—静待“雨中的海棠”发芽

2023—静待“雨中的海棠”发芽认真负责、全身心的投入工作减少抱怨勤思考、多总结—>高效工作保持7*24小时在线全身心BKGWY坚持不懈多运动骑车车、练哑铃、慢跑多看书看自己喜欢的书环青海湖准备环青海湖的攻略身体上的准备内心信念的支撑最后就静待“雨中的海棠”发芽吧&am…

kali - 扫描

数据来源 Whatweb WhateWhatweb是一个基于Ruby语言的开源网站指纹识别软件,正如它的名字一样,,whate能够识别各种关于网站的详细信息,包括:CMS类型、博客平台、中间件、web框架模块、网站服务器、脚本类型、 Javascript库、lP、 …

Apollo 配置中心

Apollo 配置中心目录概述需求:设计思路实现思路分析1.Apollo 配置中心2.Client端配置中心3.爬虫调度器5.Server端配置中心参考资料和推荐阅读Survive by day and develop by night. talk for import biz , show your perfect code,full busy,skip hardne…

(免费分享)基于jsp,ssm甜点网站

开发工具:eclipse,jdk1.8 数据库:mysql5.7,Tomcat8.0 package com.softeem.controller;import java.util.HashMap; import java.util.Map;import javax.annotation.Resource;import org.springframework.stereotype.Controller; …