从入门到入狱-------字符串和相关函数

入门 N day

一个元素占一个1字符,一个转义字符占1个字符

strx = 'sdaw'
print(len(strx))  # 长度为4

strx = '  sdadw'
print(len(strx))  # 7
strx = '\tdadw'
print(len(strx))  # 5

类型转换
str
所有的数据都能转换成字符串,在数据打印值外面加引号

strx = 100
print(type(str(strx)))  # <class 'str'>
name = 'dwa'
age = 12
messge = name + '今年' + str(age) + '岁'
print(messge)

当一个字符串中有一个或者多个部分是变化的时候,我们可以用字符串加
法运算,格式字符串和F字符串来实现这个功能
格式字符串
在字符串中用格式占位符代替字符串变化的部分,然后在后面用数据来给
格式占位符赋值
语法:
带有格式占位符的字符串%(数据1,数据2,数据3,…)
说明:
% 固定写法
() 固定写法,在数据只有一个时可以省略
数据 数据的个数必须和前面字符串中占位的个数保持一致,类型也要和占位符
一一对应
格式占位符和对应的数据类型是固定的
%s ----- 字符串(可以是其他类型)
%d ----- 整数
%f ----- 浮点数 %.Nf 浮点数保留N位小数(四舍五入)
%c ----- 字符编码值

name = 'dwaddaw'
age = 13
money = 125
messge = '%s今年%d岁,月薪%.2f元' % (name, age, money)
print(messge)

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

name = 'dwaddaw'
age = 13
money = 125

# 用法1
messge = '{}今年{}岁,月薪{}元'.format(name, age, money)
print(messge)

# 用法2 {下标}   下标指的是获取format中第几个数据,从0开始
name = 'd带娃娃'
age = 132
money = 1250
messge = '{2}今年{0}岁,月薪{1}元'.format(age, money, name)
print(messge)

# {key}
name = 'd带娃娃'
age = 132
money = 1250
messge = '{i}今年{j}岁,月薪{n}元'.format(i=age, j=money, n=name)
print(messge)
格式约束:{:约束条件},{下标:约束条件},{key:约束条件}

‘’’
约束条件
.Nf 保留N位小数(四舍五入)
字符>Nd
字符<Nd
‘’’

print('约束1:{:.2f}'.format(3.1415926))  # 约束1:3.14

print('约束1:{1:.7f}'.format(3.1415926, 3.14159))  # 约束1:3.1415900

X>N N代表总共的位数 X代表需要补充的元素 >代表方向在前 <代表方向在后

print('约束2:{:X>5}'.format(10))  # 约束2:XXX10 10占两位,补三个X,总共5位
print('约束2:{: >5}'.format(10))  # 约束2:   10

{:,} 将数字三位一组用逗号隔开(一般用于大数据的表示)

print('约束3:{:,}'.format(10000000))  # 约束3:10,000,000
% 将小数转化成百分比数据,保留6位小数
.N% 将小数转化成百分比数据,保留N位小数
print('约束4:{:%}'.format(10000000))  # 约束4:1000000000.000000%
print('约束4:{:.2%}'.format(10000000))  # 约束4:1000000000.00%
# f-string   format方法的简写 f'字符串内容'
name = 'xx'
age = 15
money = 100000
str1 = f'{name * 2}今年{age * 2}岁,月薪{money / 2}元'  # xxxx今年30岁,月薪50000.0元
print(str1)

# f-strig 加约束

name = 100
age = 15
money = 100000
str1 = f'{name * 20:,}今年{age * 2: >3}岁,月薪{money / 2:.3f}元'  # 2,000今年 30岁,月薪50000.000元
print(str1)

‘’’

资料查找地址

https://www.runoob.com/python/att-string-format.html
菜鸟教程python format格式化函数
https://www.runoob.com/python/python-strings.html
菜鸟教程 python字符串的内建函数
‘’’
字符串1.find(字符串2) 获取字符串2第一次在字符串1中出现的位置(返回正的下标值)
如果找不到返回的是-1

 字符串1.find(字符串2,开始下标,结束下标)
str1 = 'how are you ?Imfine, Thankyou!'
str2 = 'you'
index1 = str1.find(str2)  # 从头开始找
index2 = str1.find(str2, -7)  # 从下标为-7的字符找到最后的字符
index3 = str1.find(str2, 9, len(str1))  # 从下标为9的字符开始找
print(index1, index2, index3)

# 字符串.join(字符串序列)
# 将序列中所有的元素用指定字符串拼接在一起产生一个新的字符串
list1 = ['name', 'adw', '1345']
new_str = ''.join(list1)
print(new_str)

字符串1.replace(字符串2,字符串3) 将字符串1中所有的字符串2都替换成字符串3产生新的字符串
字符串1.replace(字符串2,字符串3,N) 将字符串1中前N个字符串2替换成字符串3

str1 = '1561123114abcd'
new_str = str1.replace('abcd', 'ABCD')
print(new_str)  # 123456ABCD
new_str1 = str1.replace('1', '*', 2)
print(new_str1)  # *56*123114abcd

str1 = '123456'
str2 = '+'
new_str = str1.replace(str1[0], str2)  # 将下标为0的字符替换成+
new_str2 = new_str.replace(str1[-1], str2)  # 将下标为-1的字符替换成+
print(new_str2)  # +2345+

字符串.split(切割点) 一头一尾为切割点则是空字符串
如果多个切割点挨着的则会形成空的字符串

str1 = '1123456 11123456 123456'
print(str1.split('1'))  # ['', '', '23456 ', '', '', '23456 ', '23456']
print(str1.split('5'))  # ['11234', '6 111234', '6 1234', '6']

控制切割的次数

print(str1.split(' ', 1))  # ['1123456', '11123456 123456']
print(str1.split(' ', 2))  # ['1123456', '11123456', '123456']

字符串.zill(N)
将字符串转成一个指定长度的新字符串,原字符串在右边,左边用0填充

num = 34
print(str(num).zfill(4))  # 0034
print(str(num).zfill(6))  # 000034

猜你喜欢

转载自blog.csdn.net/weixin_44628421/article/details/108886040
今日推荐