数据分析 --- day10python基础

一、字符串相关方法 Ⅱ

一、字符串.count()

字符串1. count(字符串2) - 统计字符串1中字符串2出现的次数

str1 = 'how are you? im fine,Thank you! and you?'
print(str1.count('you'))
print(str1.count('a'))

二、 字符串.isdigit()/字符串.isnumeric()

1. isdigit

类型说明
字符串.isdigit()判断指定字符串是否是纯数字字符串(阿拉伯数字0~9)
字符.isdigit()判断指定的字符是否是数字字符

2. isnumeric

类型说明
字符串.isnumeric()判断指定字符串是否是纯数字字符

三、 islowerisupper

类型说明
字符串.islower()判断字符串是否是纯小写字母字符串(是否全部是小写字母)
字符.islower()判断指定字符是否是小写字母
  • isupperislower类似

四、 字符串.lower()、字符串.upper()

类型说明
字符串.lower()将字符串中所有的大写字母都转换成对应的小写字母
字符串.upper()将字符串中所有的小写字母都转换成对应的大写字母
print('jsks2239数据HKN9220kk'.upper())    # JSKS2239数据HKN9220KK
print('jsks2239数据HKN9220kk'.lower())    # jsks2239数据hkn9220kk

五、字符串.maketrans()、字符串.translate()

类型说明
str.maketrans(字符串1, 字符串2)创建字符串1中每个字符和字符串2中每个字符之间的对应关系表
str1 = '123a89b234a7c9'
table = str.maketrans('abc', '+-*')
result = str1.translate(table)
print(result)					# 123+89-234+7*9

案例

t = '星期6'
table = str.maketrans('0123456', '一二三四五六天')
print(t.translate(table))

六、 字符串.rjust/ljust/center/zfill()

用法示例结果
字符串.rjust(宽度, 字符)str1.rjust(7, ‘1’)1111abc
字符串.ljust(宽度, 字符)str1.ljust(7, ‘1’)abc1111
字符串.center(宽度, 字符)str1.center(7, ‘1’)11abc11
字符串.zfill(宽度)str1.zfill(7)0000abc

字符串.zfill(宽度) == 字符串.rjust(宽度, ‘0’)

二、字符串格式化

问题: 字符串的部分内容是动态变化的!
name = input('请输入名字: ')
age = int(input('请输入年龄: '))
name = '小明'
age = 17
message是 'xxx今年xx岁!'

1. 使用 + 做字符串拼接

message = name + '今年' + str(age) + '岁'
print(message)				# 小明今年15岁

2. 使用格式字符串

使用格式字符串 - 带有格式占位符的字符串就是格式字符串

  • python使用格式字符串的语法: 带有格式占位符的字符串 % (数据1, 数据2, 数据3…)

注意: 后面括号中数据必须和前面字符串的占位符一一对应(数量、位置、类型) ;如果数据只有一个,后面小括号可以不写

类型说明
%s字符串占位符(给任何类型数据占位)
%d整数占位符(自动转换成整数)
%f浮点数占位符(转换成小数,默认保留6位小数)
%.Nf保留N位小数
name = '小明'
age = 17
score1 = 79
score2 = 89
score3 = 98
message = '%s今年%d岁,这次考试的成绩分别是: 语文-%d, 数学-%d, 英语-%d。'% (name, age, score1, score2, score3)
print(message)					# 小明今年15岁,这次考试的成绩分别是: 语文-79, 数学-89, 英语-98。

示例

a = 89
b = 23.98
print('a:%d, b:%d' % (a, b))        # a:89, b:23
print('a:%f, b:%f' % (a, b))        # a:89.000000, b:23.980000
print('a:%.2f, b:%.3f' % (a, b))    # a:89.00, b:23.980

3. 使用f - string

在字符串的外面加上一个f或者F,就可以在字符串中通过{表达式}给字符串提供内容({}中表达式的结果是什么,填充到字符串中的内容就是什么)

name = '小明'
age = 17
score1 = 79
score2 = 89
score3 = 98
message = f'{name}今年{age}岁,这次考试的成绩分别是: 语文-{score1}, 数学-{score2}, 英语-{score3}。'
print(message)          # 小明今年17岁,这次考试的成绩分别是: 语文-79, 数学-89, 英语-98。
  1. 怎么在{}中通过表达式提供数据

直接使用变量来提供数据

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

直接使用具体的数据提供数据

message = f'{"你好"}今年{18}岁'
print(message)          # 你好今年18岁

可以用运算表达式的结果来提供数据

message = f'{name[0]}今年{age + 10}岁'
print(message)          # 小今年27岁

message = f'数字列表:{[x*2 for x in range(5)]}'
print(message)          # 数字列表:[0, 2, 4, 6, 8]
  1. f-string参数的使用
  • {提供数据的表达式:参数}
#a. 控制小数位数的参数 :  {提供数据的表达式: Nf}
money = 82992.82
str1 = f'金额:{money:.3f}元'
print(str1)

str1 = f'年薪:{money * 13:.2f}元'
print(str1)

# b.金额数据逗号分割:
money = 1078906.6675
str1 = f'年薪:{money:,}元'
print(str1)             # 年薪:1,078,906.6675元

money = 1078906.66
str1 = f'年薪:{money:,.2f}元'
print(str1)                 # 年薪:1,078,906.66元

# c.显示百分比:{提供数据的表达式:.N%}
rete = 20 / 28
print(f'班级成材率: {rete:.2%}')       # 班级成材率: 71.43%

# d.控制填充内容在字符串中所占的宽度: {提供数据的表达式:字符>N}、{提供数据的表达式:字符<N}、{提供数据的表达式:字符^N}

注意: 没有写字符的时候用空格填充

str1 = 'asdg'
message = f'字符串:{str1}!'
print(message)              # 字符串:asdg!

str1 = 'asdg'
message = f'字符串:{str1:/>9}!'
print(message)           # 字符串://asdg!

str1 = 'asdg'
message = f'字符串:{str1:*^9}!'
print(message)           # 字符串:**asdg***!

str1 = 'asdg'
message = f'字符串:{str1:~<9}!'
print(message)           # 字符串:asdg~~~~~!


message1 = f'{"成都校区"}上半年招生量:{2354  }人,总收入:{12435678}元'
message2 = f'{"上海校区"}上半年招生量:{3354}人,总收入:{22435678}元'
message3 = f'{"北京校区"}上半年招生量:{4354}人,总收入:{42435678}元'
message4 = f'{"哈尔并校区"}上半年招生量:{235}人,总收入:{124356}元'

print(message1)
print(message2)
print(message3)
print(message4)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值