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编码。比如:如大写字母 的编码是65,小写字母 的编码是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字符串表示下面的唐诗并打印:

静夜思

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

解答:


或是


评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

释梦燃

你的鼓励是我创作的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值