【Python】字符串总结

定义

# 定义:在单引号\双引号\三引号内包含一串字符
name1 = 'jason'  # 本质:name = str('任意形式内容')
name2 = "lili"  # 本质:name = str("任意形式内容")
name3 = """ricky"""  # 本质:name = str("""任意形式内容""")

类型转换

# 数据类型转换:str()可以将任意数据类型转换成字符串类型,例如 
>>> type(str([1,2,3])) # list->str
<class 'str'>
>>> type(str({"name":"jason","age":18})) # dict->str
<class 'str'>
>>> type(str((1,2,3)))  # tuple->str
<class 'str'>
>>> type(str({1,2,3,4})) # set->str
<class 'str'>

优先掌握的操作

1.按索引取值(正向取,反向取):
>>> str1 = 'hello python!'


# 1.1 正向取(从左往右)
>>> str1[6]
p
# 1.2 反向取(负号表示从右往左)
>>> str1[-4]
h
# 1.3 对于str来说,只能按照索引取值,不能改
>>> str1[0]='H' # 报错TypeError

注意:对于str来说,只能按照索引取值,不能改

2.成员运算 in 和 not in
# 2.1 int:判断hello 是否在 str1里面
>>> 'hello' in str1  
True
# 2.2 not in:判断tony 是否不在 str1里面
>>> 'tony' not in str1 
True
3. strip 移除字符串首尾指定的字符(默认移除空格)
# 3.1 括号内不指定字符,默认移除首尾空白字符(空格、\n、\t)
>>> str1 = '  life is short!  '
>>> str1.strip()  
life is short!

# 3.2 括号内指定字符,移除首尾指定的字符
>>> str2 = '**tony**'  
>>> str2.strip('*')  
tony
4. split 切分字符串获得列表
# 4.1 括号内不指定字符,默认以空格作为切分符号
>>> str3='hello world'
>>> str3.split()
['hello', 'world']
# 4.2 括号内指定分隔字符,则按照括号内指定的字符切割字符串
>>> str4 = '127.0.0.1'
>>> str4.split('.')  
['127', '0', '0', '1']  # 注意:split切割得到的结果是列表数据类型
5. 查找元素位置 find、index
# find,rfind,index,rindex
# 5.1 find:从指定范围内查找子字符串的起始索引,找得到则返回数字1,找不到则返回-1
>>> msg='tony say hello'
>>> msg.find('o',1,3)  # 在索引为1和2(顾头不顾尾)的字符中查找字符o的索引
1  
# 5.2 index:同find,但在找不到时会报错
>>> msg.index('e',2,4) # 报错ValueError
6. 统计元素个数 count

count:统计字符串在大字符串中出现的次数

# 6 count:统计字符串在大字符串中出现的次数
>>> msg = "hello everyone"
>>> msg.count('e')  # 统计字符串e出现的次数
4
>>> msg.count('e',1,6)  # 字符串e在索引1~5范围内出现的次数
1

需要掌握的操作

1. 移除收尾字符 strip, lstrip, rstrip
>>> str1 = '**tony***'

>>> str1.strip('*')  # 移除左右两边的指定字符
'tony'
>>> str1.lstrip('*')  # 只移除左边的指定字符
tony***
>>> str1.rstrip('*')  # 只移除右边的指定字符
**tony
2. 高级切割 split、rsplit
# split会按照从左到右的顺序对字符串进行切分,可以指定切割次数
>>> str5='C:/a/b/c/d.txt'
>>> str5.split('/',1)
['C:', 'a/b/c/d.txt']  

# rsplit刚好与split相反,从右往左切割,可以指定切割次数
>>> str5='a|b|c'
>>> str5.rsplit('|',1)
['a|b', 'c']
3. 拼接字符串 join

从可迭代对象中取出多个字符串,然后按照指定的分隔符进行拼接,拼接的结果为字符串

# 从可迭代对象中取出多个字符串,然后按照指定的分隔符进行拼接,拼接的结果为字符串
>>> '%'.join('hello') # 从字符串'hello'中取出多个字符串,然后按照%作为分隔符号进行拼接
'h%e%l%l%o'
>>> '|'.join(['tony','18','read'])  # 从列表中取出多个字符串,然后按照*作为分隔符号进行拼接
'tony|18|read'
4. 替换字符串 replace

用新的字符替换字符串中旧的字符

