任何程序都会通过输入输出的功能与用户进行交互和沟通。所谓输入是指程序捕获用户通过键盘输入的信息,而输出则是指程序向用户显示或打印数据。在Python语言中,用 input()函数进行输入,print() 函数进行输出。
使用Python处理数据,需要输入数据,同时需要输出处理结果。
(一)数据输入
在运行程序的过程中,通常需要从键盘输入数据,然后利用输入的数据参加后续的数据处理。输入数据可以使用input()实现。
格式: [var=]input([提示字符串])
var:用于接收从键盘输入的数据(注意:接收的数据,不含回车键);如果省略,则会暂停程序运行,等待用户按回车键继续,因此可以起到暂停程序运行的作用。如果需要程序暂停t秒,则可以使用time模块的sleep(t)实现(即:time.sleep(t))。
提示字符串:用于显示的提示信息。如果省略,则无提示信息。
【例1】:
# 在示例程序,Py2-1.py
name=input('输入姓名:')
print(name,type(name))
age=input('输入年龄:')
print(age,type(age))
print(name,age,' 婚否 ?’)
x=input( ) #婚否?:True
print(x,type(x))
【注意】input()把输入的数据,均作为字符串处理。如果需要按照不同的数据类型使用数据,则需使用类型转换函数,把字符串转换为指定类型。
例:age=int(input('输入年龄:'))
数据的默认格式输出,可以使用print( )。
基本输出函数:
print() 函数格式为:print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)
各参数含义如下:
value: 表示需要输出的对象,一次可以输出一个或者多个对象(其中...表示任意多个对象),当输出多个对象时,对象之间要用逗号(,)分隔;
sep:表示输出时对象之间的间隔符,默认用一个空格分隔;
end:表示输出以何字符结尾,默认值是换行符;
file:表示输出位置,可将输出到文件,file指定的对象要有“写”的方法,默认值是sys.stdout(标准输出);
flush:将缓存里面的内容是否强制刷新输出,默认值是False。
【例2】在命令窗口中显示输出内容的程序。
编写源程序如下:
# 示例程序,Py2-3.py
k=int(input('k= ? '))
str = 'Python 语言入门很简单。\n明白了吗?'
print (str) #在命令窗口中显示输出内容的程序。
print ('5 + 3 = ', 5+3,'k*k=',k*k) #输出语句print( )有“原样照印”及简单计算功能。
【例3】应用输出语句的“原样照印”功能,输出一个用“*”号组成的三角形。
编写源程序如下:
# 输出一个用“*”号组成的三角形,Py2-3.py
print ('*')
print ('* *')
print ('* * *')
print ('* * * *')
【例4】在窗体中显示输出的内容。
编写源程序如下:
# 在窗体中显示输出的内容,Py2-4.py
Import tkinter # 导入模块的import语句,导入要使用的tkinter模块。
top = tkinter.Tk() #创建一个顶层窗体对象,Tk是模块tkinter的类。
label1 = tkinter.Label(top, text = '广州欢迎你!华夏欢迎您!')
#使用tkinter模块的Label标签,显示文字内容。
label1.pack() #把Label标签加入到窗体中。
top.mainloop() #表示事件循环,使窗体一直保持显示状态。
【例5】在窗体中显示一幅图像(png、gif等格式)。
编写源程序如下:
import tkinter
top = tkinter.Tk()
img = tkinter.PhotoImage(file = 'gzhx01.png')
label1 = tkinter.Label(image = img, height = 390, width = 330)
label1. pack()
top.mainloop()
将其保存为py2-5.py,并在同一文件夹中事先存放了图像文件gzhx01.png。

(二)特定格式输出
数据的特定格式输出,可以使用格式字符串。
格式字符串%(表达式1,…,表达式n)
格式字符串用于控制(表达式1,…,表达式n)的输出格式。格式字符串包括普通字符和格式字符。普通字符,按照原样输出。
常用的格式字符:
%[[+|-]n]c:输出ASCII字符。等价于chr()。长度n位,。+右对齐(默认,可省略),-左对齐。
例:print('%c'%'A')
A
>>> print('%c%c%c'%('A',66,True+66))
ABC
>>> print('%c%+6c%c'%('A',66,True+66))
A BC
例:格式输出示例
name = input("输入姓名:")
print("{}同学,学好Python,前途无量!".format(name))
print("{}大侠,学好Python,大展拳脚!".format(name[0]))
print("{}哥哥,学好Python,人见人爱!".format(name[1:]))
输出结果:
输入姓名:林明
林明同学,学好Python,前途无量!
林大侠,学好Python,大展拳脚!
明哥哥,学好Python,人见人爱!

