A10-Python基础之字符串

这篇博客详细介绍了Python中的字符串基础知识,包括字符串的来源、定义、输出和输入,以及各种操作方法,如查找、修改、切片、大小写转换、对齐等。重点讲解了find()、index()、count()等查找方法,还有replace()、split()、join()等修改和组合字符串的方法。此外,还涵盖了字符串的格式化、判断方法,如startswith()、endswith()以及isalpha()等。

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

1、来源

1、input()接收到的.
2、文件的读写.
3、爬虫的数据.

2、定义

'hello'
"hello"
'''hello'''
"""hello"""

在代码输入换行的情况下–>
前两个支持代码缩进换行,输出不换行;
后两者代码无缩进换行,输出换行;
示例:

str1 = 'hello' \
       'word!'
str2 = "hello" \
       "python"
str3 = '''hello
java'''
str4 = """hello
c#"""
print(str1,str2,str3,str4)

输出:

helloword! hellopython hello
java hello
c#

3、字符串输出

示例:

print("hello")
str="hello"
print(str)
print("%s" %str)
print(f'{str}')

输出:

hello
hello
hello
hello

反斜杠可以用来转义,使用r可以让反斜杠不发生转义。
示例:

print('hello\nword')
print(r'hello\nword')

输出:

hello
word
hello\nword

4、字符串输入

password = input("请输入密码:")

5、小标/索引

字符串依次分配从0开始的标号

print(password[0])  #输出第一个字符
字符串abcdef
从前面索引012345
从后面索引-6-5-4-3-2-1
str = "hello"
print(str[0])
h

6、切片

指对操作的对象截取其中一部分的操作。
字符串、列表、元组都支持切片操作。

语法: 序列[开始位置下标:结束位置下标:步长]

取不到结束位置下标对应的数据。

各部分正负整数均可。

步长是选取间隔,正负整数均可,步长为负数时倒序选取,默认步长为1, 序列[开始位置下标:结束位置下标]

当序列长度小于结束为止下标时,不报错,全部输出已有数据。

序列[:结束位置下标] 默认从开始选取
序列[开始位置下标:] 默认选取到最后
序列[:] 默认选取所有

如果选取方向(下标开始到结束的方向),和步长方向冲突,无法选取数据。
示例:

str = "abcdefg"
print(str[0:-1])
print(str[:])
print(str[::-1])

输出:

abcdef
abcdefg
gfedcba

7、常用操作方法:查找

7.1查找find():

检测某个字串是否包含在这个子串中,如果存在返回子串开始位置的下标,否则返回-1。
语法:

字符串序列.find(子串,开始位置下标,结束位置下标)

注意:
开始结束位置可以省略,表示在整个字符串序列中查找。
rfind():和find功能相同,但查找方向为右侧开始。
示例:

str1 = "i love hanhan!"
if str1.find("love"):
    print("Ture3")  
Ture3

7.2查找index():

检测某个字串是否包含在这个子串中,如果存在返回子串开始位置的下标,否则报异常。
语法:

字符串序列.index(子串,开始位置下标,结束位置下标)

rindex():和index功能相同,但查找方向为右侧开始。
示例:

str1 = "i love hanhan!"
print(str1.index("love"))

输出:

3

7.3查找count():

返回某个子串在字符串中出现的次数。
语法:

字符串序列.count(子串,开始位置下标,结束位置下标)

示例:

str1 = "i love hanhan!"
print(str1.count("han"))

输出:

2

8、常用操作方法:修改

字符串是不可修改数据类型!

8.1切片

通过函数切片的形式修改字符串中的数据:
示例:

str1 = "123467"
str1 = str1[:4]+"5"+str1[4:]
print(str1)

输出:

1234567

8.2替换replace():

语法:

字符串序列.replace(旧子串,新子串,替换次数)

替换次数应该为子串出现的次数,超出为替换所有。
原有字符串不做修改,返回值为修改后的字符串。
示例:

str = "one and one is two"
print(str.replace("one","1",3))

输出:

1 and 1 is two

8.3分割split():

按照指定字符分割字符串。
语法:

字符串序列.split(分割字符,num)

num表示的是分割字符出现的次数,即将来返回数据个数为num+1
返回一个列表,丢失分割字符。
示例:

