第四章 格式化输出与字符编码

第四章 格式化输出与字符编码,第1张

第四章 格式化输出与字符编码 字符编码

字符编码:计算机显示出来的所有文字,在底层都有一个用来翻译的字典(字符集/字符编码),如果你要显示的字,字典里没有.输出的就会变成乱码,在编程语言诞生之后,推行出了第一套字符编码,叫ascii,里面收录了英文字母,数字,特殊符号 --> 没有中文,日文等别的语言。


1995年 --> 国内推行出了GBK编码 --> 2万个汉字
中国台湾 --> BIG5码 --> 大五码,繁体字

目前世界上最主流的字符编码 --> utf-8(万国码),世界上有个组织,专门做一些统一世界知识的一些 *** 作.这个组织收集了很多国家的语言文字,弄在一起,做成了utf-8编码。



就像一个字典,里面能翻译识别大部分国家的语言
1.目前世界上最主流的字符编码是utf-8
2.一个程序,它是用什么编码写的,你就用什么编码去使用/读取它 --> 解铃还需系铃人
转码 --> 把数据转换成别的字符编码或者别的格式

1.encode()方法是编码方式,是将需要传输的数据或者保存的数据并以什么编码方式保存。


*** 作方式:

*** 作数据.encode(字符编码)

name = '小红'
print(name)
print(name.encode(encoding='gbk'))
结果:
	小红
	b'\xd0\xa1\xba\xec'
a = '大家很棒'
b = a.encode() # 把a转换为一个处理后的二进制字符串
print(b)
结果:
	b'\xe5\xa4\xa7\xe5\xae\xb6\xe5\xbe\x88\xe6\xa3\x92'

1.ord(字符) --> 通过字符,找到序号(找到该字符在字符编码当中的位置)

print(ord('b'))
结果:
	98

2.chr(序号) --> 通过序号,找到字符

print(chr(88))
结果:
	X

小提示:

​ cmd或者 win+r的运行窗口里.输入
​ shutdown -s -t XXX XXX换成自己想要的数字.就是在X秒后关机
​ shutdown -s -t 10086
​ 要取消关机.还是在cmd或者运行窗口里. 输入 shutdown -a

字符串进阶

当你需要将多个变量一起打印在一段话时,这时候该怎么办呢?如果是print(变量1,变量2)这样的方式,当中的数据会有空格,会明显看出两个变量是不想关的。


name = '小红'
age = '18'
sex = '女'
print(name,age,sex)
结果:
	小红 18

这个时候就需要用到字符串的拼接方法了。


*** 作方式为:print(数据1+数据2+数据3)

name = '小红'
age = '18'
sex = '女'
print('我的名字叫做'+name+',今年我'+age+'岁'+',性别是'+sex)
结果:
	我的名字叫做小红,今年我18,性别是女

这样的方式对比起上面的方式来说,结果更加明确了,但是从代码上来看,下者的代码更为复杂。


而且字符串的拼接是只允许字符串之间的拼接,并不会允许字符串与整形(str+int)、字符串与浮点型(str+float)、字符串与布尔值(str+bool)之间的拼接。


可以看上面的年龄,按道理来说年龄应该是int类型,但是在这里要拼接就必须得让它变为字符串类型。


否则就会保错。


我们不会极力推荐。


但有没有其他的方法能够解决这样的问题呢?结果是当然有:格式化输出

格式化输出

格式化输出就是将变量运用到我们需要打印的语句当中去,不会像字符串拼接一样需要很复杂的拼接方式。


格式化的优点:

​ 让你可以更方便的输出一些带有变量的数据.或输出一些带有格式的数据
​ 本质:一种更好的输出方式,让你可以更灵活的使用字符串
​ 尊敬的XX您好,您本月的账单已经发送,您使用流量XXGB,使用话费XX元

1.f-string方法,f-string方法是f-str的全写,它是最简单也是一个比较常用的格式化输出的方式。


*** 作方式为:

在字符串前面加个f/F,把要输出的变量用{}包裹起来。


name = '小红'
age = 18
sex = '女'
print(f'我的名字是{name},性别是{sex},芳龄是{age}')
结果:
	我的名字是小红,性别是女,芳龄是18

在大括号里面的变量,是可以进行 *** 作的:增删改查方法,切片,数值运算的。


2.占位符方法,占位符就相当于你去电影院看电影,这个时候你就需要买票,买票是为了确定你看电影的位置。


而占位符也就是为变量占据一个位置,当变量来了就进入,其它的变量来了不允许进入。


通过占位符的概念,先占住一个位置,后续再用实际值补上
语法:
print(“XXX%dXXX”% 数据)
print(“XXX%dXXX%s”% (数据1,数据2))
案例:
print(‘大家好,我是%s’)
print(‘大家好,我是%s,我今年%d岁’%(name,age))
print(‘多喝%s,我量了下身高,%.2f米’%(‘热水’,1.77))
%后面放入的除了变量外,也可以直接写数据。


