0

0

一文带你搞懂Python的输入输出

Go语言进阶学习

Go语言进阶学习

发布时间:2023-07-25 13:59:58

|

8395人浏览过

|

来源于Go语言进阶学习

转载


一、为什么要输入和输出?

无论是从  一开始的“hello world”,还是前面的各种例子,基本都是些“自说自话”,展示类的代码片段。只有能够接收用户输入,根据输入代码生成结果,并输出到屏幕上展示出来,才算一个较为完整,简单的程序。


二、 input输入函数

获取用户输入,保存成一个字符串。重要的话,说两遍,input函数的返回值是一个字符串类型。哪怕你输入的是个数字1,返回给你的只会是字符串“1”,而不是整数1。下面是一些简单的展示例子:

#第一个例子
>>> inp  = input("please input your name: ")
please input your name: jack
>>> inp
'jack'
>>> type(inp)
<class 'str'>


#第二个例子
age  = input("please input your age: ")
please input your age: 18
 print(age)
'18'


#第三个例子
>>> type(age)
<class 'str'>


#第四个例子


>>> a = input("请输入一个字符:")
'请输入一个字符:前后带有空白' 
>>> a
'   前后带有空白   '

    第一个例子中,inp = input("please input your name: "),input函数里可以提供一个字符串,用来给用户进行输入提示。input函数的返回值赋值给inp这个变量后,inp里就保存了用户输入的值。

type是Python内置的函数之一,非常有用,用于查看对象的数据类型。

第二个例子,  输入了年龄18,但age里保存的是一个“18”的字符串。

第三个例子,什么都没输入,返回的是一个空字符串。

第四个例子,有效输入的前后空白被保留在了返回的字符串中。

从上面例子的展示中,不难发现,input函数将用户的输入原样不动的返回给了变量 ,并包装成一个字符串。这肯定是不行的,会带来很多问题,所以通常都需要对用户输入进行处理和判定。

  • 对空输入进行处理:

inp = input("请输入你的姓名:  ")


if inp == "":    
    inp = input("姓名不能为空,请重新输入:  ")
  • 将字符串转换成数字类型:

age = input("请输入你的年龄:")


age = int(age)   # 将字符串转化为整数


if age > 18:
    print("你已经成年!")
else:
    print("还没断奶?")
  • 去除开头的空白lstrip,去除结尾的空白rstrip以及去除两端的空白strip

inp = input("请输入你的姓名:  ")


inp = inp.strip()  # strip的用法在字符串数据类型有讲述


print(inp)
  • 判断输入的字符类型

前面在将字符串转化为整数用的是int()函数,这种方式有危险的,看下面的例子:

s = "123"
a = int(s)
print(a)


s = "something"
a = int(s)

一文带你搞懂Python的输入输出

对于形如“123”, “283242”的字符串,转化没问题,但是对于包含字符、特殊字符的字符串就没办法转化了,会弹出异常错误。所以在使用int函数之前,要先对输入进行判断。 

修改一下上面的例子:

age = input("请输入你的年龄:")


if age.isdigit():   # 使用isdigit函数判断输入是否全是数字格式
    age = int(age)   # 将字符串转化为整数
    print("你的年龄是:", age)
else:
    print("输入不合法!")

一文带你搞懂Python的输入输出

一文带你搞懂Python的输入输出

  • input函数有时可以巧妙地用于阻塞或暂停程序

print("程序前面部分执行完毕......")


input("请按回车继续......")       # 在这里程序会暂停,等待你的回车动作


print("继续执行程序的后面部分......")

此时的input函数不会将输入保存下来,只是用作暂停程序动作。


三、 print输入函数

print函数用于将内容格式化显示在标准输出上,主要指的是屏幕显示器。

print可以接受多个字符串,字符串类型的变量或者可print的对象。每个字符串用逗号“,”隔开,连成一串输出。print会依次打印每个字符串,同时,每遇到一个逗号“,”就输出一个空格。

a = "i am"
b = "student"
print(a,"a", b)
# 自动以空格分隔
print(a+"a"+b)

一文带你搞懂Python的输入输出

    对于形如print(a+"a"+b)的语句,其实是先计算a+"a"+b的值,然后再通过print打印它。print()会自动执行内部的语句,输出想要的结果。再看一个例子:

>>> a = 10
>>> b = 2
>>> print(sum((a, a*b)))        # 先求a*b,再求和,再打印
30   #结果

 看一下print函数的原型:print(self, *args, sep=' ', end='\n', file=None)

sep参数: 分隔的符号,默认是一个空格;

end参数: 打印后的结束方式,默认为换行符\n。如果,设置end='',则可以不换行,让print在一行内连续打印。活用print的参数,可以实现灵活的打印控制。

>>> a = "i am"
>>> b = "student"
>>> print(a,"a" , b, sep="*")
i am*a*student #输出结果

四、 print格式化输出

在Python2.6以后,有两种格式化输出的方式。

一种就是类似C语言的printf的%百分号格式化输出,也是Python最基础最常用的格式化输出方式。另一种就是str.format()的方式。

这里  重点讲述一下传统的%百分号格式化输出方式,

以下面的语句为例:

print ("我叫 %s 今年 %d 岁!" % ('小明', 10))

首先构造一个字符串"我叫 %s 今年 %d 岁!",将其中需要用别的变量或值替代的部分,用%百分符加一个数据类型代号,比如%s%d来代替。然后在字符串的后面用%加一个同样数量变量或值的元组。

也就是前面有多少个%符号,后面就要提供多少个参数值,每个参数值之间用逗号隔开,所有参数用圆括号括起来。每个参数与前面的%一一对应,并且数据类型也要能够合法对应。