str = "ONE AND ONE IS TWO"
print(str.split("AND",1))

输出:

['ONE ', ' ONE IS TWO']

8.4合并join():

用一个字符或者子串合并字符串,即是将多个字符串合并为一个新的字符串。
语法:

字符或者子串.join(多字符串组成的序列,比如列表)

返回一个合并后的字符串。
示例:

delimiter = '_*_'
mylist = ['Brazil', 'Russia', 'India', 'China']
print (delimiter.join(mylist))

结果:

Brazil_*_Russia_*_India_*_China

8.5首字母大写capitalize():

将字符串第一个字符转换成大写,返回一个修改后的新字符串。
语法:

str.capitalize()

示例:

str = "abc"
print(str.capitalize())

输出:

Abc

8.6首字母大写title():

将字符串每个单词首字母转换成大写,返回一个修改后的新字符串
语法:

str.title()

示例:

str = "abc"
print(str.title())

输出:

Abc

8.7大小写转换

8.7.1 lower()

将字符串中的大写转小写。
语法:

str.lower()

示例:

str = "Abc"
print(str.lower())

输出:

abc

8.7.2 upper()

将字符串中的小写转大写。
语法:

str.upper()

示例:

str = "Abc"
print(str.upper())

输出:

ABC

8.8删除空白字符

str.lstrip():删除字符串左侧空白字符

str.rstrip():删除字符串右侧空白字符

str.strip():删除字符串两侧空白字符

8.9对齐

8.9.1 str.ljust():左对齐

返回一个在原字符串左对齐,并使用指定字符(默认空格)填充至对应长度的新字符串。
如果长度小于原字符串长度,则完整输出原字符串不进行填充。
语法:字符串数列.ljust(长度,填充字符)

8.9.2 str.rjust():右对齐

语法:字符串数列.rjust(长度,填充字符)

8.9.3 center():居中对齐

示例:
语法:字符串数列.center(长度,填充字符)

str = "Abc"
print(str.center(4,"*"))
print(str.center(5,"*"))

输出:

Abc*
*Abc*

8.10使用加法操作符来连接字符串

即把两个字符串连接在一起返回一个新的字符串。
示例:

8.11 字符串格式化 str.format():

示例:

str1 = "{0} love {1}.".format("我","憨憨")
str2 = "{0} love {name}.".format("我",name="憨憨")
print(str1)
print(str2)

输出:

我 love 憨憨.
我 love 憨憨.

8.11.1 字符串中{}输出

示例:

str1 = "{{0}}".format("任意")
print(str1)

输出:

{0}

8.11.2表示格式化符号的开始

示例:

str1 = "{0:.1f}{1}".format(13.14,"Hour")
print(str1)

输出:

13.1Hour

8.12 %格式化

示例:

str1 = "%c %c %c" %(97,98,99)
print(str1)

# m.n 设置宽度与精度
print("%5.1f" %13.1456)

输出:

a b c
 13.1

9、常用操作方法:判断

9.1 startswith():

检查字符串是否以指定子串开头,是返回True,假返回False。
若设置了开始和结束位置的下标,则在指定范围内检查。
区分大小写!
语法:字符串序列.startswith(子串,开始位置下标,结束位置下标)
示例:

str1 = "憨憨加油!"
if str1.startswith("憨憨"):
    print("True")

输出:

True

9.2endswith():

检查字符串是否以指定子串结尾,是返回True,假返回False。
语法:字符串序列.endswith(子串,开始位置下标,结束位置下标)
开始位置、结束位置可以省略不写,默认面对整个字符串。
示例:

str1 = "憨憨加油!"
if str1.startswith("加油"):
    print("True")
else:
    print("False")

输出:

False

9.3检查是否含有某数字字母子串

9.3.1 isalpha():

如果非空字符串中只包含数字则返回True,否则返回False。

9.3.2 isdigit():

如果非空字符串中只包含数字则返回True,否则返回False。

9.3.3 isalnum():

如果非空字符串只包含数字或者字母则返回True,否则返回False。

9.3.4 isspace():

如果非空字符串只包含空白,则返回True,否则返回False。

9.3.5 检查是否存在某子串in

示例:

str = "我喜欢憨憨"
if "憨憨" in str:
    print("True")
else:
    print("False")

输出:

True
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值