当前位置: 移动技术网 > IT编程>脚本编程>Python > Python3输入和输出实例讲解

Python3输入和输出实例讲解

2018年03月23日  | 移动技术网IT编程  | 我要评论

上海东方台,采花堂网,九阴真经天梯赛怎么参加

Python3输入和输出

1、输出格式美化

Python两种输出值得方式:表达式语句和print()hanshu

第三种方式是使用文件对象的write()方法,标准输出文件可以用sys.stdout引用

如果希望输出的形式更加多样,可以使用str.format()函数来格式化输出值

如果希望将输出的值转成字符串,可以使用pepr()或str()函数来实现。

str() :函数返回一个用户易读的表达形式

repr():产生一个解释器易读的表达形式

'''

import math

s = 'Hello , python'

print (str(s));

print(repr(s));

print(str(1/7));

x = 10 * 3.25

y = 200 * 200

s = 'x 的值为:' + repr(x) +', y的值为:' + repr(y) + '...'

print(s)

#repr()函数可以转义字符串中的特殊字符

hello = 'hello, python\n'

print(hello)

hellos = repr(hello)

print(hellos)

#repr() 的参数可以是Python的任何对象

print(repr((x,y,('Google','Runoob'))))

#输出平方与立方的表:

for x in range(1,11):

print(repr(x).rjust(2),repr(x*y).rjust(3),end=' ')

print(repr(x*x*x).rjust(4))

'''

1 40000 1

2 80000 8

3 120000 27

4 160000 64

5 200000 125

6 240000 216

7 280000 343

8 320000 512

9 360000 729

10 400000 1000

'''

for x in range(1,11):

print('{0:2d}{1:3d}{2:4d}'.format(x,x*x,x*x*x))

'''

1 1 1

2 4 8

3 9 27

4 16 64

5 25 125

6 36 216

7 49 343

8 64 512

9 81 729

101001000

'''

'''

在第一个例子中,每列间的空格由print()添加

这个例子展示了字符串对象的rjust()方法,他可以将字符串靠右,并在左边填充空格

还有类似地方法,如ljust()和center()。这些方法并不会写任何东西,他们仅仅返回新的字符串

另一个方法zfill(),它会在数字的左边填充0,如下

'''

print('12'.zfill(5))

print('-3.14'.zfill(7))

print('3.14159265359'.zfill(15))

#str.format()的基本使用如下:

print('{}网址:"{}!"'.format('菜鸟教程','www.runoob.com'))

#括号及其里面的字符(称作格式化字段)将会被format()中的参数替换

#在括号中的数字用于指向传入对象在format()中的位置,如下所示:

print('{0}和{1}'.format('Google','Runoob'))

print('{1}和{0}'.format('Google','Runoob'))

#如果在format()中使用了关键字参数,那么他们的值会指向使用该名字的参数

print('{name}网址:{site}'.format(name='菜鸟教程',site='www.runoob.com'))

#位置及关键字参数可以任意的结合:

print('站点列表{0},{1},和{other}。'.format('Google','Runoob',other='Taobao'))

#'!a'(使用ascii()),'!s(使用str())和'!r'(使用repr())可以用于在格式化某个值之前对其进行转化;

print('常量PI的值近似为:{}。'.format(math.pi))

print('常量PI的值近似为:{}。'.format(math.pi))

#可选项':'和格式标识符可以跟着字段名。这就允许对值进行更好的格式化。下面的例子将pi保留到小数点后三位:

print('常量PI的值近似为{0:.2f}'.format(math.pi))

#在':'后传入一个整数,可以保证该域至少有这么多的宽度。用于美化表格时很有用。

table = {'Google':1,'Runoob':2,'Taobao':3}

for name,number in table.items():

print('{0:10} ==> {1:10d}'.format(name,number))

#如果你有很长的格式化字符串,而你不想将他们分开,那么在格式化时通过变量名而非位置会是很好的事情

#最简单的就是传入一个字典,然后使用方括号'[]'来访问键值:

table = {'Google':1,'Runoob':2,'Taobao':3}

print('Runoob: {0[Runoob]:d}; Google: {0[Google]:d}; Taobao: {0[Taobao]:d}'.format(table))

#也可以通过在table变量前使用'*'来是想相同的功能:

table = {'Google':1,'Runoob':2,'Taobao':3}

print('Runoob: {Runoob:d}; Google: {Google:d}; Taobao: {Taobao:d}'.format(**table))

#旧式字符串格式化

#%操作符也可以实现字符串格式化。他将左边的参数作为类似sprintf()式的格式化字符串,而将右边的代入,然后返回格式化后的字符串

print('常量PI的值近似为:%5.3f。' % math.pi)

#因为str.format()比较新的函数,大多数的Python代码任然使用%操作符。但是应为这种旧式的格式化最终会从该语句中移除,应该跟多的使用str.format()

#读取键盘输入

#Python提供了input()内置函数从标准输入读入一行文本,默认的标准输入是键盘

#input可以接收一个Python表达式作为输入,并将运算结果返回。

#str = input("请输入:")

#print("你的输入内容是:",str)

#读和写文件:open()将会返回一个file对象

'''

