Python-字符串操作

#####创建

>>> c1 = 'chen'

>>> c2 = 'chao'

>>> c3 = """hello world"""

>>> c4 = '''hello boy'''

>>> c5 = """hello
... girl
... """

>>> c6 = '''hello
... guys'''

#简单操作
#####\转义符

>>> goaway = 'Baby why\'d your go away?'
>>> goaway
"Baby why'd your go away?"

>>> hello = 'hello \nworld'
>>> hello
'hello \nworld'
>>> 

#####+拼接

>>> c1 = 'chen'
>>> c2 = 'chao'
>>> c = c1 + " " +  c2 + "\n"

>>> print(c)
chen chao

>>> 

不可以用 字符串和 一个非字符串类型的对象相加

#####*复制

>>> print('c' * 10)
cccccccccc

>>> print('chen 123 ->\n' * 6)
chen 123 ->
chen 123 ->
chen 123 ->
chen 123 ->
chen 123 ->
chen 123 ->

>>> 

#进阶操作

  • 字符串 是 Python 中的一个 序列类型 的数据结构

存放的数据,在其内是有序的,内部的数据是可以通过在其内部所处的位置进行访问等操作。

  • 序列类型的特点
  1. 序列里的每个数据被称为序列的一个元素
  2. 元素在序列里都是有个自己的位置的,这个位置被称为索引或者叫偏移量,也有叫下标的
  3. 下标索号好从 0 开始的
  4. 序列中的每一个元素可以通过这个元素的索引号来获取到
  5. 获取序列类型数据中的多个元素需要用切片的操作来获取到
 c = "chenchao"
偏移量(索引)0123456N-1
chenchao
偏移量(索引)-N-N(N-1)-6-5-4-3-2-1

###获取元素
#####获取单个元素

>>> c = "chenchao"
>>> c[0]
'c'

>>> c[3]
'n'

>>> c[-1]
'o'
>>>

#####切片

[start🔚step]分片
start 永远是起始索引号
end 永远是终止索引号
step 是可选的步长

分片操作只包含位于起始索引号位置的元素,
不包含位于终止索引号位置的元素;
同时,起始和终止的意义都是针对于从左向右的顺序来定义的


#####使用切片获取多个元素

>>> c[0:2]
'ch'
>>> 

# 起始和结尾的索引号可以不写
>>> c[:]
'chenchao'
>>> c[4:]
'chao'
>>> c[:-1]
'chencha'
>>> 

>>> num = "123456789"
>>> num [::2]
'13579'
>>> num [::3]
'147'
>>>

这种操作无法做到

因为从左向右开始操作, 索引号 -1 的右边没有任何索引号了
-3 在 -1 的左边

>>> c [-1:-3]
''
>>>

#####获取字符串的长度,包含空格和换行符

>>> n = len(c)
>>> c
'chenchao'
>>>

###利用字符串对象的方法
#####split 分割
默认使用 空格或者 Tab 间做为分隔符

>>> name = "陈 c.h.e.n"
>>> name.split()
['陈', 'c.h.e.n']
>>> 

可以指定分隔符

>>> name.split('.')
['陈 c', 'h', 'e', 'n']
>>>

>>> name.split('.', 1)     #第二参数 1 表示找到第一个分隔符 . 就结束
['陈 c', 'h.e.n']

>>> name.split('.', 2)     #第二参数 2 表示找到第二个分隔符 . 就结束
['陈 c', 'h', 'e.n']
>>>

#####rsplit 从右向左分割

>>> name.rsplit('.', 1)     #第二参数 1 表示找到第一个分隔符 . 就结束
['陈 c.h.e', 'n']
>>>

#####replace 替换

>>> name.replace('.', '-')
'陈 c-h-e-n'
>>> 

#####strip 移除字符串两端的空白字符

>>> c = ' chen '
>>> c
' chen '

>>> c.strip()
'chen'
>>> 

>>> c = input("请输入:")
请输入:chen 
>>> c
'chen '

>>> c.strip()
'chen'

>>> c = c.strip()
>>> c
'chen'

>>> ' chen '.strip()
'chen'

>>> c = ' chen '.strip()
>>> c
'chen'

>>> c = input("请输入:").strip()
请输入: chen 
>>> c
'chen'
>>> 

#####startswith 判断字符串以什么为开头

>>> c = 'chen'
>>> c.startswith('c')
True

>>> c.startswith('ch')
True

>>> c.startswith('h')
False
>>> 

#####endswith 判断字符串以什么为结尾

>>> c.endswith('n')
True

>>> c.endswith('en')
True

>>> c.endswith('c')
False
>>>

#####交互输入

>>> c = input(">>:")
>>:123
>>> print(c)
123
>>> type(c)
<class 'str'>     #接收到的永远是字符串类型
>>>

>>> import getpass
>>> mi = getpass.getpass("输入密码:")
输入密码:
>>> print(mi)
123456
>>> type(mi)
<class 'str'>
>>>

###特殊情况
#####空字符串总是被视为任何其他字符串的子串,

>>> "" in "abc"
True
>>>

因此 "" in "abc"返回 True

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值