《第三期(先导课)》之《Python工程应用》

embedded/2024/12/28 19:44:54/

文章目录

  • 《1. Python工程应用-字符串》
  • 《2. Python文档化应用场景》
  • 《3. 如何使用注释》(我注:其实是注解)
  • 《字符编码的处理》
  • 《Python程序调试和异常处理技巧》
  • 《JSON应用》
  • 《文件I/O》
  • 《爬虫(1)》
  • 《爬虫(2)》
  • 《爬虫(3)》
  • 《爬虫(4)》
  • 《字符串处理》

《1. Python工程应用-字符串》

  • 在这里插入图片描述
    在这里插入图片描述

  • 三引号:
    在这里插入图片描述

  • f-string:
    在这里插入图片描述

python">for i in range(5):print(f'第{i + 1}个数是{i}')

输出结果:
第1个数是0
第2个数是1
第3个数是2
第4个数是3
第5个数是4

  • 关于Unicode 字符串, 我在通义上查到的资料:python 3默认情况下,所有字符串都是 Unicode 字符串,因此 u’…’ 前缀并不是必需的

  • Python、Java中的字符串是不可变的,JavaScript中的字符串是可变的

《2. Python文档化应用场景》

自动化文档:
在这里插入图片描述

《3. 如何使用注释》(我注:其实是注解)

在这里插入图片描述
在这里插入图片描述
类型注解的好处:
在这里插入图片描述

我手操使用了mypy:

  1. 可以使用 pip 来安装 mypy。打开终端运行以下命令(注意如果是windows环境,须用管理员权限打开终端,否则安装会失败):pip install mypy

  2. mypy zhujie.py运行mypy. 以下为zhujie.py的代码:

