Python中的字符串及其相关操作
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中的字符串及其相关操作的更多相关文章
- Python 中的类的相关操作
构造函数 构造函数是任何类都有的特殊方法.当要创建一个类时,就要调用构造函数.他的名字是__init__.init的前后分别是两个下划线.时间类Time的构造函数如下: >>> cl ...
- Python字符串的相关操作
1.大小写转换 判断字符串 s.isalnum() #所有字符都是数字或者字母 s.isalpha() #所有字符都是字母 s.isdigit() #所有字符都是数字 s.islower() #所有字 ...
- Python中对字符串的操作
Python字符串的相关操作 1.字符串格式判断 s.isalnum() #所有字符都是数字或者字母 s.isalpha() #所有字符都是字母 s.isdigit() #所有字符都是数字 s.isl ...
- Python中的字符串操作总结(Python3.6.1版本)
Python中的字符串操作(Python3.6.1版本) (1)切片操作: str1="hello world!" str1[1:3] <=> 'el'(左闭右开:即是 ...
- 一句python,一句R︱python中的字符串操作、中文乱码、NaN情况
一句python,一句R︱python中的字符串操作.中文乱码.NaN情况 先学了R,最近刚刚上手Python,所以想着将python和R结合起来互相对比来更好理解python.最好就是一句pytho ...
- python基础学习一 字符串的相关操作
python的字符串 在python中,字符串是以unicode编码的,所以python的字符串支持多语言 对于单个字符的编码,python提供了ord()函数获取字符的整数表示,chr()函数是把编 ...
- 【转】Python中的字符串与字符编码
[转]Python中的字符串与字符编码 本节内容: 前言 相关概念 Python中的默认编码 Python2与Python3中对字符串的支持 字符编码转换 一.前言 Python中的字符编码是个老生常 ...
- Python中的文件和目录操作实现
Python中的文件和目录操作实现 对于文件和目录的处理,虽然可以通过操作系统命令来完成,但是Python语言为了便于开发人员以编程的方式处理相关工作,提供了许多处理文件和目录的内置函数.重要的是,这 ...
- python中的字符串
一.在python中,字符串是不可变类型 通过以下代码说明: >>> s = 'hello, world' >>> id(s) 2108634288304 > ...
随机推荐
- HP LaserJet M602 更換碳粉盒CE390XC
HP LaserJet M602 原裝碳粉盒為 CE390A 且容量小不夠用,故更換大號的 CE390XC ,需要將 CE390XC 外面的所有橙色部件去掉(取走上面一條帶2個凸起的遮罩,左側有一個耳 ...
- C++ min函数
min 是c++标准库头文件中的一个重要的函数.它的功能是一个最小值的函数,比较两个数值的大小,返回他们的之间最小值. #include <algorithm> int a=2; int ...
- 零零散散的python笔记
Python strip()方法 用于移除字符串头尾指定的字符(默认为空格或换行符)或字符序列. #!/usr/bin/python # -*- coding: UTF-8 -*- str = &qu ...
- visio给任意图形进行填充
使用visio给图形填充颜色的条件:图形必须是封闭的!!! 但是很多人不明白:我明明画的图形是封闭的啊!可是无法填充颜色!这是因为,你画了一个看上去是封闭的图形,但是VISIO认为你画的不是封闭图形! ...
- 插入排序的Python代码实现
是打扑克的时候了 那种按大小排序的扑克游戏 def insert_sort(arr): for i in range(1,len(arr)): for j in range(i,0,-1): #与左边 ...
- FileSystemResource 找不到文件
环境 Spring 3.2.5.RELEASE 原因 使用 FileSystemResource 加载文件的过程中,发现一个奇怪的现象,路径完全正确,但是找不到文件的情况.可能的原因是文件的路径上有压 ...
- OpenVZ平台 Google BBR加速
前言 一直以来用的都是搬瓦工的VPS,不得不说比国内那些大厂的性价比高得不知道哪里去了. 当做梯子来用的话搬瓦工年付19.9美元的方案就够用了,网上还有一些官方优惠码(折扣6%: BWH1ZBPV ...
- [开源] LaravelPlus - 基于 Laravel 魔改,为方便实际业务使用 - 开发中
目的 为了减少重复 CURD 和新项目的配置麻烦等问题,(就是为了骗星星:LaravelPlus )如: 现有的 infyomlabs/laravel-generator CODE 生成工具虽然好用, ...
- winform中使用TextBox滚动显示日志信息
代码如下: private void ShowInfo(string msg) { this.BeginInvoke((Action)(() => { textBox1.AppendText(s ...
- Separate String
Separate String 时间限制: 1 Sec 内存限制: 128 MB提交: 50 解决: 16 题目描述 You are given a string t and a set S of ...