学习总结9

总结

一,字符编码

  1. 为了你能够让计算机存储文字符号,给每个符号对应了一个固定的数字,每次在需要存储这个符号的时候,就取存储这个固定的数字。

每个对应的那个数字就是这个符号的编码值。

  1. 编码表

保存字符和字符对应编码值的表

ASCII码表

美国信息码(只包含了美国人常用的符号,总共128个)

  • 数字字符
  • 大写字母(A-65)
  • 小写字母(a-97)
  • 英文输入法下的特殊符号
Unicode编码表(Python)

包含了世界上所有国家所有的民族的所有的语言符号

Unicode 编码表包含了ASCII

中文编码范围:4e00—— 9fa5

编码值的应用
1,chr(编码值) —— 获取编码值对应的字符

十进制直接写,十六进制在前面加上0x

ord(字符) —— 获取指定字符对应的编码值

注意:字符指的是长度为1的字符串

编码字符:\u 4位的16进制编码值

在字符串中提供字符的方式有两种:

1,直接提供字符
2,使用编码字符

hex(10进制数) - 获取指定数字对应的16进制表示方式

如果知道字符编码值是多少,但是不知道字符是什么的时候,就可以使用编码字符(\u)来表示这个字符

字符串获取字符的方法和列表获取元素的方法一样
1. 获取单个字符

字符串[下标]

注意:转义的长度是1

2. 字符串切片

字符串[开始下标:结束下标:步长]

3. 遍历字符串

for x in str1:
print(x)

1. 字符串加法运算 - 字符串拼接

字符串1 + 字符串2 - 将两个字符串合并成一个字符串

例:str1 = ‘hello’
str2 = ‘world’
print(str1 + str2) —— ‘helloworld’
print(str1 + ’ ’ + str2) —— ‘hello world’

提取字符串中所有数字字符

str1 = ‘世界上89Kl22.9;;//sh66-==1’
new_str1 = ‘’
for x in str1:
if ‘0’ <= x <= ‘9’:
new_str1 += x
print(new_str1) —— ‘89229661’

在每一个数字字符后面插入一个 %

str1 = ‘世界上89Kl22.9;;//sh66-==1’

‘世界上8%9%Kl2%2%.9%;;//sh6%6%-==1%’

new_str1 = ‘’
for x in str1:
if ‘0’ <= x <= ‘9’:
new_str1 += x + ‘%’
else:
new_str1 += x
print(new_str1)

2. 字符串乘法运算

字符串 * N、 N * 字符串 —— 让字符串中元素重复N次产生一个新的字符串

字符串比较运算

比较是否相等: ==、!=

print(‘abc’ == ‘bac’) —— False

比较大小

两个字符串比较大小,比较的是第一对不相等的字符的编码值的大小

判断字符的性质:

是否是数字字符:‘0’ <= x <= ‘9’
是否是小写字母:‘a’ <= x <= ‘z’
是否是大写字母:‘A’ <= x <= ‘Z’
是否是字母:‘a’ <= x <= ‘z’ or ‘A’ <= x <= ‘Z’
是否是中文:‘\u4e00’ <= x <= ‘\u9fa5’

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

print(10 in [10, 20, 30]) —— True
print([10, 20] in [10, 20, 30]) —— False

相关函数

max、min、sorted

print(max(‘helloworld’)) # ‘w’
print(sorted(‘helloworld’)) # [‘d’, ‘e’, ‘h’, ‘l’, ‘l’, ‘l’, ‘o’, ‘o’, ‘r’, ‘w’]

len(字符串)

msg = ‘\thello\nworld!\u4e00’
print(len(msg))

str(数据) - 任何类型的数据都可以转换成字符串;转换的时候是在数据的打印值外面加引号
eval(字符串) - 去掉字符串的引号,获取引号中表达式的结果
字符串.xxx()

1.字符串.join(序列) - 将序列中的元素用指定的字符串连接成一个新的字符串(序列中的元素必须全部都是字符串)

list1 = [‘小明’, ‘张三’, ‘李四’, ‘王五’]

result = ‘+’.join(list1)
print(result) —— ‘小明+张三+李四+王五’

2.字符串1.count(字符串2) - 统计字符串1中字符串2的个数

msg = ‘how are you? i am fine! thank you, and you?’

result = msg.count(‘a’)
print(result) —— 4

print(msg.count(‘you’)) —— 3

字符串1.split(字符串2) - 将字符串1中所有的字符串2作为切割点对字符串1进行切割
字符串1.split(字符串2, N) - 将字符串1中前N个字符串2作为切割点对字符串1进行切割
字符串1.replace(字符串2, 字符串3) - 将字符串1中所有的字符串2都替换成字符串3
字符串1.replace(字符串2, 字符串3, N) - 将字符串1中前N个字符串2都替换成字符串3
字符串.strip() - 去掉字符串前后的空白字符
字符串.isupper() - 判断字符串是否是纯大写字母字符串
字符.isupper() - 判断字符是否是大写字母
字符串.islower() - 判断字符或者字符串是否全是小写字母
字符串.isdigit() - 判断字符或者字符串是否全是数字字符
字符串.upper()
字符串.lower()

案例:判断char是否是字母
char = ‘2’

if char.islower() or char.isupper():
print(‘是字母’)
else:
print(‘不是字母’)

解决的问题:字符串内容不确定

xxx今年xx岁,月薪:xxxx.xx元!

方法1.字符串拼接

msg = name + ‘今年’ + str(age) + ‘岁,月薪:’ + str(money) + ‘元!’
print(msg)

方法2.格式字符串 - 包含格式占位符的字符串
1,语法:包含格式占位符的字符串 % (数据1, 数据2, 数据3,…)
2,注意:()中的数据必须和前面字符串中的占位符一一对应
3,常见的格式占位符:

%s - 可以给任何类型的数据占位
%d - 可以给任何数字占位(整数占位符,如果给的数字是小数,会自动转换成整数在拼接到字符串中)
%f - 可以给任何数字占位(浮点数占位符)
%.Nf - (控制保留N位小数 - 默认是保留6位小数)

name = ‘张三’

age = 30

money = 12000

msg = ‘%s今年%d岁,月薪:%.2f元!’ % (name, age, money)
print(msg)

f-string

在字符串的最前面(引号的前面)加f,就可以在字符串中通过 {表达式} 中表达式的结果来给字符串提供内容

msg = f’{name}今年{age}岁,月薪:{money}元!’
print(msg) —— 张三今年30岁,月薪:12000元!

{表达式:.Nf} - 控制小数保留N位小数

a = 1.234
b = 2.3
print(f’{a:.2f} + {b:.2f} = {a + b:.0f}')

{表达式:.N%} - 控制数字显示成百分比,N空值百分比的小数位数

c = 0.98
print(f’及格率:{c:.0%}')

{表达式:,.Nf} - 标准的金额拼接

357800 -> ¥356,800.00

d = 3578000
print(f’¥{d:,.2f}')

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值