Python入门之字符串

字符串的概念:
    字符串就是一串字符,字符可以是中文,英文或者数字,或者混合的文本;
表达方式:
    使用单引号('')或双引号("")或三引号(''' ''',""" """)来将字符扩起来表示字符串;
特点:
    写在引号里面的任何代码全都是字符串文本,字符串是有序的,不可变的。
如何访问(查找)字符串中的元素(如何获取字符串中的元素):
1.通过for循环遍历;
b = '1, "中国", [3, 4]'  # 这里的字符串中一共有15个元素
print(b)
for i in b:
    print(i, f'该元素的类型是:{type(i)}')
2.通过索引号取值。索引号就是顺序号
在python中从左边(开头)开始计数时,索引号是从0开始计数的;从右(末尾)开始计数
时,索引是从-1开始计数。

b = '1, "中国", [3, 4]'
通过索引号取值的方式:
1.获取单个元素(值)语法格式:数据本身或变量名[那个要获取元素的索引号];
# 要求取出字符'[':
c = b[9]  # 或b[-6]
print(c)  # [
2.获取多个元素(切片)语法格式:数据本身或变量名[起始索引: 结束索引: 步长],取前不取后
# 要求取出字符串'中国':
d = b[4:6]  # 中国,取多个元素(切片),注意:取前不取后!!!
print(d)
# 要求取字符'3'和'4':
# 步长一般默认为1,表示每隔(|步长|-1)个元素就会取一个元素
f = b[-5:-1:3]
print(f)  # 34
特点:字符串是不可变的,不可变指的是不能直接对【源数据】本身进行改变。
字符串【源数据】不存在增删改的操作,比如不能通过索引号取值进行修改。
字符串中自带的函数它们的作用【类似于】增删改查的效果,但不是对源数据进行修改,
而是生成一个新的修改后的字符串数据。

查找:

字符串或变量名.find(字符子串, 开始索引, 结束索引)作用:返回【某段】字符子串在字符串中【最开始】出现的【索引号】(查找字符的位置)
a = 'hello world'
b = a.find('h')
print(b)  # 0
a = 'hello world'
b = a.find('world')  # 只会返回最开始的元素(字符)的索引号,这里就是'w'的索引号
print(b)  # 6
# 注意:只能是从左往右找!!!
a = 'hello world'
b = a.find('h', 2)  # 从索引为2开始找,如果找不到就会返回-1
print(b)  # -1
e = a.find('l', -1)  # 从索引为-1开始找,它的后面(右边)是没有字符的
# 所以就是找不到字符'l',就会返回-1
print(e)  # -1

修改:

字符串自带的修改函数有:replace()、capitalize()、title()、lower()、upper()
字符串或变量名.replace(旧字符子串, 新字符子串, 替换次数)作用:将字符串中的旧字符子串【替换】成新字符子串

a = '*国*国*国*国'
# 要求把字符'*'全部改为(替换成)字符'中'
b = a.replace('*', '中')  # 替换次数不写,一般默认是改全部
print(b)  # 中国中国中国中国
print(a)  # *国*国*国*国,只能从左向右

字符串或变量名.capitalize():将【字符串的第一个】【字母】大写

a = 'hello world'
b = a.capitalize()
print(b)  # Hello world
# 注意:要改变的字母必须是字符串的第一个元素(字符),否则不会发生变化。
字符串或变量名.title():将字符串的【每个单词】【首字母】大写
a = 'hello world'
b = a.title()
print(b)  # Hello World
a = ',hello world'
b = a.title()
print(b)  # ,Hello World
字符串或变量名.lower():将字符串中的【所有】【大写字母】变成【小写字母】
a = 'HELLO world'
b = a.lower()
print(b)  # hello world
a = ',HELLO world'
b = a.lower()
print(b)  # ,hello world
字符串或变量名.upper():将字符串中的【所有】【小写字母】变成【大写字母】
a = 'HELLO world'
b = a.upper()
print(b)  # HELLO WORLD
a = ',HELLO world'
b = a.upper()
print(b)  # ,HELLO WORLD
删除:字符串或变量名.strip(指定删除的字符):只能删除字符串【前后(左右)】的指定字符,
并且必须按源数据中字符的顺序才能删
a = 'mzxcmvbnm'
b = a.strip('m')  # 只会删掉前后(左右)的相关字符,中间的不会被删!!!
print(b)  # zxcmvbn

a = 'zxcvbnm'
b = a.strip('mnb')  # 后面删除,写法是从右往左写  
print(b)  # zxcv

a = 'zxcvbnm'
b = a.strip('mb')  # 不跳着删字符  
print(b)  # zxcvbn
增加:合并函数:join,将字符串进行合并分隔,字符.join(只有字符串为元素的序列)作用:将【序列】中的每一个字符(串)用指定的分隔字符连接起来
a = 'asdf'
# 要求在每一个字符中间插入一个字符'2':
b = '2'.join(a)  # 将变量a中的每一个字符用字符'2'隔开
#  (在字符'a'和's'、's'和'd'、'd'和'f'的中间分别插入字符'2')
print(b)  # a2s2d2f

# 合并字符串
a = ['a', 's', 'd', 'f']
b = '2'.join(a)  # 将列表中的字符串依次取出来,用字符'2'连接起来合并成一个新的字符串
print(b)  # 'a2s2d2f'
a = ['a', 's', 'd', 'f', 1, 2]
b = '2'.join(a)  # TypeError: sequence item 4: expected str instance, int found
print(b)
# 当序列中有除了字符串以外的数据类型元素时,可以将所有字符串元素取出来进行合并
a = ['a', 's', 'd', 'f', 1, 2]
b = '2'.join(a[0:4])  # 用a[0:4]将列表中的所有字符串取出来,
#  取出来了就可以使用join函数对取出来的字符串进行【合并】
print(b)  # a2s2d2f
分割函数:split(),将字符串进行分割,字符串或变量.split(分割字符, 分割次数)作用:将一个字符串按照指定的分割符切分成多个字符子串,这些子串会保存在一个新列表中(不包含分割符)
a = 'https://www.baidu.com/'
b = a.split('.')
print(b)  # ['https://www', 'baidu', 'com/']
a = 'https://www.baidu.com/'
b = a.split('.', 1)  # 这里是切掉一个'.'
print(b)  # ['https://www', 'baidu.com/']

# 分割的字符后面如果没有字符一般会显示一个空字符,空字符:''

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值