输入和输出

输出

1、输出字符串

print加上字符串,就可以向屏幕上输出指定的文字。比如输出'hello, world',用代码实现如下:

>>> 
print
 'hello, world'

print语句也可以跟上多个字符串,用逗号“,”隔开,就可以连成一串输出:

>>> print 'The quick brown fox', 'jumps over', 'the lazy dog'
The quick brown fox jumps over the lazy dog

注:print会依次打印每个字符串,遇到逗号“,”会输出一个空格( ),因此,输出的字符串是这样拼起来的

>>> print 'The quick brown fox', 'jumps over', 'the lazy dog'

The quick brown fox jumps over the lazy dog

2、打印整数或计算

print也可以打印整数,或者计算结果:

>>> print 500
500
>>> print 300 + 200
500

因此,我们可以把计算100 + 200的结果打印得更漂亮一点:

>>> print '100 + 200 =', 100 + 200
100 + 200 = 300

注:对于100 + 200,Python解释器自动计算出结果300,但是,'100 + 200 ='是字符串而非数学公式,Python把它视为字符串,请自行解释上述打印结果。

3、脚本程序打印输出

#程序内容

$ cat hello.py 
#!/usr/bin/python
print 'Hello Word!'

#运行程序

$ python hello.py 
Hello Word!

输入

1、交互输入

(1)现在,你已经可以用print输出你想要的结果了。但是,如果要让用户交互怎么办?Python提供了一个raw_input,比如输入用户的名字:

>>> print raw_input('name:')
name:xiaodangjia
xiaodangjia

(2)可以让用户输入字符串,并存放到一个变量里。

当你输入name = raw_input()并按下回车后,Python交互式命令行就在等待你的输入了。这时,你可以输入任意字符,然后按回车后完成输入。

>>> name = raw_input()
xiaodangjia

(3)输入完成后,不会有任何提示,Python交互式命令行又回到>>>状态了。那我们刚才输入的内容到哪去了?答案是存放到name变量里了。可以直接输入name查看变量内容:

>>> name
'xiaodangjia'

2、输入输出

(1)在计算机程序中,变量不仅可以为整数或浮点数,还可以是字符串,因此,name作为一个变量就是一个字符串。

要打印出name变量的内容,除了直接写name然后按回车外,还可以用print语句:

>>> print name
xiaodangjia

(2)有了输入和输出,我们就可以把上次打印'hello, world'的程序改成有点意义的程序了:

>>> print 'hello,',name
hello, xiaodangjia

3、脚本程序输入输出

(1)运行下面的程序,第一行代码会让用户输入任意字符作为自己的名字,然后存入name变量中;第二行代码会根据用户的名字向用户说hello,比如输入Xiaodangjia

#程序内容

$ cat hello.py 
#!/usr/bin/python
name = raw_input('Please enter your name:')
print 'Hello,',name

#运行程序

$ python hello.py 
Please enter your name:xiaodangjia
Hello, xiaodangjia

(2)程序一运行,会首先打印出Please enter your name:,这样,用户就可以根据提示,输入名字后,得到hello, xxx的输出,每次运行该程序,根据用户输入的不同,输出结果也会不同。

$ python hello.py 
Enter your name:solin
Hello, solin

Python 中文编码

1、程序中出现中文时报错

(1)报错信息

输出中文字符"你好,世界"就有可能会碰到中文编码问题,是因为Python 文件中如果未指定编码,在执行过程会出现报错:

#程序内容
#!/usr/bin/python
print '你好,世界!'

#执行程序,报错信息

$ python hello.py 
  File "hello.py", line 2
SyntaxError: Non-ASCII character '\xe4' in file hello.py on line 2, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details

(2)错误分析

Python中默认的编码格式是 ASCII 格式,在没修改编码格式时无法正确打印汉字,所以在读取中文时会报错。

解决方法为只要在文件开头加入 # -*- coding: UTF-8 -*- 或者 #coding=utf-8 就行了。

2、添加编码格式,正常输出

(1)添加编码格式后,执行程序

#程序内容
#!/usr/bin/python
# -*- coding: UTF-8 -*-
print '你好,世界!';

#执行程序,输出结果为

$ python hello.py 
你好,世界!

(2)若代码中包含中文,就需要在头部指定编码。

# -*- coding: UTF-8 -*-