python第八天

深入探讨Python编程的第八天学习内容,涵盖字符串操作的高级技巧和实践应用。
摘要由CSDN通过智能技术生成
# 1.in 和 not in
# 字符串1 in 字符串2   -   判断字符串1是否是字符串2的子串(判断字符串2是否包含字符串1)
print('a' in 'abc')   # True
print('ab' in 'abc')  # True
print('ac' in 'abc')  # False
# 2.相关函数
# len、str
# 1)len(字符串)  -  获取字符串的长度
# 2)str(数据)   -  将数据转换成字符串
# a.哪些能转:所有的数据都可以转换成字符串

# b.怎么转:在数据打印值外面加引号

# c.字符串转数字
# 去掉引号后本身是整数的字符串才能转换成整型
# 当一个字符串中有一个或者多个部分是变化的时候,我们可以用字符串加法运算、格式字符串和f字符串来实现这个功能
# 1.格式字符串
'''
格式字符串:在字符串中用格式占位符代替字符串变化的部分,然后在后面用数据来给格式占位符赋值

语法:
带有格式占位符的字符串 % (数据1,数据2,数据3,...)

说明:
1)% - 固定写法
2)() - 固定写法,在数据只有一个可以省略
3)数据  -  数据的个数必须和前面字符串中占位符的个数保持一致;类型也要和占位符一一对应
4)格式占位符  -  格式占位符有哪些功能,对应的数据的类型是什么都是固定的
%s - 字符串(可以是其他数据)
%d - 整数
%f - 浮点数 - %.Nf 浮点数保留N位小数
%c - 字符(字符编码值)
'''
message = '%s今年%d岁,月薪%.2f元,等级:%c' % ('小明', 12, 2000.306, 'A')
print(message)

# 2.f-string
'''
1)format方法
包含{}的字符串.format(数据1,数据2,...)  -  字符串中的{}就相当于格式字符串中的占位符

'''
# a.{}
message = '{}今年{}岁,月薪{}元'.format('xx', 22, 5001)
print(message)
# b.{下标}   -  下标指的是获取format中的第几个数据,从0开始
# 'xxx的年龄:xx,今年xx岁'
message = '{1}的年龄:{0},今年{0}岁'.format(22, 'jack')
print(message)

# c.{key}   -   key指的是获取format中的key对应的值
message = '{y}的年龄:{x},今年{x}岁'.format(x=46, y='华仔')
print(message)

# 2)格式约束:{:约束条件}、{下标:约束条件}、{key:约束条件}
'''
约束条件:
.Nf - 保留N位小数

字符>Nd  - 约束数据宽度为N,不够的在前面用指定符号填充
字符<Nd  - 约束数据宽度为N,不够的在后面用指定符号填充

, - 将数字三位一组用逗号隔开(一般用于大数据表示)
%  -  将小数转换成百分比数据,保留6位小数(四舍五入)
.N%  - 将小数转换成百分比数据,保留N位小数(四舍五入)

'''
# 3)f-string  - format方法的简写
'''
语法:
f'字符串内容'
'''
name = '花花'
age = 35
money = 5000
message = f'{name}今年{age}岁,月薪:{money}元'
print(message)
# 添加约束
print(f'年龄:{age: >5}')    # 年龄:   35
# 1.字符串1.count(字符串2)  -  统计字符串1中字符串2出现的次数
message = 'how are you? i am fine, Thank you, and you?'
print(message.count('you'))   # 3
print(message.count(' '))     # 9
# 2.字符串1.find(字符串2)   -  获取字符串2第一次出现在字符串1中出现的位置(返回的是下标值),如果找不到就返回-1
print(message.find('?'))   # 11

# 字符串1.find(字符串2,开始下标,结束下标)  -  获取字符串2在字符串1中指定范围内第一次出现的位置
print(message.find('you', -7))    # 39   (在‘nd you?’找you的位置)

# 3.字符串.join(字符串序列)  -  将序列中所有的元素用指定字符串拼接产生一个新的字符串
list1 = ['name', 'age', 'abc', '你好']
new_str = ''.join(list1)
print(new_str)        # nameageabc你好

print('+'.join(list1))    # name+age+abc+你好

message = 'hello'
print('😄'.join(message))   # h😄e😄l😄l😄o

nums = [100, 20, 30, 40]
print(''.join([str(x) for x in nums]))    # 100203040

# 4.
# 字符串1.replace(字符串2,字符串3)   - 将字符串1中所有的字符串2都替换成字符串3,产生一个新的字符串
message = 'how are you? i am fine, Thank you, and you?'
new_str = message.replace('you', 'YOU')
print(new_str)     # how are YOU? i am fine, Thank YOU, and YOU?
# 字符串1.replace(字符串2,字符串3,N)  -  将字符串1中前N个字符串2都替换成字符串3
new_str = message.replace('you', 'me', 2)
print(new_str)     # how are me? i am fine, Thank me, and you?

# 5.
# 字符串1.split(字符串2)   -  将字符串1中的字符串2作为切割点对字符串1进行切割
str1 = 'abc123abc123abc'
print(str1.split('123'))   # ['abc', 'abc', 'abc']

# 切割点在开头或者结尾   或者切割点挨着,会出现空字符串!!!
print(str1.split('c'))     # ['ab', '123ab', '123ab', '']
str1 = 'abc123abcc123'
print(str1.split('c'))     # ['ab', '123ab', '', '123']
# 字符串1.split(字符串2,N)   -  将字符串1中的前N个字符串2作为切割点对字符串1进行切割

# 6.字符串.zfill(N)  -  将字符串转换成一个指定长度的新字符串,原字符串在右边,左边用0填充
print(str1.zfill(14))   # 0abc123abcc123
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值