对学的一些内容记一下笔记
编码分为ASCII、Unicode、UTF-8三种
ASCII编码是最早的电脑编码,最早只有127个字符,就是英文大小写以及一些符号。
Unicode编码,不同国家都有着属于自己的字符编码,在不同国家使用不同的语言编码时就会发生冲突,这时Unicode字符就出现了。Unicode标准也在不断发展,但最常用的是UCS-16编码,用两个字节表示一个字符(如果要用到非常偏僻的字符,就需要4个字节)。现代操作系统和大多数编程语言都直接支持Unicode。
统一用Unicode编码乱码消失了,但是如果代码里面全是英文的话,存储空间会比ASCII编码大一倍,于是UTF-8编码就出现了,UTF-8编码可长可短,UTF-8编码把一个Unicode字符根据不同的数字大小编码成1-6个字节,常用的英文字母被编码成1个字节,汉字通常是3个字节,只有很生僻的字符才会被编码成4-6个字节。
对于单字符,python的ord()函数可以获取字符的整数编码,chr()函数作为ord()的对应函数,可以把编码转换成对应的字符。
如果知道字符的整数编码,也可以用十六进制来写str函数
还有一些对应的函数如encode()和decode()两个函数,encode()可以把字符编码为指定的bytes,decode()是把bytes解析为字符。
纯英文可以用ASCII编码来编码,含有中文的字符需要用utf-8。
格式化的函数
%运算符是用来格式化字符串的,在字符串内部,%s表示用字符串替换。
%d 整数
%f 浮点数
%s 字符串
%x 十六进制整数
如果你不知道该替换什么,%s永远都可以使用。
如同下面这种,后面的美元可以用%d,也可以用%s.
>>> 'Hi, %s, you have $%s.' % ('Alex', 1000000)
'Hi, Alex, you have $1000000.'
format函数,是依次替换(不常用)
>>>'hello,{0},今天全天用餐费用是{1}元,早餐{2}元,午餐{3}元,晚餐{4}元。'.format('Alex',100,20,50,30)
'hello,Alex,今天全天用餐费用是100元,早餐20元,午餐50元,晚餐30元。'
f-string函数
用f开头的字符串,称之为f-string(),和普通字符串不同之处在于,字符串如果包含{xx},就会以对应的变量替换,如课后练习。
课后练习
小明的成绩从去年的72分提升到了今年的85分,请计算小明成绩提升的百分点,并用字符串格式化显示出’xx.xx%’,只保留小数点后2位:
s1=72
s2=85
s3=(s2-s1)/s1*100
print(f'小明成绩提升了{s3:.2f}%')
运行结果就是