这是基本用法,更多的格式见下图,然后掌握格式的搭配方法。

格式化符号:

一文带你搞懂Python的输入输出

格式化操作符辅助指令:

一文带你搞懂Python的输入输出

经典案例:

s = "i am %s" % "jack"
print(s)


s = "i am %s age %d" % ("jack", 18)
print(s)


s = "i am %(name)s age %(age)d" % {"name": "jack", "age": 18}
print(s)
s = "percent %.2f" % 99.97623
print(s)
s = "i am %(pp).2f" % {"pp": 123.425556, }
print(s)
s = "i am %.2f %%" % 123.425556
print(s)

一文带你搞懂Python的输入输出

    需要特别说明的是,如果你想在print中打印一个%百分符号本身,那么你需要使用%%,两个百分符转义出一个百分符,也就是print("%%")。

Python v2.4 中文手册 chm
Python v2.4 中文手册 chm

Python v2.4版chm格式的中文手册,内容丰富全面,不但是一本手册,你完全可以把她作为一本Python的入门教程,教你如何使用Python解释器、流程控制、数据结构、模板、输入和输出、错误和异常、类和标准库详解等方面的知识技巧。同时后附的手册可以方便你的查询。

下载

    如果你对print复杂的格式化控制无爱,对美观也没有要求,那么简单傻瓜式的一路用%s作为占位符,是种省事的做法。例如:

print("%s %s %s %s %s" % (a, b, c, d, e))

五、总结

    本文基于Python基础,介绍了常见的几种输入和输出的几种方式,通过一个个项目的实际操作,能够更好的理解输入和输出语句的用法。在项目实践过程中遇到的难点,需要注意的点做了详细讲解。

相关文章

python速学教程(入门到精通)
python速学教程(入门到精通)

python怎么学习?python怎么入门?python在哪学?python怎么学才快?不用担心,这里为大家提供了python速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
C语言变量命名
C语言变量命名

c语言变量名规则是:1、变量名以英文字母开头;2、变量名中的字母是区分大小写的;3、变量名不能是关键字;4、变量名中不能包含空格、标点符号和类型说明符。php中文网还提供c语言变量的相关下载、相关课程等内容,供大家免费下载使用。

410

2023.06.20

c语言入门自学零基础
c语言入门自学零基础

C语言是当代人学习及生活中的必备基础知识,应用十分广泛,本专题为大家c语言入门自学零基础的相关文章,以及相关课程,感兴趣的朋友千万不要错过了。

637

2023.07.25

c语言运算符的优先级顺序
c语言运算符的优先级顺序

c语言运算符的优先级顺序是括号运算符 > 一元运算符 > 算术运算符 > 移位运算符 > 关系运算符 > 位运算符 > 逻辑运算符 > 赋值运算符 > 逗号运算符。本专题为大家提供c语言运算符相关的各种文章、以及下载和课程。

362

2023.08.02

c语言数据结构
c语言数据结构

数据结构是指将数据按照一定的方式组织和存储的方法。它是计算机科学中的重要概念,用来描述和解决实际问题中的数据组织和处理问题。数据结构可以分为线性结构和非线性结构。线性结构包括数组、链表、堆栈和队列等,而非线性结构包括树和图等。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

263

2023.08.09

c语言random函数用法
c语言random函数用法

c语言random函数用法:1、random.random,随机生成(0,1)之间的浮点数;2、random.randint,随机生成在范围之内的整数,两个参数分别表示上限和下限;3、random.randrange,在指定范围内,按指定基数递增的集合中获得一个随机数;4、random.choice,从序列中随机抽选一个数;5、random.shuffle,随机排序。

629

2023.09.05

c语言const用法
c语言const用法

const是关键字,可以用于声明常量、函数参数中的const修饰符、const修饰函数返回值、const修饰指针。详细介绍:1、声明常量,const关键字可用于声明常量,常量的值在程序运行期间不可修改,常量可以是基本数据类型,如整数、浮点数、字符等,也可是自定义的数据类型;2、函数参数中的const修饰符,const关键字可用于函数的参数中,表示该参数在函数内部不可修改等等。

562

2023.09.20

c语言get函数的用法
c语言get函数的用法

get函数是一个用于从输入流中获取字符的函数。可以从键盘、文件或其他输入设备中读取字符,并将其存储在指定的变量中。本文介绍了get函数的用法以及一些相关的注意事项。希望这篇文章能够帮助你更好地理解和使用get函数 。

669

2023.09.20

c数组初始化的方法
c数组初始化的方法

c语言数组初始化的方法有直接赋值法、不完全初始化法、省略数组长度法和二维数组初始化法。详细介绍:1、直接赋值法,这种方法可以直接将数组的值进行初始化;2、不完全初始化法,。这种方法可以在一定程度上节省内存空间;3、省略数组长度法,这种方法可以让编译器自动计算数组的长度;4、二维数组初始化法等等。

618

2023.09.22

C# ASP.NET Core微服务架构与API网关实践
C# ASP.NET Core微服务架构与API网关实践

本专题围绕 C# 在现代后端架构中的微服务实践展开,系统讲解基于 ASP.NET Core 构建可扩展服务体系的核心方法。内容涵盖服务拆分策略、RESTful API 设计、服务间通信、API 网关统一入口管理以及服务治理机制。通过真实项目案例,帮助开发者掌握构建高可用微服务系统的关键技术,提高系统的可扩展性与维护效率。

3

2026.03.11

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
最新Python教程 从入门到精通
最新Python教程 从入门到精通

共4课时 | 22.5万人学习

Django 教程
Django 教程

共28课时 | 4.9万人学习

SciPy 教程
SciPy 教程

共10课时 | 1.9万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号