python王者归来—学习笔记(4)

第四章 基本输入与输出(输出函数output、格式化输出、字符串增强版格式化输出、文件函数open、输入函数input)

一、help( )函数可以列出某一个Python的指令或函数的使用说明。例如help(print)可以列出输出函数print( )的使用说明。

       dir(__builtins__)可以列出Python所有内置函数

二、函数print( )的基本语法:print(value, ..., sep=" ", end="\n", file=sys.stdout, flush=False)

  1. value表示想要输出的数据,可以一次输出多个数据,各数据间以逗号隔开。
  2. sep当输出多个数据时,可以插入各个数据的分隔字符,默认是一个空格字符。
  3. end当数据输出结束时所插入的字符,默认是插入换行字符,所以下一次print( )函数的输出会在下一行输出。
  4. file数据输出位置,默认是sys.stdout,也就是屏幕。
  5. flush是否清除数据流的缓冲区,预设是不清除
num1 = 222
num2 = 333
num3 = num1 + num2
print("这是数值相加", num3, end='\t')  #以tab键分隔,默认是换行符

str1 = str(num1) + str(num2)
print("强制转换为字符串相加", str1, sep=" $$$ ") #同一行输出用$$$分隔,默认是空格

三、格式化print( )输出基本使用格式如下: print("输出格式区" % (变量系列区, ...))

1、在上述输出格式区中,可以放置变量系列区对应的格式化字符,基本意义如下

● %d:格式化整数输出。

● %f:格式化浮点数输出。

● %x:格式化16进位整数输出。

● %o:格式化8进位整数输出。

● %s:格式化字符串输出。

2、print( )函数在格式化过程中,有提供功能可以让我们设定保留多少格的空间做输出,语法如下:

● %(+|-)nd:格式化整数输出。

● %(+|-)m.nf:格式化浮点数输出。

● %(+|-)nx:格式化16进位整数输出。

● %(+|-)no:格式化8进位整数输出。

● %(-)ns:格式化字符串输出。

上述对浮点数而言,m代表保留多少格数供输出(包含小数点),n则是小数数据保留格数。至于其他的数据格式n则是保留多少格数空间,如果保留格数空间不足将完整输出数据,如果保留格数空间太多则数据靠右对齐。如果格式化数值数据有加上负号(-),表示保留格数空间有多时,数据将靠左输出。如果格式化数值数据有加上正号(+),表示输出数据是正值时,将在左边加上正值符号。

x = 100
print("x=/%6d/" % x)  #保留六位空间,默认向右对齐
y = 10.5
print("y=/%-8.2f/" % y) #保留8位空间,其中小数占2位空间,负号表示向左对齐
z = 10.5
print("z=/%+8.2f/" % z) #默认向右对齐,显示输出正值符号
s = "Deep"
print("s=/%2s/" % s)  #保留2位空间,实际字符串占4位,全部输出

3、对于字符串的输出,print()还有增强版的格式化输出,使用format方法做格式化的动作,它的基本使用格式如下:print("输出格式区".format(变量系列区, ...)) 。在输出格式区内的字符串变量使用“{ }”表示:

score = 90
str1 = "洪七公"
count = 1
print("{} 你的第 {} 次考试成绩是 {}".format(str1, count, score))

四、在print( )函数中,默认输出是屏幕sys.stdout,其实我们可以利用这个特性将输出导向一个文件。

       首先利用open( )函数可以打开一个文件供读取或写入,如果这个函数执行成功,会传回文件对象: file_obj = open(file, mode="r")。这里open只列出最常见的两个参数。file_obj是文件对象,读者可以自行给予名称,未来print()函数可以将输出导向此对象,不使用时要关闭“file_Obj.close( )”。

● file用字符串列出欲打开的文件。

● mode打开文件的模式,如果省略代表是mode=“r”,使用时如果mode=“w”或其他,也可以省略mode=,直接写“w”。也可以同时具有多项模式,例如,“wb”代表以二进制文件打开供写入。可以是下列基本模式。

   “r”:这是预设,打开文件供读取(read)。

   “w”:打开文件供写入,如果原先文件有内容将被覆盖。

   “a”:打开文件供写入,如果原先文件有内容,新写入数据将附加在后面。

   “x”:打开一个新的文件供写入,如果所打开的文件已经存在会产生错误。

   “b”:打开二进制文件模式。

   “t”:打开本文(txt)文件模式,这是默认。

   “+”:打开文件供更新用。

然后使用print()函数将数据输出到文件对象中:

fstream1 = open("d:\out1.txt", mode="w") #覆盖原先内容输出模式
print("Test for output", file=fstream1)
fstream1.close()

fstream2 = open("d:\out2.txt", mode="a") #追加内容到原先文件中输出模式
print("Test for output", file=fstream2)
fstream2.close()

如果执行程序一次,可以得到内容相同的out1.txt和out2.txt。但是如果持续执行,out2.txt内容会持续增加,out1.txt内容则保持不变。

五、input( )函数功能与print( )函数功能相反,这个函数会从屏幕读取用户从键盘输入的数据,它的使用格式如下: value = input("prompt: ")   其中value是变量,所输入的数据会存储在此变量内,特别需注意的是所输入的数据不论是字符串或是数值数据返回到value时一律是字符串数据,如果要执行数学运算需要用int( )函数转换为整数:

name = input("请输入姓名:")
english = input("请输入英文成绩:")
math = input("请输入数学成绩:")
total = int(english) + int(math)
print("%s 你的总分是 %d" % (name, total))

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值