1.表示:

字符串可以用单引号或者双引号括起来,两者效果是完全一样的。

针对较长的字符串,也可以用三个引号括起来,即"""..."""或者'''...'''。引号里面再用与之不同类型的引号会被当做是普通字符,不会报错,如

   '"Yes," he said.',或"doesn't"。

2.换行:

字符串可以跨多行。一种方法是使用三引号:"""..."""或者'''...'''。行尾换行符会被自动包含到字符串中,但是可以在行尾加上 \ 来避免这个行为。

3.输出:

在交互式解释器中,输出的字符串会用引号引起来,特殊字符会用反斜杠转义。

print()函数生成可读性更好的输出, 它会省去引号并且打印出转义后的特殊字符。

4.转义:

假如要输出一个字符串包含单引号('),如何表示这个字符串呢?例如,字符串是What’s your name? 。你不能用’What’s your name?’ 来表示,因为Python 不知道字

符串的起始和结束位置。所以应该将字符串中间的这个单引号指定为不表示字符串的结束。这可在称之为转义符 \ 的协助下实现。就是说,能将字符串表示为’What\’s        your name?’ 。

还有一种方式就是用双引号"What’s your name?" 。

类似地,在用双引号的字符串中用双引号必须用转义符。

最后,必须用转义符 \\ 来表示反斜杠。

如果你想指定两行字符串,该如何做呢?一种方式就是用前面提到的用三引号的字符串,或者可以用转义符\n 表示新的一行的开始。例如This is the first line\nThis is

the second line 。另外一个有用的转义字符是 Tab 键—— \ t 。

需要说明的是,在一个字符串中,在一行末尾的反斜杠仅仅表示下一行的字符串

是上一行的继续,但并不增加新的行。

5.自然字符串:

如果,你想指定一些不被特殊处理,例如像转义序列,那么,就需要通过在字符串前面附加r 或R 来指定自然字符串。

例如,r"Newlines are indicated by \n" 。

尤其注意下面两个自然字符串会报错:r'C:\appdata\'(原始字符串末尾不能加反斜杠,显然这一点使自然字符串看起来没有那么优美了),还有

r'C:app'data'也会报错,然而r'C:app\'data'就不会报错。

(以上问题的个人理解:首先你得先符合字符串的正规表达,可以让编译器解析出来是一个字符串,然后再’弄‘成自然字符串)。

6.操作:

字符串可以用 操作符联接,也可以用 * 操作符重复多次。

相邻的两个或多个字符串字面量(用引号引起来的)会自动连接。然而这种方式只能用于两个字符串的连接,变量或者表达式是不行的。

如果你想连接多个变量或者连接一个变量和一个常量,使用 + ;这个功能在你想切分很长的字符串的时候特别有用。

7.索引:

字符串可以索引,第一个字符的索引值为0。Python 没有单独的字符类型;字符就是长度为 1 的字符串。

索引也可以是负值,此时从右侧开始计数。如 word[-1] #last character。

8.切片:

除了索引,还支持切片。索引用于获得单个字符,切片让你获得子字符串。如word[0:2] #characters from position 0(included) to 2(excluded).

注意,包含起始的字符,不包含末尾的字符。这使得s[: i] + s[i ;]永远等于 s 。

切片操作符中的第一个数(冒号之前)表示切片开始的位置,第二个数(冒号之后)表示切片到哪里结束,第三个数(冒号之后)表示切片间隔数。如果不指定

第一个数,Python就从序列首开始。如果没有指定第二个数,则Python会停止在序列尾。如果没有指定第三个数,间隔数即步长就默认为1。

也可以用负数做切片。负数用在从序列尾开始计算的位置。例如,shoplist[:-1]会返回除了最后一个项目外包含所有项目的序列切片,shoplist[::-1]会返回

倒序序列切片。这不失为字符串反转的一个巧妙的方法。

切片的索引有非常有用的默认值;省略的第一个索引默认为零,省略的第二个索引默认为切片的字符串的大小。

试图使用太大的索引会导致错误。但是,当用于切片时却处理的非常优雅。(自己试一试)。

9.字符串的不可变性:

Python 字符串不可以改变—它们是不可变的。因此,赋值给字符串索引的位置会导致错误。

如果你需要一个不同的字符串,你应该创建一个新的。

附注:内置函数len()返回字符串的长度。

2015-12-30           10:49:43


												

Python中的字符串及其相关操作的更多相关文章

  1. Python 中的类的相关操作

    构造函数 构造函数是任何类都有的特殊方法.当要创建一个类时,就要调用构造函数.他的名字是__init__.init的前后分别是两个下划线.时间类Time的构造函数如下: >>> cl ...

  2. Python字符串的相关操作

    1.大小写转换 判断字符串 s.isalnum() #所有字符都是数字或者字母 s.isalpha() #所有字符都是字母 s.isdigit() #所有字符都是数字 s.islower() #所有字 ...

  3. Python中对字符串的操作

    Python字符串的相关操作 1.字符串格式判断 s.isalnum() #所有字符都是数字或者字母 s.isalpha() #所有字符都是字母 s.isdigit() #所有字符都是数字 s.isl ...

  4. Python中的字符串操作总结(Python3.6.1版本)

    Python中的字符串操作(Python3.6.1版本) (1)切片操作: str1="hello world!" str1[1:3] <=> 'el'(左闭右开:即是 ...

  5. 一句python,一句R︱python中的字符串操作、中文乱码、NaN情况

    一句python,一句R︱python中的字符串操作.中文乱码.NaN情况 先学了R,最近刚刚上手Python,所以想着将python和R结合起来互相对比来更好理解python.最好就是一句pytho ...

  6. python基础学习一 字符串的相关操作

    python的字符串 在python中,字符串是以unicode编码的,所以python的字符串支持多语言 对于单个字符的编码,python提供了ord()函数获取字符的整数表示,chr()函数是把编 ...

  7. 【转】Python中的字符串与字符编码

    [转]Python中的字符串与字符编码 本节内容: 前言 相关概念 Python中的默认编码 Python2与Python3中对字符串的支持 字符编码转换 一.前言 Python中的字符编码是个老生常 ...

  8. Python中的文件和目录操作实现

    Python中的文件和目录操作实现 对于文件和目录的处理,虽然可以通过操作系统命令来完成,但是Python语言为了便于开发人员以编程的方式处理相关工作,提供了许多处理文件和目录的内置函数.重要的是,这 ...

  9. python中的字符串

    一.在python中,字符串是不可变类型 通过以下代码说明: >>> s = 'hello, world' >>> id(s) 2108634288304 > ...

随机推荐

  1. Python学习笔记——以函数为参数的内置函数

    1.用法 一个参数 def ds(x): return 2 * x + 1 print(ds(5)) 11 g = lambda x : 2 * x + 1 print(g(5)) 11 两个参数 d ...

  2. 【图像处理】H.264流媒体播放

    相信有不少人和我一样,希望实现H264格式视频的流媒体播放.但是对于一个新手来说,往往不知道从何入手.利用百度,GOOGLE等搜索资料真是沙里淘金.在琢磨了N周之后,才弄出来了点成果,其中费了很多无用 ...

  3. Web工作方式

    我们平时浏览网页的时候,会打开浏览器,输入网址后按下回车键,然后就会显示出你想要浏览的内容.在这个看似简单的用户行为背后,到底隐藏了些什么呢? 对于普通的上网过程,系统其实是这样做的:浏览器本身是一个 ...

  4. 改变core文件名称和生成路径

    echo "/mnt/nfs/core-%e-%p-%t" > /proc/sys/kernel/core_pattern core-函数名-pid-时间戳

  5. 使用alias简化kubectl输入

    在使用Kubernetes的过程中,我们需要经常使用kubectl(客户端)命令,经常敲下kubectl是非常繁琐的,使用Linux的alias可以为一些常见的命令起别名,这样使用起来就方便多了. ⒈ ...

  6. Android开发自定义View

    Android中View组件的作用类似于Swing变成中的JPanel,它只是一个空白的矩形区域,View组件中没有任何内容.对于Android应用的其他UI组件来说,它们都继承了View组件,然后在 ...

  7. es reindex

    # 添加mapping: url -X POST 'http://127.0.0.1:9200/indexName/typeName/_mapping?pretty' -d '{ "type ...

  8. 牛客 132C 简单瞎搞题 (bitset)

    大意: 给定序列$a$的第$i$个元素的取值范围$[L_i,R_i]$, 求$a$的平方和的种类数. 用bitset优化, 复杂度$O(\frac{n^5}{\omega})$ #include &l ...

  9. centos7上搭建NFS的实践

    NFS 即network file system 可用于向k8s集群提供持久存储 最小化安装centos后  把网卡设置好了后 1.关闭防火墙 [root@NFS ~]# systemctl stop ...

  10. spring-cloud 学习一 介绍

    微服务Microservice,跟之相对应的是将功能从开发到交付都打包成一个很大的服务单元,一般称之为Monolith,也称「巨石」架构.微服务实现和实施思路更强调功能单一,服务单元小型化和微型化,倡 ...