字符串"/>
Python自学笔记第一练————内置数据类型之字符串
Python自学笔记第一练————内置数据类型之字符串(上)
—————**鱼系の少年的学习笔记 python 篇**
文章目录
- 字符串
- 定义
- 特点
- 序列的基本操作
- 序列的连接(字符串的连接)
- 序列的重复输出(字符串的重复输出)
- 成员操作符(in,not in)
- 计算长度len(s)
- 字符串的索引操作 str[n]
- 字符串的切片操作 str[ : : ]
- python的字符串内建函数
字符串
定义
字符串分为单行字符串和多行字符串。
其中单行字符串可以由一对双引号(" ")或一对单引号(' ')表示,单引号和双引号等效。
多行字符串可由一对三单引号(''' ''')或一对三双引号(""" """)表示,三单引号和三双引号也等效。
例如:
s1='My Python'
s2="My Python"
s3='521'
这三个量都是创建的字符串,其中s3虽然里面的值是521这个数字,但是我们用引号将其括住后它就是一个字符串了。
>>> s1='''
... What's
... your
... name?
... '''
>>> s1
"\nWhat's \nyour \nname?\n "
特点
1、有序的序列
2、它是一种不可变的数据类型。
字符串的的单引号(’ ')或 双引号(" ")要成对的出现使用。
如果在复杂语句中需要同时用到单引号(’ ')和 双引号(" ") 的时候
例如:
>>> s1='What's your name ?'File "<stdin>", line 1s1='What's your name ?'^
SyntaxError: invalid syntax
>>>
这时使用了一对单引号(’ ')和一个单引号( ’ )会发现这个字符串会报错,前面说过了单引号需要成对出现使用,而程序中的问句必须要使用一个单引号来构建,那这时候要怎么办呢?
>>> s1="What's your name ?"
>>> s1
"What's your name ?"
这时通过使用双引号(" “)来构建字符串,就算里面包含一个单引号( ’ )
但是也不影响字符串的组成,因为通过使用成对出现的单引号(’ ')或 双引号(” ")创建的量就能组成字符串。
除了这个方法还有可以使用( \ )转义字符。
>>> s1='What\'s your name ?'
>>> s1
"What's your name ?"
在字符中使用特殊字符的时候,就可以通过使用 \ 转义字符来改变它本身的含义。
序列的基本操作
字符串是序列的一种,下列操作是属于序列的一些基本使用,这些操作不仅可以运用在字符串中,也可以在其他序列类型中使用。
序列的连接(字符串的连接)
>>> s1="What's"
>>> s2='your'
>>> s3='name?'
>>> s1+s2+s3
"What'syourname?"
字符串的加法运算将多个字符串组合到一起。
序列的重复输出(字符串的重复输出)
>>> s1='Hello'
>>> s1*3
'HelloHelloHello'
字符串的乘法运算str*n(int),就是将字符串str本身重复显示整数n遍。
成员操作符(in,not in)
>>> s1='Hello'
>>> 'e'in s1
True
>>> 'h'in s1
False
>>> 'H'not in s1
False
>>> 'H'in s1
True
in :如果字符串中包含给定的字符返回 True;否则就返回 False。
(‘n’ in str ,如果str这个字符串里面包含这个字符’n’,就返回 True;不包含就返回False)
not in: 如果字符串中不包含给定的字符返回 True,否则就返回False。
(‘n’ in str ,如果str这个字符串里面不包含这个字符’n’,就返回 True;不包含就返回False)
比较量 n 和 str 都是字符串,其中是判断 str 这个字符串是否包含字符 n,存在返回值 True 或 False 。满足条件则返回 True ,不满足则返回 False 。
其中字符 n 可以由多个字符组成,不一定为一个字符,可以是字符串与字符串之间的比较
计算长度len(s)
>>> s1='Hello'
>>> len(s1)
5
是计算字符串的长度
字符串的索引操作 str[n]
>>> s1="What's your name ?"
>>> s1[0]
'W'
>>> s1[1]
'h'
>>> s1[-1]
'?'
>>> s1[8]
'o'
>>> s1[-10]
'o'
索引就是在有序的字符串根据它本身的序号来获取我们需要的值。
其中 str 是字符串本身,而中括号**[ n ]** 中的 n 代表在这个字符串中的排列序号,字符串的排列 从左到右 计数是从 0 开始的,所以 s1[0]='w’
而排序还可以 从右往左 开始,最右边为 -1 开始,所以 s1[-1]=’?'
由此可以看出来一组字符串可以有两组排序方式分别是,从左到右 或 从右到左 ,所以每个字符都有两个序号可以表示。
字符串的切片操作 str[ : : ]
>>> s1="What's your name ?"
>>> s1[1:3]
'ha'
>>> s1[3:10]
"t's you"
>>> s1[-1:-10]
''
>>> s1[ : :-1]
"? eman ruoy s'tahW"
>>> s1[-1:-10:-1]
'? eman ru'
>>> s1[ : :1]
"What's your name ?"
>>> s1[ : :2]
"Wa' ornm "
>>> s1[ : :-2]
'?ea uysth'
切片是在索引的基础上将字符串中我们需要的字符来获取出来,其中的字符已经不局限于一个字符的获取了,而是字符片段的获取。
str [ a : b : c ] (a,b,c为整数),a 和b 是定义我们选择的字符片段的范围,获取的范围是a <= str[a:b] <b,说明是从 第a位 开始截取到第b位之前截止。
而str [ a : b : c ] 则是在字符串 str 中 a 到 b 之前一位的范围内,以 c 个字符单位截取,不写 c 默认为1,在索引中我们有说明字符串的排序是有两种的,所以要注意 c 的正负,这决定截取的顺序。
(c为正则是从左到右截取,c为负值则是从右到左截取)
python的字符串内建函数
字符串方法是从python1.6到2.0慢慢加进来的——它们也被加到了Jython中。
这些方法实现了string模块的大部分方法,如下表所示列出了目前字符串内建支持的方法,所有的方法都包含了对Unicode的支持,有一些甚至是专门用于Unicode的。
内建函数详解我将会在下一练中单独介绍,下面的链接是菜鸟对python字符串内建函数的详解。
python的字符串内建函数详解
更多推荐
Python自学笔记第一练————内置数据类型之字符串
发布评论