Python 标准输入输出


Python在sys模块内置了3个对象表示标准输入、标准输出、标准错误对象,分别为stdin(键盘)、stdout(屏幕)、stderr(屏幕)。


Python中一般使用input函数来接收用户的输入,使用print函数输出内容到输出设备。

标准输入

input函数的参数prompt用来在控制台输出提示信息,是可选的。input输入不能超过1行。

下面是标准输入的例子:

#!/usr/bin/python
s = input("please input : ")    # 输入 123
print(s)        # 123
print(type(s))  # <class 'str'>

标准输出

print函数的语法:

print(*objects, sep=' ', end='\n', file=sys.stdout, flush=false)

参数说明:

  • objects参数是要输出的对象,是可变长度的参数,可以输出任意多个对象。
  • sep参数,输出对象之间的分隔符,默认是一个空格。
  • end参数,最后输出的结束字符,默认是一个回车。
  • file参数,输出文件,默认是标准输出设备。
  • flush参数,是否立即将对象写入输出文件,默认为false。

下面标准输出的例子:

#!/usr/bin/python
print('hello, world!')  # hello, world!

for i in range(1, 5):
    print(i, end=', ')  # 1, 2, 3, 4,

print('\n', 10, 20, 30, sep='*', end='.')   # *10*20*30.

输出格式化

有2种方式格式化字符串:

  • 调用字符串的format方法,有位置占位符{0}和关键字占位符{keyword}两种写法。
  • 使用字符串的%操作符。格式为format % values,如果只有一个参数,values可以为str,int等基本类型,如果有多于一个参数,values可以是元组和字典。

下面是字符串格式化的例子:

#!/usr/bin/python
print('{0} eat {1}'.format('cat', 'fish'))  # cat eat fish
print('{} like {}'.format('dog', 'bone'))   # dog like bone
print('{pet} eat {food}'.format(pet = 'rabbit', food = 'carrot'))   # rabbit eat carrot

print('no: %s' % 3) # no: 3
print('%s like %s' % ('dog', 'bone'))   # dog like bone

d = {'color': 'white', 'pet': 'rabbit'}
print('%(pet)s is  %(color)s' % d)      # rabbit is  white