字符串的相关知识点

本文详细介绍了Python中字符串的各种操作,包括大小写转换、字符判断、字符串拼接、查找替换、切割、去除空格、计算长度、首字母大写等。此外,还讲解了格式化输出的三种方法,并提供了类型转换和字符串取值的示例。最后,通过两个登录验证的练习巩固了所学知识。
摘要由CSDN通过智能技术生成

一:常用方法(至少下列这些都要掌握)

1.转大小写
print('HELLO'.upper())
# 打印结果:HELLO

print('HELLO'.lower())
# 打印结果:hello
2.判断是否是纯大小写
print('HELLO'.isupper())
# 打印结果:True

print('HELLO'.islower())
# 打印结果:False
3.判断字符串是否以指定的字符开头或结尾
print('hello world'.startswith('h'))
# 打印结果:True

print('hello world'.endswith('ld'))
# 打印结果:True
4.判断某个字符出现的次数
read = 'hello my dream'
print(read.count('m', 0, 7))  # m表示要查的字符,0表示开始(包含)7表示结尾(不包含)
# 打印结果:1
5.查找某个字符对应的索引值
read = 'hello my dream'
print(read.index('o'))
# 打印结果:4

print(read.index('j'))  # 找不到会直接报错

print(read.find('j'))  # 找不到,不会报错,而是打印-1
# 打印结果:-1
6.字符串拼接
print(''.join(['zhang', 'fei'])) 
# 打印结果:zhangfei
7.判断是否是是纯数字
print('123'.isdigit())  # 打印结果是bool值
# 打印结果:True
8.字符替换
read = 'nihao China'
print(read.replace('nihao', 'hello'))  # 括号里的第一个值是要被替换的值,第二个是替换值
# 打印结果:hello China

9.切割
country = 'Ja|pa|n'
print(country.split('|', 2))  # 2表示切割次数 | 表示按照管道符来切割
# 打印结果:['Ja', 'pa', 'n']
10.去掉字符串前后空格
print('   Bruce lee   '.strip())  # 注意只能去掉字符串前后的空格,间隔中的空格去不掉
打印结果:Bruce lee
11.求出字符串长度
print(len('hello'))
# 打印结果:5
12.文本操作,使得每个词组的首字母大写
read = 'my name is Jayming'
print(read.title())
# 打印结果:My Name Is Jayming
13.统计某个字符或者字符组出现的次数
a = 'lalalala I am a painter'
print(a.count('la', 0, 3))  # 0表示判断起始的索引值(包含),3表示结束值(不包含)
# 打印结果:1

二:格式化输出(方法三是必须要掌握)

方法1
res = 'my name is {} and I am {} ,and I am a {}'
print(res.format('Jayming', 18, 'scientists'))
方法2
res1 = 'I am a {0}, I like {1},so like {1}'
print(res1.format('boy', 'apple'))
方法三(推荐)
name = 'zhang'
age = 18
gender = 'male'

print(f'I am {name}, and {age} years old ,I am a {gender}')

三:类型转换(必须要学会)

# 支持所有数据类型的转换
print(type(str(123)))
print(type(str(1.23)))
print(type(str(True)))
print(type(str([1, 2, 3, 4, 5])))
print(type(str((1, 2, 3, 4, 5))))
print(type(str({'name': 'zhang', 'age': 18})))
print(type(str({1, 2, 3, 4, 5})))

四:取值(重点知识)

1.索引取值的方法
a = 'I am a male'

print(a[0])
print(a[-1])
2.切片取值的方法
print(a[:])  # 取到的是整个字符串
print(a[0:4])  # 0表示开始值的索引,4表示结束值的索引(不包含)
print(a[::-1])  # 倒着取值
print(a[-4:-1])  # 从左往右依次取值,左包含,右不包含
print(a[-1:-6:-1])  # 只能通过括号里的第三个参数控制取值的方向

五:练习

# 作业1
"""
    1.基于字符串充当数据库完成用户登录(基础练习)
	data_source = 'jason|123'  # 一个用户数据
  	获取用户用户名和密码 将上述数据拆分校验用户信息是否正确
"""
for i in range(3):
    data_source = 'jason|123'
    username = input('username').strip()
    password = input('password').strip()
    if username == data_source.split('|')[0] and password == data_source.split('|')[1]:
        print('登录成功')
    else:
        print('用户名或密码错误')


# 作业2
"""
    2.基于列表充当数据库完成用户登录(拔高练习)  # 多个用户数据
	data_source = ['jason|123', 'kevin|321','oscar|222']
"""
data_source = ['jason|123', 'kevin|321', 'oscar|222']

username = input('username').split()
password = input('password').split()
# 判断输入的username和输入的password拼接成的字符串是否在列表data_source中
if '|'.join([username[0], password[0]]) in data_source:  # 一定要注意,username和password的type值是list,所以要通过索引取值后才能得到字符串
    
    print('登录成功')
else:
    print('用户名或密码错误')

# 方法2(推荐使用)
data_source = ['jason|123', 'kevin|321', 'oscar|222']

username = input('username').strip()
password = input('password').strip()
# 判断输入的username和输入的password拼接成的字符串是否在列表data_source中
if '|'.join([username, password]) in data_source:  # 一定要注意,username和password的type值是list,所以要通过索引取值后才能得到字符串

    print('登录成功')
else:
    print('用户名或密码错误')
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值