1、当你输入name = raw_input()
并按下回车后,Python交互式命令行就在等待你的输入了。这时,你可以输入任意字符,然后按回车后完成输入。
2、
但是程序运行的时候,没有任何提示信息告诉用户:“嘿,赶紧输入你的名字”,这样显得很不友好。幸好,raw_input
可以让你显示一个字符串来提示用户,于是我们把代码改成:
name = raw_input('please enter your name: ')
print 'hello,', name
再次运行这个程序,你会发现,程序一运行,会首先打印出please enter your name:
,这样,用户就可以根据提示,输入名字后,得到hello, xxx
的输出:
C:Workspace> python hello.py
please enter your name: Michael
hello, Michael
3
如果字符串里面有很多字符都需要转义,就需要加很多,为了简化,Python还允许用
r''
表示''
内部的字符串默认不转义,可以自己试试:
>>> print '\ \' >>> print r'\ \' \ \
如果字符串内部有很多换行,用
写在一行里不好阅读,为了简化,Python允许用'''...'''
的格式表示多行内容,可以自己试试:
>>> print '''line1
... line2
... line3'''
line1
line2
line3
上面是在交互式命令行内输入,如果写成程序,就是:
print '''line1
line2
line3'''
多行字符串'''...'''
还可以在前面加上r
使用,请自行测试。
空值是Python里一个特殊的值,用None
表示。None
不能理解为0
,因为0
是有意义的,而None
是一个特殊的空值。
此外,Python还提供了列表、字典等多种数据类型,还允许创建自定义数据类型,我们后面会继续讲到。
由于历史遗留问题,Python 2.x版本虽然支持Unicode,但在语法上需要'xxx'
和u'xxx'
两种字符串表示方式。
Python当然也支持其他编码方式,比如把Unicode编码成GB2312:
>>> u'中文'.encode('gb2312')
'xd6xd0xcexc4'
但这种方式纯属自找麻烦,如果没有特殊业务要求,请牢记仅使用Unicode和UTF-8这两种编码方式。
# -*- coding:utf-8 -*- import sys print(sys.getdefaultencoding()) print u'中文' t='nihao' s = '你好啊' if(isinstance(s, unicode)): print "this is zhongwen" print s else: s = s.decode('utf8') print s print u'牛逼'
ascii 中文 你好啊 牛逼 [Finished in 0.4s]