admin 管理员组

文章数量: 887007

Python基础入门(七)

1、定义字符串
1)字符串可以用''或者""括起来表示。
  •     如国字符串包含', I'm OK ,这时,可以用 " " 括起来表示:"I'm OK"
  •     如果字符串包含",我们就可以用' '括起来表示:'Learn "Python" in imooc'
  •     如果字符串既包含'又包含",需要对字符串的某些特殊字符进行 “转义”,Python字符串用\进行转义。
如:Bob said  I'm OK. 这时需要在前面插入一个  \ 表示这是一个普通字符,不代表字符串的起始,上句又可以表示为: 'Bob said \"I\'m OK\".'
注意:转义字符  \ 不计入字符串的内容中。
2)常用的转义字符还有:
    \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.'''
3、

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 ,中文就不能正常显示。如果      

在第一行添加注释

# -*- coding: utf-8 -*-  就不要添加u,2.7版的若是加 u 就得加上"
.encode('utf-8')"

如: #coding=utf-8 print u'中文'.encode('utf-8')

Unicode字符串除了多了一个 u 之外,与普通字符串没啥区别,转义字符和多行表示法仍然有效:

转义:u'中文\n日文\n韩文'

多行:

u'''第一行
第二行''' 

raw+多行:

 
 
ur'''Python的Unicode字符串支持"中文", 
 
"日文",
"韩文"等多种语言'''
 

中文字符串在Python环境下遇到 UnicodeDecodeError,这是因为.py文件保存的格式有问题。可以在第一行添加注释

# -*- coding: utf-8 -*-
练习题:

用多行Unicode字符串表示下面的唐诗并打印:

静夜思

床前明月光,
疑是地上霜。
举头望明月,
低头思故乡。

解答:


或是

本文标签: Python基础入门(七)