2.6 Python的输入和输出

微视频

Python语言的内置函数input()和print()用于输入和输出数据。本节将讲述这两个函数的使用方法。

2.6.1 input()函数

Python语言提供的input()函数从标准输入读入一行文本,默认的标准输入是键盘。input()函数的基本语法格式如下:

    input([prompt])

其中,prompt是可选参数,用来显示用户输入的提示信息字符串。用户输入程序所需要的数据时,就会以字符串的形式返回。

经验之谈

添加提示用户输入信息是比较友好的,对于编程时所需要的友好界面非常有帮助。

【例2.13】使用input()函数。

    >>> a= input("请输入最喜欢的编程语言:")
    请输入最喜欢的编程语言:Python
    >>> print(a)
    Python

上述代码用于提示用户输入最喜欢的编程语言的名称,然后将名称以字符串的形式返回并保存在a变量中,以后可以随时调用这个变量。

当运行此句代码时,会立即显示提示信息“请输入最喜欢的编程语言:”,之后等待用户输入信息。当用户输入Python并按下Enter键时,程序就接收到用户的输入。最后调用a变量,就会显示变量所引用的对象—用户输入的编程语言名称。

大牛提醒

用户输入的数据全部以字符串形式返回,如果需要输入数值,就必须进行类型转换。

2.6.2 print ()函数

print()函数可以输出格式化的数据,与C/C++语言的printf()函数功能和格式相似。print()函数的基本语法格式如下:

    print(value,…,sep=' ' ,end='\n')  #此处只说明了部分参数

上述参数的含义如下:

(1)value是用户要输出的信息,后面的省略号表示可以有多个要输出的信息。

(2)sep用于设置多个要输出信息之间的分隔符,其默认的分隔符为一个空格。

(3)end是一个print()函数中所有要输出的信息之后添加的符号,默认值为换行符。

【例2.14】测试处理结果的输出(源代码\ch02\2.13.py)。

    print("庄周梦蝴蝶",",蝴蝶为庄周")          #输出测试的内容
    print("庄周梦蝴蝶",",蝴蝶为庄周",sep='*')  #将默认分隔符修改为'*'
    print("庄周梦蝴蝶",",蝴蝶为庄周",end='>')  #将默认的结束符修改为'>'
    print("庄周梦蝴蝶",",蝴蝶为庄周")          #再次输出测试的内容

保存并运行程序,结果如图2-13所示。这里调用了4次print()函数。其中,第1次为默认输出,第2次将默认分隔符修改为'*',第3次将默认的结束符修改为'>',第4次再次调用默认的输出。

图2-13 例2.14的程序运行结果

从运行结果可以看出,第一行为默认输出方式,数据之间用空格分开,结束后添加了一个换行符;第二行输出的数据项之间以'*'分开;第三行输出结束后添加了一个'>',与第4条语句的输出放在了同一行中。

大牛提醒

从Python 3.x版本开始,将不再支持print输出语句,例如,print "Hello Python",解释器将会报错。

如果输出的内容既包含字符串,又包含变量值,就需要将变量值格式化处理。

例如:

    >>> x = 66
    >>> print ("x = %d" % x)
    x = 66
    >>> print ("x = %d" , x)
    x = %d 66

这里要将字符串与变量之间以%符号隔开。如果没有使用%符号将字符串与变量隔开,Python就会输出字符串的完整内容,而不会输出格式化字符串。

【例2.15】实现不换行输出(源代码\ch02\2.14.py)。

    a="碧空溶溶月华静,"
    b="月里愁人吊孤影。"
    #换行输出
    print( a )
    print( b )
    
    print('---------')
    #不换行输出
    print( a, end=" " )
    print( b, end=" " )
    print()

保存并运行程序,结果如图2-14所示。

图2-14 例2.15的程序运行结果

本例中,通过在变量末尾添加end=" ",可以实现不换行输出的效果。读者从结果可以看出换行和不换行的不同之处。