马哥门徒DEVOPS第八周

本文介绍了Python中的类型注解,其主要目的是辅助代码理解和工具分析,不参与运行时检查。同时,讨论了内置open函数的多种打开模式及其应用场景。此外,对比了pickle、json和MessagePack三种序列化方法,分别强调了它们的特点和适用场景。最后,通过正则表达式展示了如何从字符串中提取中文字符。
摘要由CSDN通过智能技术生成

1. 什么是类型注解并说明其背后的目的.

函数注解

Python 3.6引入
对函数的参数进行类型注解
对函数的返回值进行类型注解
只对函数参数做一个辅助的说明,并不对函数参数进行类型检查
提供给第三方工具,做代码分析,发现隐藏bug
函数注解的信息,保存在__annotations__属性中
自动补全并可以进行静态代码检查,可以极大程度上帮助你减少程序中的bug。

具体的语法是可以归纳为两点:在声明变量时,变量的后面可以加一个冒号,后面再写上变量的类型,如 int、list 等等。
在声明方法返回值的时候,可以在方法的后面加一个箭头,后面加上返回值的类型,如 int、list 等等。
在 PEP 8 中,具体的格式是这样规定的:在声明变量类型时,变量后方紧跟一个冒号,冒号后面跟一个空格,再跟上变量的类型。
在声明方法返回值的时候,箭头左边是方法定义,箭头右边是返回值的类型,箭头左右两边都要留有空格。
有了这样的声明,以后我们如果看到这个方法的定义,我们就知道传入的参数类型了,如调用 add 方法的时候,我们就知道传入的需要是一个数值类型的变量,而不是字符串类型,非常直观。
但值得注意的是,这种类型和变量注解实际上只是一种类型提示,对运行实际上是没有影响。

2. 内置的open函数打开文件有几种模式,它们的区别是什么?

在这里插入图片描述

3. 列出本周讲的几种序列化方法,它们各自的特点是什么?

pickle:Python程序之间可以都用pickle解决序列化、反序列化,如果是跨平台、跨语言、跨协议pickle就不太适合了,就需要公共的协议
在这里插入图片描述
json:一般json编码的数据很少落地,数据都是通过网络传输。传输的时候,要考虑压缩它。本质上来说它就是个文本,就是个字符串。json很简单,几乎编程语言都支持Json,所以应用范围十分广泛
在这里插入图片描述

MessagePack : 基于 二进制 高效的对象序列化类库,可用于跨语言通信。 它可以像 JSON 那样,在许多种语言之间交换结构对象。 但是它比 JSON 更快速也更轻巧。 支持 Python 、 Ruby 、 Java 、 C/C++ 等众多语言。MessagePack 简单易用, 高效压缩, 支持语言丰富, 所以, 用它序列化也是很好的选择.

在这里插入图片描述

运行结果"
在这里插入图片描述

4. 有字符串”not 404 found 张三 99 深圳”,使用正则过滤掉英文和数字,最终得到”张三 深圳”

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值