open(filename,mode)

filename:变量是一个包含了你要访问的文件名称的字符串值

mode:决定了打开文件模式:只读,写入,追加等。所有可取值见如下的完全李彪。这个参数是非必须的,默认文件访问模式为只读(r);

'''

#打开一个文件

f = open("./tmp/foo.txt",'w')

#向文件里写入

f.write("Python 是一个非常好的语言。\n是的,的确非常好!!\n")

#关闭打开的文件

f.close()

'''

第一个参数为要打开的文件名

第二个参数描述文件如何使用的字符。mode可以是'r'如果文件只读,'w'只用于写(如果存在同名文件则被删除),和'a'用于追加文件内容;所有的任何数据都会被自动增加到末尾。'r+'同时

用于读写,mode参数是可选的;'r'将是默认值

'''

#文件对象的方法

'''

f.read()

为了读取一个文件的内容,调用f.read(size),这将读取一定数目的数据,然后作为字符串或字节对象返回。

size是一个可选的数字类型的参数。当size被忽略了或者为负,那么该文件的所有内容都将被读取并且返回。

'''

f = open("./tmp/foo.txt","r")

str = f.read()

print(str)

f.close()

#f.readline()会从文件中读取单独的一行。换行符为'\n'。f.readline()如果返回一个空字符串,说明已经读取到最后一行

f = open("./tmp/foo.txt","r")

str = f.readline()

print(str)

f.close()

#f.readlines()将返回该文件中包含的所有行

#如果设置可选参数sizehint,则读取指定长度的字节,并且将这些字节按行分割。

f = open("./tmp/foo.txt","r")

str = f.readlines()

print(str)

f.close()

f = open("./tmp/foo.txt","r")

for line in f:

print(line,end='')

f.close()

#f.write() 将string写入到文件中,然后返回写入的字符数

f = open("./tmp/foo.txt","w")

num = f.write("Python 是一个非常好的语言。\n是的,的确非常好!!\n")

print(num)

f.close()

#如果要写入一些不是字符串的东西,那么将需要先进行转换:

f = open("./tmp/foo.txt","w")

value = 'www.runoob.com'

f.write(value)

f.close()

#f.tell()返回文件对象当前所处的位置,它是从文件开头开始算起的字节数。

#f.seek()如果要改变文件当前的位置,可以使用f.seek(offset,from_what)函数

'''

from_what的值,如果是0表示开头,如果是1表示当前位置,2表示文件的结尾

seek(x,0):从起始位置即文件首航首字符开始移动x个字符

seek(x,1):表示从当前文职往后移动x个字符

see(-x,2):表示从文件的结尾往前移动x个字符

'''

f = open("./tmp/foo.txt","rb+")

num = f.write(b'0123456789abcdef')

print(num)

se = f.seek(5)

print(se)

r = f.read(1)

print(r)

se = f.seek(-3,2)

print(se)

r = f.read(1)

print(r)

#f.close() 在文本文件中(那些打开文件的模式面没有b的),只会相对于文件其实文职进行定位

#当你处理完一个文件后,调用f.close()来关闭文件并释放系统的资源,如果尝试再调用该文件,则会抛出异常 <

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网