Day 5 :字符串与序列

Day 5 :字符串与序列

字符串

1)形式
单引号 ’ ’
双引号==" "==

2)转义
符号前添加 \

3)换行
\n 需要使用print()

4)连接

  • 相邻的两个或多个 字符串字面值 (引号引起来的字符)将会自动连接到一起*.只能对两个字面值这样操作,变量或表达式不行*
>>>'Py''thon'
'Python'

  • 连接变量,或者连接变量和字面值 +
>>> prefix = 'Py'
>>> prefix + 'thon'
'Python

5)重复 *

6)索引(下标访问)

>>> word = 'Python'
>>> word[0]  # character in position 0
'P'
>>> word[5]  # character in position 5
'n'
  • 索引也可以用负数,这种会从右边开始数 负数索引从 -1 开始
  • 使用过大的索引会产生一个错误
>>> word[42]  # the word only has 6 characters
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
IndexError: string index out of range

7)切片 (索引可以得到单个字符,而切片可以获取子字符串)

>>> word = 'Python
>>> word[:2]   # character from the beginning to position 2 (excluded)
'Py'
>>> word[4:]   # characters from position 4 (included) to the end
'on'
>>> word[-2:]  # characters from the second-last (included) to the end
'on'
  • 切片的索引有默认值;省略开始索引时默认为0,省略结束索引时默认为到字符串的结束
  • 对于使用非负索引的切片,如果索引不越界,那么得到的切片长度就是起止索引之差。例如, word[1:3] 的长度为2.
  • 切片中的越界索引会被自动处理
>>> word[4:42]
'on'
>>> word[42:]
''

8)不可修改
字符串不能被修改,它们是 immutable 的。因此,向字符串的某个索引位置赋值会产生一个错误
需要一个不同的字符串,应当新建一个

>>> word = 'Python
>>> word[0] = 'J'
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'str' object does not support item assignment
>>> word[2:] = 'py'
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'str' object does not support item assignment

9)跨行连续输入
①使用三重引号 ‘’’ ‘’’ 或 “”" “”"
字符串中的回车换行会自动包含到字符串中,如果不想包含,在行尾添加一个 \ 即可

原始字符串
在引号前添加 r
\ 不会转义为特殊字符

字符串常用函数

  • .capitalize()
    字符串的第一个字符改为大写
  • casefold()
    将整个字符串的所有字符改成小写
  • cente()
    将字符串居中,并使用空格填充至长度新字符串
  • count()
    计算在字符串出现的次数
  • endswith(…)
    判断字符串输是否以…结束 若是则返回true 否则返回 false。
  • expandtabs([tabsize=8])
    将字符串中的tab符号(\t)转换为空格,如不指定参数,默认的空格是tabsize=8
  • find()
    将检测字符串是否包含在字符串中,如果有则返回索引值,否则返回-1
  • index()
    与find相似,但是如果字符串不存在会返回异常。
  • isdigit()
    如果字符串是只包含数字则返回true否则返回falsse
  • istitle()
    如果字符串是标题化(所有的单词都是以大写开始,其余字母均小写)。正确则返回true,否则返回false
  • join()
    以字符串作为分隔符,插入到字符串中所有的字符之间
  • lower()
    转换字符串中所有大写字符为小写
  • upper()
    转换字符串中所有小写字符为大写
  • istrip()
    去掉字符串左边的所有空格
  • rstrip()
    去掉字符串末尾的空格
  • partition(sub)
    找到字符串sub,把字符串分成一个3元组(pre_sub,sun,fol_sub).如果字符串中不包含sub则返回(‘原字符串’,‘ ’,‘ ’)
  • replace(old,new[,count])
    将字符串中old子字符串替换成new子字符串,如果count指定,则替换不超过count次。
  • **rfind() **
    类似find 不过从右边查起。
  • strip([chars])
  • 删除字符串前边和后边所以的空格,chars参数可以定制删除的字符,可选。
  • *swapcase
    翻转字符串的大小写。
  • translate(table)
    根据table规则(可由str.maketrans(‘a’,‘b’)定制)转换字符串中的字符

序列

常见序列类型包括字符串(普通字符串和unicode字符串),列表和元组.所谓序列,即成员有序排列,可通过下标访问.
 
 序列都有
 索引
 切片
 乘法
 成员资格

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值