占位符的类型:%s是对应的字符串类型(str),%d代表的是整形(int),%f代表的是浮点数类型(float)

    %.1f --> 保留一位小数点
    %.2f --> 保留两位小数点

占位符和放入的数据的数量得一一匹配.你占了几个位置,你后面就要放几个数据,不能多也不能少!!! 不能欺负老实人!!!

如果只有一个占位.直接在%后面把数据写上就好.如果有好几个占位,那就把后面取代的值用元组包裹
语法:

name = '小红'
age = 18
sex = '女'
print(f'我的名字是%s,性别是%s,芳龄是%d'%(name,sex,age))
结果:
	我的名字是小红,性别是女,芳龄是18

3.format方法,语法:print(“XX{}XX{}”.format(数据1,数据2))

name = '小红'
age = 18
sex = '女'
print('我的名字是{},性别为{},芳龄是{}'.format(name,sex,age))
结果:
	我的名字是小红,性别为女,芳龄是18

绝对路径和相对路径

绝对路径: 一个完整的地址,在电脑文件中一般是从盘符开始算,较长

相对路径: 一个相对的地址,在电脑文件中一般从当前文件夹出发

绝对路径: xx省xx市xx镇xx小区xx房间号

相对路径: 我家楼下(有个参考位置,我家)

运算符

python里的=和==,一个等号是赋值,两个等号才是用来判断是否相对

! --> 取反,死杠精,什么都和你反着来。


1.赋值运算语法糖(简便写法)
age = 18
以前: age = age+1
现在: age += 1 # 等价于 age = age+1

2.逻辑运算:
and: 当有多个条件时,都满足了才为真
or: 当有多个条件时,满足一个就为真
not: 也是个死杠精,反着来
3.比较运算符
> :大于判断一个数是否大于另一个数
< :小于判断一个数是否小于另一个数
==: 等于判断一个数是否等于另一个数
>= : 大于或等于判断一个数是否大于或等于另一个数
<= : 小于或等于判断一个数是否小于或等于另一个数
4.成员运算符:
判断一个数据,是否被包含

li = [1,2,3,4,5,6,7]

in: x在y里面

6 in li # 判断li里面有没有6这个值,返回值为bool

not in : x不在y里面

70 not in li # 判断li里面是不是没有70这个数据,返回值为bool

li = [1,2,3,4,5,6,7]
print(6 in li)
print(70 in li)
结果:
	True
	False

拓展

装逼技巧与撩妹绝学 --> 先不要想着我要赚多少钱,先想办法让自己更值钱
硬条件:
专业技能 --> it技术
项目经验 --> 老司机,还是小菜鸡.你写的代码,你做的项目多不多
学历 --> 高高益善
编程核心四大件 -->
数据结构算法
*** 作系统
网络编程
设计模式
软条件:
养成写笔记 --> 后续转为写博客
文案能力 --> 开发文档,使用说明,项目策划
沟通能力 --> 口才,表达能力,交际能力
领导能力 --> 管理,内部氛围调控,培训

目前互联网上很值钱的两个玩意:
    1.数据 
    2.流量
学会积攒流量 --> 抖音短视频,技术博客,微信公众号

如果有兴趣爱好方向的拓展. 个人推荐有空余时间学习影视剪辑/后期相关 --> 剪视频,做视频
1.看片 --> 1.看一个同事的视频
           2.看同行机构的视频1-2个
           3.看mooc网的视频(嵩天)
2.写初步课件
3.看书 --> 对知识点进行查漏补缺
4.看博客(博客园),再对知识点进行补充
5.和同事进行沟通交流,让他看下我的课件.参考他的一些做法
    讲XX他是怎么举例子
    讲XX的时候,大部分学员是会在哪里听不懂,感觉难
6.重新精校课件
7.在脑子里过一遍课件/录视频
如何写笔记
https://www.appinn.com/markdown/
Markdown的语法
#XXX  一级标题
##XXX 二级标题
***\*XX\****  字体加粗
![](图片名) 插入图片
tab --> 缩进

作业:
	序列类型方法的本质,就是帮助我们更好的实现____ *** 作
	现有列表如下,请把它修改为[70,"祝大家假期快乐",True,666]  
	li = [555,233,"祝大家假期快乐",True]  
	现有元组如下,请问在该列表中,70这个值,出现过几次?  
	li1 = (233,70,70,70,False,"假期玩的开心",70,"多喝热水",70)
	以格式化输出的方式.写一个自我介绍. 要求使用至少5个变量.其中需包含:str,int,float,list类型的数据

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/585017.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-12
下一篇 2022-04-12

发表评论

登录后才能评论

评论列表(0条)

保存