6.string数据类型(内置函数的使用)

本文深入讲解Python中字符串的各种操作,包括大小写转换、格式化输出、查找与替换、切片等,适合初学者和进阶者参考。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

☑(续)6.数据类型str
?注意,字符串为不可变的对象,所有对原来的字符串的操作均无效(没影响)

常用的内置(函数)方法

大小写转换
1.capitalize():字符串第一个字符大写

str1 = 'python很牛批'
print(str1) 
res = str1.capitalize()p
rint(res)
----------------------------------------------
Python很牛批

2.upper():全部变为大写

str2 = 'Python IS nice'
res = str2.upper()
print(res)
-----------------------------------------------
PYTHON IS NICE

3.lower():全部变为小写

str3 = 'Python IS nice'
res = str3.lower()
print(res)
-----------------------------------------------
python is nice

4.swapcase():大小写互相转换

str4 = 'Python IS nice'
res = str4.swapcase()
print(res)
-----------------------------------------------
pYTHON is NICE

5.title():字符串中所有的单词都以大写开头,其余字母小写

str5 = 'python is nice'
res = str5.title()
print(res)
-----------------------------------------------
Python Is Nice

字符串的‘切’操作
1.center(n, ‘字符’):返回长度为n的字符串,使原字符串居中,其余位置’‘字符’'补全

s1 = "周杰伦"
res = s1.center(10, "*") 
print(res)

2.expandtabs(tabsize=4):把字符串中的tab转为空格,默认空格数为8,这里改为4

s2 = "hassgy\tTom"
res = s2.expandtabs()
print(res) 

3.strip():去除左右两边空格; 理解:lstrip(); rstrip()分布为去除左/去除右

s3 = " hassgy Tom "
res = s3.strip() 
print(res)
res = s3.lstrip() 
print(res)
res = s3.rstrip() 
print(res)

4.strip(str1):指定去除字符串str1

s4 = " hassgy Tom "
res = s4.strip('Tom')
print(res)
----------------------------------------
hassgy Tom

5.replace(‘被替换字符串’,‘替换字符串’,n):理解为:替换n个被替换字符串。

s5 = "Hassgy loves Amy."
res = s5.replace('loves', 'hates') 
print(s5) 
print(res) 
----------------------------------------
Hassgy loves Amy.
Hassgy hates Amy.
----------------------------------------
res = s5.replace('s', 'S', 2)
print(res)
----------------------------------------
HaSSgy loves Amy.

6.split(‘切割标志’):字符串切割,比如根据","切割原字符串,还有其他的类型。

s6 = "hassgy,Tom,Amy,sarah"
res = s6.split(",")
print(res)
s7 = """辣鸡辣鸡辣鸡"""
print(s7.split("\n"))
------------------------------------
['hassgy', 'Tom', 'Amy', 'sarah']
['辣鸡', '辣鸡', '辣鸡']

?⚠巨坑:如果切割标志在左右两端,那就会出现空字符串,请记住!!!

s8 = ', hassgy, Tom, Amy, '
res = s8.split(',')
print(res)
-------------------------------------
['', ' hassgy', ' Tom', ' Amy', ' ']

格式化输出(字符串)
1.(%s,…) % (值1,值2,…) 基础写法

s1 = "我叫%s, 今年%d岁了, 我喜欢%s" % ('Hassgy', 15, 'Amy') 
print(s1)
--------------------------------------------------------------------
我叫Hassgy, 今年15岁了, 我喜欢Amy

2.’’{}…’’.format(值1,值2,…) 位置格式化

s2 = "我叫{}, 今年{}岁了, 我喜欢{}".format("Hassgy", 15, "Amy") 
print(s2)
---------------------------------------------------------------------
我叫Hassgy, 今年15岁了, 我喜欢Amy`
``
3.({0},{2},{1}......).format('值1''值2'......) 指定位置格式化
```python
s3 = "我叫{0}, 今年{2}岁了, 我喜欢{1}".format("Hassgy", "Amy", 15) 
print(s3)
---------------------------------------------------------------------
我叫Hassgy, 今年15岁了, 我喜欢Amy

4.({变量名}…).format(变量名=‘值1’,…) 关键字格式化

s4 = "我叫{name}, 今年{age}岁了, 我喜欢{singer}".format(name="Hassgy", singer="Amy", age=15) 
print(s4)
---------------------------------------------------------------------
我叫Hassgy, 今年15岁了, 我喜欢Amy

查询(查找)
1.startswith(‘str’), endswith(‘str’) 判断是否以什么开头/结尾的字符串

>>> s1 = "我叫sylar, 我喜欢python, java, c等编程语⾔."
>>> ret1 = s1.startswith("sylar")
>>> print(ret1)
False
>>> ret1 = s1.endswith("语⾔.")
>>> print(ret1)
True

2.count(‘str’) 查找str出现的次数

>>> s1 = "我叫sylar, 我喜欢python, java, c等编程语⾔."
>>> ret2 = s1.count("a")
>>> print(ret2)
3

3.find(‘str’) 查找str出现得位置,如果找不到,返回-1

>>> s1 = "我叫sylar, 我喜欢python, java, c等编程语⾔."
>>> ret3 = s1.find("sylar")
>>> print(ret3)
2
>>> ret3 = s1.find("tory")
>>> print(ret3)
-1

4.find(‘str’, n, m) 通过切片去找

>>> s1 = "我叫sylar, 我喜欢python, java, c等编程语⾔."
>>> ret4 = s1.find("a", 8, 22)
>>> print(ret4)
21

5.index(‘str’) 返回字符串的索引值

>>> s1 = "我叫sylar, 我喜欢python, java, c等编程语⾔."
>>> ret5 = s1.index("sylar")
>>> print(ret5)
2

条件判断(字母数字)
1.isalnum()

s1 = "123.16"
s2 = "abc"
s3 = "_abc!@"

print(s1.isalnum())
print(s2.isalnum())
print(s3.isalnum())

2.isalpha()

s1 = "123.16"
s2 = "abc"
s3 = "_abc!@"

print(s1.isalpha())
print(s2.isalpha())
print(s3.isalpha())

3.isdigit(),isdecimal(),isnumeric(),

s1 = "123.16"
s2 = "abc"
s3 = "_abc!@"
print(s1.isdigit())
print(s1.isdecimal())
print(s1.isnumeric()) # 这个⽜B点. 中⽂都识别.
print(s2.isdigit())
print(s3.isdigit())

字符串长度
len(str) 计算字符串长度

s1 = 'hassgy'
res = len(s1)
print(res)
----------------------------
6

还有其他的方法,有兴趣的话可以上W3C或者菜鸟教程等网站进行查询其他内置函数以及转义字符的使用,后者比较关键。
?菜鸟教程:https://www.runoob.com/python3/python3-string.html

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值