文章分类 -  python进阶开发教程2023

摘要:背景: 最近在搞python项目,领导要求打包成exe奈何工程较大,工程有多个项目入口多无法实现。 解决办法就是将python程序和依赖库、包等统一打包.zip然后找到任何一台win设备,解压即用。 解决记录: 遇到的坑比较多几张图简单列一下。首先遇到的是包无法找到,想到的是没安装结果发现已经安装。 阅读全文
posted @ 2024-07-24 17:52 白灰 阅读(29) 评论(0) 推荐(0) 编辑
摘要:上下文管理器(Context managers) 上下文管理器允许你在有需要的时候,精确地分配和释放资源。 使用上下文管理器最广泛的案例就是with语句了。想象下你有两个需要结对执行的相关操作,然后还要在它们中间放置一段代码。上下文管理器就是专门让你做这种事情的。举个例子: with open('s 阅读全文
posted @ 2023-07-05 11:24 白灰 阅读(23) 评论(0) 推荐(0) 编辑
摘要:函数缓存 (Function caching) 函数缓存允许我们将一个函数对于给定参数的返回值缓存起来。当一个I/O密集的函数被频繁使用相同的参数调用的时候,函数缓存可以节约时间。在Python 3.2版本以前我们只有写一个自定义的实现。在Python 3.2以后版本,有个lru_cache的装饰器 阅读全文
posted @ 2023-07-05 11:23 白灰 阅读(17) 评论(0) 推荐(0) 编辑
摘要:协程 Python的协程 Python的协程有这么三种 由生成器变形来的 yield/send Python 3.4版本引入的@asyncio.coroutine和yield from Python 3.5版本引入的async/await 1 yield/send Python中的协程和生成器很相似 阅读全文
posted @ 2023-07-05 11:22 白灰 阅读(14) 评论(0) 推荐(0) 编辑
摘要:很多时候你可能希望你开发的程序能够同时兼容Python2+和Python3+。 试想你有一个非常出名的Python模块被很多开发者使用着,但并不是所有人都只使用Python2或者Python3。这时候你有两个办法。第一个办法是开发两个模块,针对Python2一个,针对Python3一个。还有一个办法 阅读全文
posted @ 2023-07-05 11:21 白灰 阅读(14) 评论(0) 推荐(0) 编辑
摘要:open函数 open 函数可以打开一个文件。超级简单吧?大多数时候,我们看到它这样被使用: f = open('photo.jpg', 'r+') jpgdata = f.read() f.close() 我现在写这篇文章的原因,是大部分时间我看到open被这样使用。有三个错误存在于上面的代码中。 阅读全文
posted @ 2023-07-05 11:20 白灰 阅读(44) 评论(0) 推荐(0) 编辑
摘要:使用C扩展 CPython还为开发者实现了一个有趣的特性,使用Python可以轻松调用C代码 开发者有三种方法可以在自己的Python代码中来调用C编写的函数-ctypes,SWIG,Python/C API。每种方式也都有各自的利弊。 首先,我们要明确为什么要在Python中调用C? 常见原因如下 阅读全文
posted @ 2023-07-05 10:50 白灰 阅读(47) 评论(0) 推荐(0) 编辑
摘要:For - Else 循环是任何语言的一个必备要素。同样地,for循环就是Python的一个重要组成部分。然而还有一些东西是初学者并不知道的。我们将一个个讨论一下。 我们先从已经知道的开始。我们知道可以像这样使用for循环: fruits = ['apple', 'banana', 'mango'] 阅读全文
posted @ 2023-07-05 10:49 白灰 阅读(31) 评论(0) 推荐(0) 编辑
摘要:一行式 本章节,我将向大家展示一些一行式的Python命令,这些程序将对你非常有帮助。 简易Web Server 你是否想过通过网络快速共享文件?好消息,Python为你提供了这样的功能。进入到你要共享文件的目录下并在命令行中运行下面的代码: # Python 2 python -m SimpleH 阅读全文
posted @ 2023-07-05 10:48 白灰 阅读(13) 评论(0) 推荐(0) 编辑
摘要:lambda表达式 lambda表达式是一行函数。它们在其他语言中也被称为匿名函数。如果你不想在程序中对一个函数使用两次,你也许会想用lambda表达式,它们和普通的函数完全一样。 原型 lambda 参数:操作(参数) 例子 add = lambda x, y: x + y print(add(3 阅读全文
posted @ 2023-07-05 10:48 白灰 阅读(10) 评论(0) 推荐(0) 编辑
摘要:异常 异常处理是一种艺术,一旦你掌握,会授予你无穷的力量。我将要向你展示我们能处理异常的一些方式。 最基本的术语里我们知道了try/except从句。可能触发异常产生的代码会放到try语句块里,而处理异常的代码会在except语句块里实现。这是一个简单的例子: try: file = open('t 阅读全文
posted @ 2023-07-05 10:47 白灰 阅读(32) 评论(0) 推荐(0) 编辑
摘要:各种推导式(comprehensions) 推导式(又称解析式)是Python的一种独有特性,如果我被迫离开了它,我会非常想念。推导式是可以从一个数据序列构建另一个新的数据序列的结构体。 共有三种推导,在Python2和3中都有支持: 列表(list)推导式 字典(dict)推导式 集合(set)推 阅读全文
posted @ 2023-07-05 10:44 白灰 阅读(32) 评论(0) 推荐(0) 编辑
摘要:对象自省 自省(introspection),在计算机编程领域里,是指在运行时来判断一个对象的类型的能力。它是Python的强项之一。Python中所有一切都是一个对象,而且我们可以仔细勘察那些对象。Python还包含了许多内置函数和模块来帮助我们。 dir 在这个小节里我们会学习到dir以及它在自 阅读全文
posted @ 2023-07-05 10:43 白灰 阅读(10) 评论(0) 推荐(0) 编辑
摘要:枚举 枚举(enumerate)是Python内置函数。它的用处很难在简单的一行中说明,但是大多数的新人,甚至一些高级程序员都没有意识到它。 它允许我们遍历数据并自动计数, 下面是一个例子: for counter, value in enumerate(some_list): print(coun 阅读全文
posted @ 2023-07-05 10:42 白灰 阅读(37) 评论(0) 推荐(0) 编辑
摘要:容器(Collections) Python附带一个模块,它包含许多容器数据类型,名字叫作collections。我们将讨论它的作用和用法。 我们将讨论的是: defaultdict counter deque namedtuple enum.Enum (包含在Python 3.4以上) defau 阅读全文
posted @ 2023-07-05 10:42 白灰 阅读(8) 评论(0) 推荐(0) 编辑
摘要:虚拟环境(virtualenv) 你听说过virtualenv吗? 如果你是一位初学者,你可能没有听说过virtualenv;但如果你是位经验丰富的程序员,那么它可能是你的工具集的重要组织部分。 那么,什么是virtualenv? Virtualenv 是一个工具,它能够帮我们创建一个独立(隔离)的 阅读全文
posted @ 2023-07-05 10:41 白灰 阅读(12) 评论(0) 推荐(0) 编辑
摘要:__slots__魔法 在Python中,每个类都有实例属性。默认情况下Python用一个字典来保存一个对象的实例属性。这非常有用,因为它允许我们在运行时去设置任意的新属性。 然而,对于有着已知属性的小类来说,它可能是个瓶颈。这个字典浪费了很多内存。Python不能在对象创建时直接分配一个固定量的内 阅读全文
posted @ 2023-07-05 10:38 白灰 阅读(10) 评论(0) 推荐(0) 编辑
摘要:对象变动(Mutation) Python中可变(mutable)与不可变(immutable)的数据类型让新手很是头痛。简单的说,可变(mutable)意味着"可以被改动",而不可变(immutable)的意思是“常量(constant)”。想把脑筋转动起来吗?考虑下这个例子: foo = ['h 阅读全文
posted @ 2023-07-05 10:38 白灰 阅读(16) 评论(0) 推荐(0) 编辑
摘要:Global和Return 你也许遇到过, python中一些函数在最尾部有一个return关键字。你知道它是干嘛吗?它和其他语言的return类似。我们来检查下这个小函数: def add(value1, value2): return value1 + value2 result = add(3 阅读全文
posted @ 2023-07-05 10:37 白灰 阅读(21) 评论(0) 推荐(0) 编辑
摘要:装饰器 装饰器(Decorators)是Python的一个重要部分。简单地说:他们是修改其他函数的功能的函数。他们有助于让我们的代码更简短,也更Pythonic(Python范儿)。大多数初学者不知道在哪儿使用它们,所以我将要分享下,哪些区域里装饰器可以让你的代码更简洁。 一切皆对象 首先我们来理解 阅读全文
posted @ 2023-07-05 10:33 白灰 阅读(32) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示