9月27日学习总结

9月27日学习总结

一、r语法

1.在字符串的最前面加r或者R,可以让字符串中所有的转义字符的功能小时(每个符号都会编程普通字符)

二、字符串格式化

1.格式化字符串

1.语法:包含格式占位符的字符串%(数据1,数据2,…)

2.格式占位符

%s - 字符串 占位符(任何类型的数据)

%d - 整数占位符

%f - 浮点数占位符(保留6位小数)

%.NF - 浮点数保留N位小数

# 1.%s可以给任何类型的数字占位
str1='%sxxx'%'小明'
print(str1)     # 小明xxx
# 2.%d可以给任何能转换成数字数据占位
str1='%d-xx'%2.4
print(str1)     # 2-xx
# 3.%f可以给任何能转换为数字数据占位
str1='%f-xxx'%2.43
print(str1)     # 2.430000-xx
str1='%.2f-余额'%2.3455
print(str1)     # 2.35余额
name='小明'
age=18
str1='%s今年%d岁,月薪%.2f美元'%(name,age,10000+2300)
print(str1)    # 小明今年18岁,月薪12300.00美元

2.f-string

语法:

1)基本用法

f’{任何有结果的表达式}’ - 用表达式的结果来填充{}所在的位置

name='小明'
age=18
str1=f'{name}今年{age}岁'
print(str1)		# 小明今年18岁

2)加参数

语法:f’{任何有结果的表达式:参数}’

a. .Nf 控制几位小数

b. ,显示余额

c. %

d. X>N X<N

>,<决定填充的时候填在前面还是后面,X  -  填充字符   N -目标长度
money=215737812
str1=f'金额:{money:.2f}'
print(str1)   #金额:215737812.00

money=215737812
str1=f'金额:{money:,}'
print(str1)   #金额:215,737,812

c=0.5
str1=f'市场占有率:{c:.2%}'
print(str1)   #市场占有率:50.00%

num=23
str1=f'Python2106{num:0>3}'
print(str1)	#Python2106023
num=99
str1=f'Python2106{num:好<3}'
print(str1)	#Python210699好

三、字符串相关方法

#1.center,rjust,ljust,zfill
# 字符串.center(长度,填充字符),例如:'abc'.center(7,'x')->'xxabcxx'
# 字符串.rjust(长度,填充字符),例如'abc'.rjust(7,'x')->'xxxxabc'
# 字符串.ljust(长度,填充字符),例如'abc'.ljust(7,'x')->'abcxxxx'
# 字符串.zfill(长度) == 字符串.rjust(长度,'0'),例如:'abc'.zfill(7) -> '0000abc'
# 2.count
# 字符串1.count(字符串2,开始下标,结束下标)    -   在开始下标到结束下标(取不到)对应的范围内统计字符串1中字符换2出现的次数
str1='how are you? iam fine,thank you! and you?'
print(str1.count('a'))#4
print(str1.count('you'))#3
print(str1.count('?',0,12))#1
#3.find、index
# 字符串1.find(字符串2)     -   获取字符串1中字符串2第一次出现的位置,返回0开始的下标值,如果字符串2不存在返回-1
# 字符串1.index(字符串2)    -   获取字符串1中字符串2第一次出现的位置,返回0开始的下标值,如果字符串2不存在报错
# 字符串1.find(字符串2,开始下标,结束下标)、字符串.index(字符串2,开始下标,结束下标)
str1='how are you? i am fine,thank you! and you?'
print(str1.find('you'))#8
print(str1.index('you'))#8
print(str1.find('you1'))#-1
# print(str1.index('you1'))#报错
print(str1.find('e',0,7))
print(str1.find('you',0,))
#4.isdigit、isnumeric
# 字符串.isdigit()   -   判断是否是纯数字字符串(数字指0~9的数字字符)
# 字符串.isnumeric() -   判断是否是纯数字字符串(数字指具有数字意义的字符)
print('32324'.isdigit())     # True
print('21341万千百'.isnumeric()) # True
# 5.islower、isupper
# 字符串1.islower()  -   判断字符串是否是纯小写字母字符串
# 字符.islower()    -   判断是否是小写字母
#
# 字符串1.isupper()  -   判断字符串是否是纯大写字母字符串
# 字符.isupper()    -   判断是否是大写字母

print('fafasf'.islower())   #True
print('ASAFAF'.isupper())   #True
# 6.join
# 字符串.join(序列)    -   将序列中的元素用指定的字符串拼接成一个新的字符串
# 注意:序列中的元素必须是字符串
result=''.join('absdvwf')
print(result)
result1=''.join(['asdad','fewfwe'])
print(result1)
result2='+'.join('fgasgagq')
print(result2)
# 练习1:将下面列表中的元素合并成一个字符串
# ['abc', 100, 12.5, True, 'hello']  -> 'abc10012.5Truehello'
list2=['abc', 100, 12.5, True, 'hello']
result1=''.join([str(x) for x in list2])
print(result1)
# 练习2:已经一个列表保存多个学生的分数,提取所有学生的姓名,以一个字符串的形式返回
# [{'name':'张三', 'age': 18}, {'name':'小明', 'age': 20}, {'name':'小花', 'age': 30}]
# -> '张三,小明,小花'
list1= [{'name':'张三', 'age': 18}, {'name':'小明', 'age': 20}, {'name':'小花', 'age': 30}]
result1=''.join([x['name'] for x in list1])
print(result1)

# 7.strip,rstrip,lstrip
# 字符串.strip() -   去掉字符串两端的空白
# 字符串.lstrip() -   去掉字符串前面的空白
# 字符串.rstrip() -   去掉字符串后面的空白
str1=' \tabc 123 \n'
print(str1)
result=str1.strip()
print(result)
# 8.replace
# 字符串1.replace(字符串2,字符串3)   -   将字符串1里面全部的字符串2替换为字符串3
# 字符串1.replace(字符串2,字符串3,N) -   替换前N个
str1='how are you? i am fine,thank you! and you?'
result=str1.replace('you','me')
print(result)   #how are me? i am fine,thank me! and me?
result=str1.replace('you','me',2)
print(result)   #how are me? i am fine,thank me! and you?
# 9.maketrans、translate
# str.maketrans(字符串1,字符串2)   -   创建一张字符串1和字符串2的字符对应表
# 字符串.translate(表)
table=str.maketrans('ain','你我他')    # a-你,i-我,n-他
str1='how are you? i am fine,thank you! and you?'
result=str1.translate(table)
print(result)
# 练习:将字符串中所有的阿拉伯数字都替换成对应的中文数字
# '123木头人,88'  -> '一二三木头人,八八'
table=str.maketrans('0123456789','零一二三四五六七八九')
str1='一二三木头人,八八'
result=str1.translate(table)
print(result)
# 10.rfind,rindex
str1='how are you? i am fine,thank you! and you?'
print(str1.rfind('you'))    #38
# 11.split
# 字符串1.split(字符串2)  -   将字符串1中所有的字符串2作为切割点,对字符串进行切割
str1='how are you? i am fine,thank you! and you?'
print(str1.split('you'))
# 注意:如果切割点在最前面或者最后面,或者有连续的切割点,结果会出现空串。
str1='osfhsfiooropqouro'
print(str1.split('o'))  #['', 'sfhsfi', '', 'r', 'pq', 'ur', '']
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值