python教程输入_输入/输出
输入 输出
会有这种情况,你的程序必须与用户进行交互。例如,你想获取来自用户的输入,然后打印一些返回的结果。我们可以分别使用input()和print()函数来实现。
对于输出,我们还可以使用str(字符串)类的各种方法。例如,您可以使用rjust方法来获取一个指定宽度的字符串。更多细节,见 help(str)。
另一个常见的输入/输出类型是处理文件。创建、读和写文件是许多程序至关重要的,我们将在本章探讨这方面。
用户输入
将这个程序保存为 user_input.py:
def reverse(text):
return text[::-1]
def is_palindrome(text):
return text == reverse(text)
something = input('输入文本: ')
if (is_palindrome(something)):
print("是的,这是回文")
else:
print("不,这不是回文")
输出:
输入文本: 蜜蜂
不,这不是回文
输入文本: 人上人
是的,这是回文
它是如何工作的:
我们使用切片特性来颠倒文本。我们已经看到使用seq[a:b]代码获取从a到b来自序列的切片。我们还可以提供一个第三个确定步长的参数,切片默认的步长是 1,它返回一个连续文本的一部分。给一个负的步长,即 -1 ,将以反向返回文本。
input()函数将一个字符串作为参数,并显示给用户。然后等待用户输入和按回车键。一旦用户输入和按下回车键,input()函数将返回用户输入的文本。
我们获取文本并颠倒它。如果原始文本和颠倒的文本是相等的,那么那个文本是一个回文。
家庭作业
检查一个文本是否是一个回文应该忽略标点符号、空格和案例。例如,"Rise to vote, sir." 也是一个回文,但我们当前的程序并没有说它是。你能改善上述程序来识别这个回文吗?
下面的提示(不要读)
使用一个元组(从这里(http://grammar.ccc.commnet.edu/grammar/marks/marks.htm)你可以找到所有标点符号的一个列表)来保存所有的禁止字符,然后使用会员测试,以确定是否应该删除一个字符,即forbidden = ('!', '?', '.', ...)。
文件
为了读写,你可以通过创建一个file类的对象,分别使用read、readline或 write方法来,打开和使用文件。能够读取或写入文件取决于文件打开时指定的模式。最后,当你完成对文件的操作时,你要调用close方法告诉Python,文件我们使用完了。
例子 (保存为 using_file.py):
poem = '''\
当工作完成时
编程是有趣的
如果想让你的工作有趣
使用Python!
'''
f = open('poem.txt', 'w') # 为'写w'打开文件
f.write(poem) # 文本写入文件
f.close() # 关闭文件
f = open('poem.txt') # 如果不指定打开模式,默认为'读'
while True:
line = f.readline()
if len(line) == 0: # 0长度表示文件结尾
break
print(line, end='')
f.close() # 关闭文件
输出:
D:> python using_file.py
当工作完成时
编程是有趣的
如果想让你的工作有趣
使用Python!
它是如何工作的:
首先,通过内置的函数open,指定文件名和我们要打开的模式,打开一个文件。模式可以是读模式('r'), 写模式('w')或追加模式('a')。我们也可以指定是否以文本格式('t') 或二进制格式('b')读,写或追加。实际上有更多可用的模式,help(open) 会给你更多的细节。默认情况下,open()认为是一个以读方式打开的文本格式的文件。
在我们的例子中,我们首先以写文本格式打开文件,使用文件对象的write方法写文件,然后,我们最后 close(关闭)文件。
接下来,为再次阅读,我们打开同一个文件。我们不需要指定一个模式,因为 '读文本文件' 是默认的模式。我们使用readline方法在一个循环中每次读文件的一行。该方法返回一个完整的行,包括换行符结束时的行。当返回一个空字符串时,这意味着我们已经到达文件的末尾,我们'打破'循环。
在默认情况下,print()函数在屏幕上自动换行打印文本。我们是通过指定end=''禁止产生新行,因为从文件读取的行在结尾已经包含一个换行符。然后,我们最终close文件。
现在,检查poem.txt的内容,确认程序确实写入和从那个文件读取。
拾取
Python提供了一个标准的模块称为pickle,使用它你可以在一个文件中存储任何的Python对象,然后把它弄回来后,这就是所谓的持续的存储对象。
例子 (保存为 pickling.py):
import pickle
# 我们将要存储对象的文件名
shoplistfile = 'shoplist.data'
# 购物清单
shoplist = ['苹果', '芒果', '胡萝卜']
# 定到文件
f = open(shoplistfile, 'wb')
pickle.dump(shoplist, f) # 把对象倒入一个文件
f.close()
del shoplist # 释放shoplist变量
# 从仓库读回
f = open(shoplistfile, 'rb')
storedlist = pickle.load(f) # 从文件载入对象
print(storedlist)
输出:
D:> python pickling.py
['苹果', '芒果', '胡萝卜']
它是如何工作的:
要在文件中存储一个对象,我们首先必须以'w'rite写'b'inary 二进制格式的方式open打开文件,然后调用pickle模块的dump函数,这个过程叫拾取。
接下来,我们使用pickle模块的load函数取回对象,这个过程叫做拆开。
小结
我们已经讨论了各种类型的输入/输出,文件处理和使用pickle模块。
接下来,我们将探讨索异常的概念。
继续阅读异常
python教程输入_输入/输出相关推荐
- 420集的python教程下载_微软官方发布了最新420集Python教程,这教程简直就是编程界福利...
泰国清迈-2014 年 10 月 22 日: 微软主页 clos Austria, Tyrol, Axamer Lizum, hosting village of 近日,微软上线了一套 Python ...
- 420集的python教程视频_阿里达摩院推的420集的python教程高清版,据说懂中文就能入门...
阿里达摩院推的400集的python教程高清版,据说懂中文就能入门 小编的内心是强大的,网友虐我千百遍,我待网友如初恋,因为今天又给大家带来了干货,Python入门教程完整版,完整版啊!完整版! 为了 ...
- Python基本语法_输入/输出语句详解
目录 目录 前言 输入 raw_input input raw_input 和 input 的区别 输出 print print 基本格式化输出 print复杂格式化输出 flags标志位 width ...
- maya python教程下载_[转载]技术教程-MayaPython教程四之实战篇
其实作为一个设置或者技术指导,学习到一定程度必须要接触编程,比如Mel.Python.C++ Api等程序语言,这些教程主要是转载胡泳滨的Maya Python学习教程,现在开始第一章-MayaPyt ...
- python美化输出模块_美化输出结果之Python模块PrettyTable介绍
0x00 前言 这是在分析Cobra源码的时候看到的,作者使用PrettyTable模块将漏洞扫描结果以表格形式格式化的输出. 这个模块在写CLI形式的工具时,还是会经常用到的,可以使最终的输出结果更 ...
- input 时分秒输入_输入年月日时分秒
编写一个函数,要求输入年月日时分秒,输出该年月日时分秒的下一秒.如输入 2004 年 12 月 31 日 23 时 59 分 59 秒,则输出 2005 年 1 月 1 日 0 时 0 分 0 秒. ...
- python 列表维度_如何输出python中list的维度
python中输出list的维度可以使用numpy来实现:import numpy as np a = [[1,2],[3,4]] print(np.array(a).shape) 扩展: resha ...
- 读芯术python教程答案_攻略Python的免费书单:走进编程,从这五本书开始
全文共1245字,预计学习时长5分钟 图源:unsplash Python一向是数据科学家最青睐的编程语言,它的语法相对简单.易于学习.除了机器学习数据库之外,还有非常活跃的开发人员社区,维护着各种库 ...
- 420集的python教程下载_阿里达摩院推荐的420集的python教程,据说懂中文就能入门高清版...
为了吸取教训,小编一定要分享一下攻略,"怎样获得小编分享的教程呢?",其实很简单,只需要私信我就可以了啦,具体步骤如下. 言归正传,小编该给大家介绍一下这套教程了,希望每个小伙伴都 ...
最新文章
- 百万级分组大报表开发与呈现
- BZOJ 4044 Luogu P4762 [CERC2014]Virus Synthesis (回文自动机、DP)
- linux笔记之 搭建本地yum源,网卡的基本操作
- Application对象 简单的聊天室
- 博士导师总结目标检测、卷积神经网络和OpenCV学习资料(教程/PPT/代码)
- 查找子串在母串中的位置、编写一个函数实现字符串拼接【数据结构实验报告算法详解】
- C#面向对象名词比较(三)
- 使用Xcode、Android Studio将项目链接到Git
- 一文了解caffe框架
- 张正友标定法代码解释
- 元气骑士怎么用电脑玩 元气骑士手游模拟器教程
- python3 用socket编写ftp
- cocos2d-x传智播客_Hanselminutes播客54-压缩持续集成
- APP地推效果监测精准方案
- 给我5个带”一“字的成语
- 无法上网dns转发_公共DNS服务114.114.114.114已恢复正常
- CDLinux U盘制作教程
- 2022-2028全球与中国消防无人机市场现状及未来发展趋势
- 计算机启动老是检测硬盘怎么解决,开机出现硬盘检测是怎么回事 硬盘检测的解决方法...
- 球半篮球分析,WNBA:风暴 vs 梦想
热门文章
- ajax struts 返回html,Struts2+ajax 异步请求,向前段返回字符串
- js 拉勾网效果_借助JShaman,建立自己的JS代码混淆平台
- android 编译faac,faac 移植到android
- Java基础01 1个和2个区别比较
- linux输出和错误信息文件,Log4j配置将错误信息输出到指定文件中[linux tomcat]
- shell命令删除昨日的日志_linux定时自动清理日志文件
- php 递归函数中静态变量,php递归,静态变量,匿名函数使用
- python语句分为什么_Python为什么使用缩进来分组语句?
- glusterfs java_GlusterFS分布式文件系统使用简介
- 华人微型计算机之父,计算机之父是谁?