当前位置: 首页 > 科技观察

PythonI-O零基础入门:从Print函数开始

时间:2023-03-17 19:22:44 科技观察

计算机程序是用来执行任务的,是满足人类需求的工具。有了信息的输入,程序就可以接收指令,理解需求;随着信息的输出,可以将操作结果反馈给用户。在编程中,信息输入操作称为Input,输出操作称为Output,统称为Input/Output,缩写为I/O。与其他语言相比,Python中的I/O操作更加简单方便,通过简单的指令即可实现基本的输入输出。另外,I/O不仅仅指信息的录入和打印信息,还包括文件的输入输出。01输入和打印1。input输入功能用于交互信息输入时,相当于一个容器。用户从键盘输入的信息首先存储在容器中,然后通过变量引用。输入函数可以接受多种数据类型,包括number、str等基本类型,以及list、tuple、dict、set等复合类型。使用输入功能时,可以在括号内加上str,提示输入。需要注意的是,Python3.x中的input函数默认所有接收到的数据都是str,如下图。输入不同的数据类型#输入一个数字,Python默认typenumber1=input('Pleaseenteranumber:')输出结果:Pleaseenteranumber:1#输入一个str,Python默认typestr1=input('Pleaseenter一个字符串:')输出结果:请输入一个字符串:1#输入一个数字并转换为int类型number2=int(input('请输入一个数字:'))输出结果:请输入一个数字:123#查看以上输入的输出结果类型print('number1,str1andnumber2typesare:\n',type(number1),type(str1),type(number2))outputresult:number1,str1andnumber2typesare:从输出结果可以看出,在str1变量中,虽然输入的不是str,但也默认为str。要获得所需的数据类型,必须进行类型转换。2、print给变量赋值后,如果需要查询变量的内容,只需要键入变量名并按回车键,这称为表达式语句的输出。使用打印功能是比较流行的一种输出方式,可以实现多样化的输出操作。当使用print函数进行输出操作时,可以在函数的括号中插入str,将指定的文本输出到屏幕上,比如打印“hello,world!”的程序;要输出分配的变量,将其插入打印函数的括号中只需插入变量名即可。print函数也可以接收多个str,需要用逗号分隔。print函数会依次打印每一个str,遇到逗号就输出一个空格,所以输出的str是拼在一起的。打印功能还可以自动计算结果。运行“print(number1+number2)”语句,解释器会自动计算相加的结果并输出。打印功能的应用程序代码如下所示。print函数使用#print函数接收多个strprint('I','love','China')输出结果:我爱中国#print函数在打印前计算结果print('100+200=',100+200)输出结果:100+200=300格式化输出是计算机输出中的一个重要概念,主要针对str。它的运行机制是:用占位符在str中放置一个位置,然后用一个值或字符替换占位符,重组str后输出。这种输出方式主要是为了方便修改语句,减少编写代码的工作量,包括自动位选择和基数转换等功能。Python中格式化输出有两种方法,分别是“%+格式化字符”方法和格式化函数方法。“%+格式字符”的方法是较早的格式化输出方法。使用方法是在百分号(%)后面加上相应的格式字符作为占位符,然后替换输出。Python中的格式说明符如下。Python格式字符str%s:字符串(使用str函数显示)%r:字符串(使用repr函数显示)%c:单字符整数%b:二进制整数%d:十进制整数%i:十进制整数%o:八进制整数%x:十六进制整数float%e:指数(底数写成e)%E:指数(底数写成E)%f:浮点数%F:浮点数%g:指数(e)或浮点数-点数(根据显示长度)可见,Python中的格式说明符可以分别用于str、integer、float输出。使用“%+格式化字符”的方法对输出进行格式化,如下图。"%+格式字符"格式化输出#用%s和%d分别格式化字符串'Zara'和整数20print("我叫%s,今年%d岁!"%('Zara',20))输出:我叫Zara,今年20岁!#用%d格式化16,用%o用八进制表示十进制整数16print("%d的八进制是%o"%(16,16))输出结果:16的八进制是20#用%.3f转换integertoafloatprintwith3decimalplaces("23isconvertedtoafloatingpointnumberwith3decimalplaces%.3f"%(23))输出结果:23转为3位小数的浮点数23.000format函数作为格式化输出的强大工具,format函数采用任意一组位置和关键字参数,并用它们的值替换str中的占位符。此方法使用大括号({})作为特殊字符来替换%。{}可以在没有参数的情况下使用,可以使用数字或用于占位符和替换的关键字数字。前两者属于位置替换法,后者属于关键词替换法。format函数还支持格式说明符,如下所示。format函数格式字符'c':字符。在打印之前将整数转换为相应的Unicode字符串'b':二进制。输出基数2'o'中的数字:八进制。输出以8为基数的数字'd':十进制。输出以10为基数的数字'x':十六进制。数字以16进制输出,9以上的数字用小写字母'e'表示:求幂符号。以科学记数法打印一个数字。使用'e'表示幂'g':通用格式。以定点格式输出值,当值特别大时,以幂形式打印'n':number。整数相当于“d”,浮点数相当于“g”。'%':百分比。数值乘以100后,以定点('f')格式打印,数值后有百分号。使用格式化函数格式化输出的基本操作如下。format函数格式化输出#format函数不带参数输出print("我叫{},已经{}岁了!".format('Zara',18))输出结果:我叫AsZara,已经20岁了!#formatfunctionwithnumbersandshuffledorderprint("Mynameis{1},already{0}yearsold!".format(18,'Zara'))输出结果:我叫Zara,已经20岁了!#foematfunctionwithkeywordparameterprint("Mynameis{name},itis{age}yearsold!".format(age=18,name='Zara'))输出结果:我叫Zara,已经20岁了老的!#format函数将数字格式化为二进制数print("Mynameis{},andIalready{:b}yearsold!".format('Zara',18))Output:MynameisZara,and我已经10010岁了!02文件I/O1.open内置函数open的作用是打开一个文件,创建一个文件对象供调用。在打开文件的基础上,可以实现后续的文件读写操作。open函数的基本语法格式如下:open(filename,mode)open函数的常用参数及其说明如下。open函数常用参数及其说明filename:接收文件名,表示文件名。无默认值mode:接收模式名称,表示文件打开模式。默认为只读filename表示要访问的文件名。mode确定打开文件的模式。此参数是可选的。默认的文件访问模式是只读(r),它的可能取值如下。文件访问模式及其描述r:以只读方式打开文件。文件指针将放置在文件的开头。这是默认模式rb:以只读方式打开二进制格式的文件。文件指针将放置在文件的开头。这是默认模式r+:打开文件进行读写。文件指针会放在文件的开头rb+:以二进制格式打开一个文件进行读写。文件指针将被放置在文件的开头w:以只写方式打开文件。如果文件存在则覆盖该文件;createanewfileifitdoesnotexistwb:以二进制格式打开一个文件只写。如果该文件已经存在,它将被覆盖;如果文件不存在,将创建一个新文件w+:打开一个文件进行读写。如果文件存在则覆盖该文件;createanewfileifitdoesnotexistwb+:以二进制格式打开文件进行读写。如果该文件已经存在,它将被覆盖;如果该文件不存在,将创建一个新文件a:打开一个文件进行追加。如果文件已经存在,文件指针将放在文件末尾,即在现有内容之后写入新内容;如果该文件不存在,将创建一个新文件用于写入ab:二进制格式打开一个文件进行追加。如果文件已经存在,文件指针将放在文件末尾,即在现有内容之后写入新内容;如果文件不存在,将创建一个新文件用于写入a+:打开一个文件用于读写。如果文件已经存在,则将文件指针放在文件末尾,并以追加方式打开文件;如果文件不存在,则创建一个新文件用于读写ab+:以二进制格式打开一个文件进行追加。如果文件已经存在,文件指针将放在文件末尾;如果文件不存在,新建一个文件进行读写2.read在Python中,需要先以只读方式打开文件内容一个文件,可以使用open函数传入文件名称和模式标识符,然后使用读取函数读取文件的内容。read函数可以一次从打开的文件中读取所有内容,内容读入内存,用一个str对象表示。read函数的基本语法格式如下:f=open(filename,mode)f.read(size)read函数的常用参数及其说明如下。读取函数常用参数及其说明size:接收数,表示读取的字符数。默认是文件中的所有字符。size指示要从文件中读取的字节数。该方法从文件头开始读取,每次调用都会读取size字节的内容。如果没有传递大小,程序会尝试尽可能多地读取,直到文件末尾。使用read函数读取test.txt文件并打印,如下图。read函数读取test.txt文件#以只读方式打开test.txt文件data=open('../data/test.txt','r')#读取文件中的内容并存储inthecontentvariablecontent=data.read()#打印出content变量中包含的文本内容print('Thecontentinthetextis:',content)输出结果:Thetextincontentis:HelloWorld!3.写在Python中,写文件和读文件的操作是类似的:先调用open函数并传入标识符'w'或'wb',然后使用write函数进行写操作。write函数的基本语法格式如下:f=open(filename,mode)f.write(str)write函数的常用参数及其说明如下。write函数常用参数及其说明str:接收任意str,表示写入的文本内容。默认为空。write函数将任何str写入打开的文件。需要注意的是Python中的str可以是二进制数据,不限于文本。写入str以外的内容,先将要写入的内容转换成str。使用write函数写入文件的操作如下。write函数写入文件#打开一个文件web=open('../tmp/web.txt','w')#转换内容写入文件value=('http://www.tipdm.org',14)str_value=str(value)web.write(str_value)web.close()#打开文本,读取写入的内容web=open('../tmp/web.txt','r')content=web.read()print('Thecontentofthistextis:',content)输出结果:Thecontentofthistextis:('http://www.tipdm.org',14)4.Theclose函数可以刷新缓存中任何未写入的信息并关闭文件。关闭后,文件不能再写入。使用该文件后,应将其关闭。关闭文件的本质是将文件指针与文件分开。关闭后,原来的链接文件就不能再通过指针操作了。如果文件在使用后没有关闭,文件对象会一直占用操作系统的资源,操作系统同时打开的文件数是有限的。写入文件时,数据会占用操作系统的内存,然后在计算机空闲时慢慢写入。不调用close函数的后果是可能只有部分数据写入磁盘,其他信息会丢失。close函数的基本语法格式如下:fileObject.close()close函数的常用参数及其说明如下。close函数常用参数及其说明fileObject:接收文件名,表示正在使用的文件对象。无默认值本文代码中,需要在最后使用close函数关闭文件,以保证信息的完整性。