# 用新的字符替换字符串中旧的字符
>>> str7 = 'my name is tony, my age is 18!'  # 将tony的年龄由18岁改成73岁
>>> str7 = str7.replace('18', '73')  # 语法:replace('旧内容', '新内容')
>>> str7
my name is tony, my age is 73!

# 可以指定修改的个数
>>> str7 = 'my name is tony, my age is 18!'
>>> str7 = str7.replace('my', 'MY',1) # 只把一个my改为MY
>>> str7
'MY name is tony, my age is 18!'
5. 大小写转换 upper、lower、capitalize、title
str = "www.Baidu.com"
print(str.upper())          # 把所有字符中的小写字母转换成大写字母
print(str.lower())          # 把所有字符中的大写字母转换成小写字母
print(str.capitalize())     # 把第一个字母转化为大写字母,其余小写
print(str.title())          # 把每个单词的第一个字母转化为大写,其余小写 

输出结果为:

在这里插入图片描述

6. 是否为全数字、英文、大写、小写、空白字符

运行如下方法:

str.isalnum() #所有字符都是数字或者字母
str.isalpha() #所有字符都是字母
str.isdigit() #所有字符都是数字
str.islower() #所有字符都是小写
str.isupper() #所有字符都是大写
str.istitle() #所有单词都是首字母大写,像标题
str.isspace() #所有字符都是空白字符、\t、\n、\r

format 格式化函数

格式化输出之format

Python2.6 开始,新增了一种格式化字符串的函数str.format(),它增强了字符串格式化的功能。

基本语法是通过 {} 和 : 来代替以前的 %

之前我们使用 %s 来做字符串的格式化输出操作,在传值时,必须严格按照位置与 %s 一一 对应,而字符串的内置方法format 则提供了一种不依赖位置的传值方式

# format括号内在传参数时完全可以打乱顺序,但仍然能指名道姓地为指定的参数传值,name=‘tony’就是传给{name}
>>> str4 = 'my name is {name}, my age is {age}!'.format(age=18,name='tony')
>>> str4  
'my name is tony, my age is 18!'

>>> str4 = 'my name is {name}{name}{name}, my age is {name}!'.format(name='tony', age=18)
>>> str4  
'my name is tonytonytony, my age is tony!'

format的其他使用方式(了解)

# 类似于%s的用法,传入的值会按照位置与{}一一对应
>>> str4 = 'my name is {}, my age is {}!'.format('tony', 18)
>>> str4 
my name is tony, my age is 18!
# 把format传入的多个值当作一个列表,然后用{索引}取值
>>> str4 = 'my name is {0}, my age is {1}!'.format('tony', 18)
>>> str4
my name is tony, my age is 18!

>>> str4 = 'my name is {1}, my age is {0}!'.format('tony', 18)
>>> str4  
my name is 18, my age is tony!

>>> str4 = 'my name is {1}, my age is {1}!'.format('tony', 18)
>>> str4  
my name is 18, my age is 18!

参考博客:

https://www.runoob.com/python/att-string-format.html

https://blog.csdn.net/qq_36663518/article/details/107705830

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Python中,字符串是不可改变的数据类型,这意味着一旦创建了一个字符串,就不能直接修改它的内容。\[3\]如果我们想要替换字符串中的某些字符,我们需要创建一个新的字符串来实现。可以使用replace()方法来替换字符串中的指定字符。\[2\]例如,如果我们有一个字符串a = 'abcdefghijklnmopqrstuvwxyz',我们可以使用a.replace('c','高')来将字符串中的字符'c'替换为'高'。这样就创建了一个新的字符串,原始字符串a并没有改变。另外,如果我们想要将一个列表中的多个子字符串连接起来,可以使用join()方法。\[1\]例如,如果我们有一个列表a = \['a','b','c','d','e','f'\],我们可以使用''.join(a)将列表中的子字符串连接起来,结果为'abcdef'。如果我们想要在子字符串之间添加一个分隔符,可以使用'-'.join(a),结果为'a-b-c-d-e-f'。总结来说,Python中的字符串是不可改变的,但我们可以通过创建新的字符串来实现替换字符或连接子字符串的操作。 #### 引用[.reference_title] - *1* *2* *3* [python字符串常用方法及汇总](https://blog.csdn.net/qq_57377057/article/details/126633886)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

何为xl

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值