当前位置: 首页 > news >正文

两学一做网站源码wordpress 柚子皮下载

两学一做网站源码,wordpress 柚子皮下载,六枝特区建设局网站,wordpress自定义排版PEP 343 – The “with” Statement,with 语句 这玩意让我想起了Kotlin和Rust的问号标识符,都是将try-catch进行包装,避免出现太多重复代码(Go:我假设你不是在内涵我) 用法 最常见的用法就是对文件的操作&a…

PEP 343 – The “with” Statement,with 语句

这玩意让我想起了Kotlin和Rust的问号标识符,都是将try-catch进行包装,避免出现太多重复代码(Go:我假设你不是在内涵我)

用法

最常见的用法就是对文件的操作,比如打开一个图片文件,将其转为 base64 编码:

    with open(image_path, "rb") as image_file:encoded_string = base64.b64encode(image_file.read()).decode()

原理

with的本质是将如下代码:

with EXPR as VAR:BLOCK

转为如下代码:

VAR = EXPR
try:VAR.__enter__()BLOCK
finally:VAR.__exit__()

也就是说,刚才的代码可以重写为:

    image_file = open(image_path, "rb")try:file_obj = image_file.__enter__()  # 手动调用 __enter__encoded_string = base64.b64encode(file_obj.read()).decode()finally:suppress_exception = image_file.__exit__(None, None, None)  # 手动调用 __exit__

诸多细节不需要暴露在外,所以显然使用with会让代码变得简单。另一方面,如果你的代码实现了__enter__()__exit__(self, exc_type, exc_val, exc_tb)这两个接口,你也可以使用with

比如如下代码,我实现了一个自定义的文件管理器:

class FileManager:def __init__(self, filename, mode):self.filename = filenameself.mode = modedef __enter__(self):self.file = open(self.filename, self.mode)return self.file  # 返回值赋给 as 后的变量def __exit__(self, exc_type, exc_val, exc_tb):self.file.close()  # 确保文件关闭return False  # 异常会继续传播# 使用自定义管理器
with FileManager("test.txt", "w") as f:f.write("Hello, World!")  # 文件会自动关闭

PEP 380 – Syntax for Delegating to a Subgenerator,yield from 语法

简单来说就是针对yield语法的补强。
在没有 yield from 的情况下,需要手动循环并转发值。如果有的话,对于链式转发能节省一些代码:

def subgenerator():yield 1yield 2def main_generator():for value in subgenerator():yield value  # 手动转发每个值# 使用 yield from 简化:
def main_generator():yield from subgenerator()  # 自动转发所有值

PEP 405 – Python Virtual Environments,虚拟环境

一个新的python项目总伴随着一大堆不同的依赖,不少依赖还不能向后兼容(这是我不喜欢python的一点)。虚拟环境的意义就是对当前项目需要的依赖单独下载在一个目录,这样安装的依赖就不会干扰系统级别python的依赖了。(题外话,一种观点认为优秀的程序员需要认可虚拟化机制,比如虚拟机、docker容器和这次的python venv,我认为见仁见智吧)

Python 3.3+ 内置了 venv 模块,用于创建虚拟环境:

python -m venv myenv  # myenv 是环境名称,可自定义

在Windows下激活虚拟环境:

myenv\Scripts\activate

Linux:

source myenv/bin/activate

激活环境以后,pip维护的包就仅限在该环境生效了。

需要指出一点是,虚拟环境默认不会继承原来python环境的包,除非手动指定使其继承全局包:

# 创建继承全局包的虚拟环境
python -m venv --system-site-packages myenv

这样并不推荐,因为这使得虚拟环境失去了纯洁性。这个特性也意味着你可以在虚拟环境和全局环境安装同一个包的两个不同版本。

另外,一些核心的包,比如pip等,会默认继承到虚拟环境里。

python自带的venv还有一个问题就是,它无法对python自己进行虚拟化,一切虚拟化行为都在同一个python版本下。所以如果你有安装多个python版本的需求,建议用uv或者conda

http://www.dtcms.com/a/528274.html

相关文章:

  • Go slog 日志打印最佳实践指南
  • Go的垃圾回收
  • 珠海网站管理公司国际公司名字
  • 自动化模型学习器——autoGluon
  • 长沙网站建设招聘外贸做那种网站有哪些
  • 浏览器卡顿内存高?傲游浏览器三核加速,网页加载效率提升60%
  • 研发部门验收流程
  • 贪心算法 with Gemini
  • 掌握 Rust:从内存安全到高性能服务的完整技术图谱
  • [Java]重学Java-Java平台
  • Bash Shell 脚本编程入门详解
  • 打造高清3D虚拟世界|零基础学习Unity HDRP高清渲染管线(第七天)
  • 营销型网站建立费用手机端网站开发页
  • 网页模板免费资源搜索引擎排名优化技术
  • 2025年9月电子学会全国青少年软件编程等级考试(Python四级)真题及答案
  • hot 100 技巧题
  • Evaluating Long Context (Reasoning) Ability
  • 乐器基础知识学习
  • 做英语手抄报 什么网站中铁建设集团有限公司分公司
  • Java自动化测试之数据库的操作
  • 算法:并行课程II
  • 信阳住房和城乡建设厅网站企业vi设计说明
  • llama.cpp:Android端测试Qwen2.5-Omni
  • Polar Reverse(中等)
  • A2O MAY首张EP《PAPARAZZI ARRIVE》正式上线 全球宣传全面启动
  • MySQL常用内置函数整理:提高你的查询效率
  • MkFont,一款开源免费的字体设计工具
  • 怎么样才能搜索到自己做的网站jquery做的装修网站
  • 基于Chrome140的TK账号自动化——脚本撰写(二)
  • WPF之Style