python">class Greeter:def greet(name: str) -> str:"""此方法返回一个字符串参数name。"""return nameclass Person:def __init__(self, name:str, age:int):self.name = nameself.age = ageprint(type(Greeter.greet('1')))
print(type(Greeter.greet(1)))person = Person('Tom', 25)
print(person.name)
print(person.age )
person = Person(26, 'Tom')
print(person.name)
print(person.age )from typing import List
def get_users() -> List[int]:users = '1'return usersprint(get_users())

运行效果:
在这里插入图片描述

《字符编码的处理》

  • 字符编码(Character Encoding)是一种将字符映射为特定二进制模式的系统,常用的字符编码包括ASCII, UTF-8, GBK等。字符编码通常将字符集中的每个字符映射为一个或多个字节。
  • Unicode:
    在这里插入图片描述
  • UTF-8:
    在这里插入图片描述
  • 处理字符编码:
    我与文心一言:encode方法是将字符串按指定字符编码 编码为字节串(bytes),这个过程也称为“编码”。decode方法用于将字节串解码为字符串,这个过程也称为“解码”。两方法默认的字符编码都是’utf-8’
    在这里插入图片描述
    • 39分 读写二进制文件,encoding=None

《Python程序调试和异常处理技巧》

  • 19:30+ 异常处理结构 try except
  • 38分 try except else
  • 43:42+ try except finally
  • 48:30+ raise手动引发异常

例1:
在这里插入图片描述
我给的例2:

python">def check_age(age):if age < 0:raise ValueError("年龄不能为负数")elif age > 120:raise ValueError("年龄不能超过120岁")return f"您的年龄是: {age} 岁"# try:
print(check_age(-5))
# except ValueError as e:
#     print(e)  # 输出: 年龄不能为负数

《JSON应用》

  • 11:35+ json.dumps(): 将Python 字典转换为 JSON 字符串,其中 None 值被转换为 null
  • 逆操作: json.loads()
  • 16:50+ json.dump(): 将Python字典写入JSON文件. 逆操作:json.load(). 例:
    在这里插入图片描述

《文件I/O》

  • 在Python中,文件I/O可通过内置的open()函数实现,此函数用于打开一个文件,并返回一个文件对象,可以对文件进行各种操作。
    我注:环境windows11, encoding不设置的话似乎是gbk
  • 11:51+ 读取文件的行
  • 13:44 关闭文件:在这里插入图片描述
    通义千问对with的解释:在 Python 中,with 语句用于简化资源管理,特别是在处理文件操作、网络连接、锁等需要确保资源正确释放的情况时。with 语句提供了一种上下文管理机制,确保在代码块执行完毕后自动释放资源,即使发生异常也是如此。

《爬虫(1)》

  • 5:25+ 爬虫通俗的讲,就是模拟浏览器抓取数据
  • 前端的HTML、JavaScript等的小白教程:https://www.w3school.com.cn/index.html
  • 20:56 urllib库:
    在这里插入图片描述
    在这里插入图片描述

《爬虫(2)》

  • 41:58 文件的属性如:f.closed,f.mode,f.name

《爬虫(3)》

《爬虫(4)》

  • requests

《字符串处理》

在这里插入图片描述


http://www.ppmy.cn/embedded/149537.html

相关文章

Linux: yama是什么意思?[ChatGPT]

文章目录 简介Yama 的来源Yama 的主要功能Yama 的配置如何验证 Yama 是否启用&#xff1f; 简介 Yama 是 Linux 内核中的一个安全模块&#xff08;LSM&#xff0c;Linux Security Module&#xff09;&#xff0c;其主要目的是通过额外的限制来强化进程间的隔离&#xff0c;减少…

openssh9.9P1-CentOS7升级包

用于CentOS7.x系统的openssh版本升级&#xff0c;同时要求openssl版本为1.1.1w&#xff0c;SSL已经升级的只需要升级ssh即可。 处理方法 注意&#xff1a; 升级前&#xff0c;要确保root可以ssh登录或普通账号登录后能切换到root。将包里的文件上传至服务的/root目录下&#xf…

blender中合并的模型,在threejs中显示多个mesh;blender多材质烘培成一个材质

描述&#xff1a;在blender中合并的模型导出为glb&#xff0c;在threejs中导入仍显示多个mesh&#xff0c;并不是统一的整体&#xff0c;导致需要整体高亮或者使用DragControls等不能统一控制。 原因&#xff1a;模型有多个材质&#xff0c;在blender中合并的时候&#xff0c;…

MacOS M3源代码编译Qt6.8.1

编译时间过长&#xff0c;如果不想自己编译&#xff0c;可以通过如果网盘进行下载&#xff1a; 链接: https://pan.baidu.com/s/17lvF5jQ-vR6vE-KEchzrVA?pwdts26 提取码: ts26 在macOS上编译Qt 6需要一些前置步骤和工具。以下是编译Qt 6的基本步骤&#xff1a; 安装Xcode和…

力扣面试题 37 - 节点间通路

题目&#xff1a; 节点间通路。给定有向图&#xff0c;设计一个算法&#xff0c;找出两个节点之间是否存在一条路径。 示例 1&#xff1a; 输入&#xff1a;n 3, graph [[0, 1], [0, 2], [1, 2], [1, 2]], start 0, target 2输出&#xff1a;true示例 2&#xff1a; 输入…

FreeSwitch中启用WebRTC

在FreeSwitch中启用WebRTC需要进行一系列配置。以下是详细的步骤&#xff1a; 1. 安装必要的依赖&#xff1a; 确保安装了支持WebRTC的依赖库&#xff0c;如libsrtp。 2. 配置SIP Profile&#xff1a; 编辑 conf/sip_profiles/internal.xml 文件&#xff0c;添加或修改以下内…

《人工智能如何加速药物研发进程:从新药发现到临床试验的突破》

在当今医药领域&#xff0c;药物研发的复杂性和高成本使得新药的推出面临诸多挑战。而人工智能&#xff08;AI&#xff09;正以其强大的能力为药物研发带来新的契机&#xff0c;助力加速新药发现和临床试验过程。 新药发现阶段 靶点识别与筛选 药物研发的第一步是确定药物作…

面向对象的设计原则与设计模式

目的 设计模式的目的是提高代码的重用性&#xff0c;可读性、可扩展性、可靠性&#xff0c;使程序呈现高内聚&#xff0c;低耦合的特性 原则 单一职责原则 假设有一个class负责两个职责&#xff0c;一旦发生需求变更&#xff0c;修改其中一个职责的逻辑代码&#xff0c;有可能…