1、定义字符串
1)字符串可以用
''
或者""
括起来表示。
- 如国字符串包含', I'm OK ,这时,可以用 " " 括起来表示:"I'm OK"
- 如果字符串包含",我们就可以用' '括起来表示:'Learn "Python" in imooc'
- 如果字符串既包含
'
又包含",需要对字符串的某些特殊字符进行 “转义”,Python字符串用
\
进行转义。
如:Bob said I'm OK.
这时需要在前面插入一个
\ 表示这是一个普通字符,不代表字符串的起始,上句又可以表示为:
'Bob said \"I\'m OK\".'
注意:转义字符
\ 不计入字符串的内容中。
\n :表示换行 \t :表示一个制表符 \\ :表示 \ 字符本身
2、raw字符串与多行字符串
如果一行字符串包含很多需要转义的字符,可以在字符串前面加个前缀
r
,表示这是一个 raw 字符串。
如:
r'\(~_~)/ \(~_~)/'
r'...'
不能表示多行字符串,也不能表示包含'
和 "
的字符串
'''...'''
表示多个字符串,如下:
'''
Line1
Line2
Line3
'''
等同于'Line1\nLine2\nLine3'
可以在多行字符串前面添加
r
,把这个多行字符串也变成一个raw字符串:
r'''
Line1
Line2
Line3
'''
如:
练习:
请把下面的字符串用r'''...'''
的形式改写,并用print打印出来:
'\"To be, or not to be\": that is the question.\nWhether it\'s nobler in the mind to suffer.'
解答
print r'''"To be, or not to be": that is the question.Whether it's nobler in the mind to suffer.'''
Unicode字符串
0 - 255被用来表示大小写英文字母、数字和一些符号,这个编码表被称为ASCII编码。比如:如大写字母 A 的编码是65,小写字母 z 的编码是122。
中国制定了GB2312编码,用来把中文编进去。
为了统一所有文字的编码,Unicode应运而生。Unicode把所有语言都统一到一套编码里
Unicode通常用两个字节表示一个字符,原有的英文编码从单字节变成双字节,只需要把高字节全部填为0就可以。
因为Python的诞生比Unicode标准发布的时间还要早,所以最早的Python只支持ASCII编码,普通的字符串'ABC'在Python内部都是ASCII编码的。
Unicode表示的字符串用 u'...' 表示,比如:
print u'中文'
中文
注意: 不加 u ,中文就不能正常显示。如果
.encode('utf-8')"
如:
在第一行添加注释
# -*- coding: utf-8 -*- 就不要添加u,2.7版的若是加 u 就得加上"
#coding=utf-8
print u'中文'.encode('utf-8')
Unicode字符串除了多了一个 u 之外,与普通字符串没啥区别,转义字符和多行表示法仍然有效:
转义:u'中文\n日文\n韩文'
多行:
u'''第一行
第二行'''
raw+多行:
"日文",
"韩文"等多种语言'''
中文字符串在Python环境下遇到 UnicodeDecodeError,这是因为.py文件保存的格式有问题。可以在第一行添加注释
# -*- coding: utf-8 -*-练习题:
用多行Unicode字符串表示下面的唐诗并打印:
静夜思
床前明月光,
疑是地上霜。
举头望明月,
低头思故乡。
解答:
或是