代码改变世界

随笔分类 -  Python

如何在 Python 中使用 generators 和 yield

2025-01-03 20:02 by abce, 46 阅读, 收藏, 编辑
摘要: 是否曾经需要处理一个大到足以耗尽机器内存的数据集?或者有一个复杂的函数,每次调用时都需要维护内部状态,但这个函数太小,不适合创建自己的类。在这些情况以及更多情况下,Generators 和 yield 语句都能帮上忙。 使用 generator generator 函数是一种返回懒惰迭代器的特殊函数 阅读全文

使用 Python 的 yield 创建生成器函数

2025-01-03 20:02 by abce, 75 阅读, 收藏, 编辑
摘要: Python 中的 yield 关键字将常规函数转换为生成器,它可以按需生成一系列值,而不是一次性计算所有值。 Python 函数并不总是有返回语句。生成器函数是用 yield 关键字代替 return 的函数。这些函数产生生成器迭代器,它是表示数据流的对象。迭代器所代表的元素只有在需要时才会被创建 阅读全文

Python 闭包:常见用例和示例

2024-12-17 11:41 by abce, 100 阅读, 收藏, 编辑
摘要: 在 Python 中,闭包通常是定义在另一个函数内部的函数。这个内部函数抓取在其作用域外定义的对象,并将它们与内部函数对象本身关联起来。由此产生的组合称为闭包。 闭包是函数式编程语言的一个常见特性。在 Python 中,闭包非常有用,因为它支持创建基于函数的装饰器,而装饰器是一种强大的工具。 了解 阅读全文

Python 回调函数示例

2024-12-17 11:40 by abce, 88 阅读, 收藏, 编辑
摘要: 回调是一段作为参数传递给其他代码的代码,通常以函数或方法的形式。当其他代码需要运行回调时,就会这样做。回调函数是一个作为参数传递给其他函数的函数,并在方便的时候被 “回调”。它通常用于在模拟或处理任务结束时执行操作,例如在事件驱动编程中。回调函数是 Python 编程语言的基本组成部分,它允许开发人 阅读全文

Python 中的推导式

2024-03-11 19:40 by abce, 57 阅读, 收藏, 编辑
摘要: python中主要在列表、字典和集合中使用推导式。 推导式就是对数据集(无论是列表、字典还是集合)的操作,一般只需要几行代码,可以将其收缩到一行或多行,从而提高可读性并使代码紧凑。 常见的推导式有: ·列表推导式 ·字典推导式 ·集合推导式 ·生成器推导式 列表推导式 列表推导式一种从现有列表创建新 阅读全文

CentOS7以RPM方式安装Python3

2022-05-09 21:50 by abce, 2150 阅读, 收藏, 编辑
摘要: CentOS7.7以及之后的版本不用执行,之前版本需要安装一个这个repo库。提供一些较新的软件版本(包含Python3) yum install https://repo.ius.io/ius-release-el$(rpm -E '%{rhel}').rpm 安装Python3 yum inst 阅读全文

Python运算符优先级

2021-07-05 15:01 by abce, 241 阅读, 收藏, 编辑
摘要: 运算符说明 Python运算符 优先级 结合性 优先级顺序 小括号 ( ) 19 无 高 ︿ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 低 索引运算符 x[i] 或 x[i1: i2 [:i3]] 18 左 属性访问 x. 阅读全文

PyCharm使用pipenv创建虚拟环境

2021-06-25 13:27 by abce, 731 阅读, 收藏, 编辑
摘要: 安装pipenv pip install pipenv 创建项目目录 mkdir myproject cd myproject pipenv install # 创建虚拟环境 To activate this project's virtualenv, run pipenv shell. Alter 阅读全文

windows下安装Python虚拟环境virtualenvwrapper-win

2020-11-12 08:33 by abce, 145 阅读, 收藏, 编辑
摘要: 1.使用pip进行安装pip install virtualenvwrapper-win 2.使用easy_install进行安装easy_install virtualenvwrapper-win 3.使用源码进行安装git clone git://github.com/davidmarble/v 阅读全文

Python中Lock和Rlock

2020-06-26 19:15 by abce, 2014 阅读, 收藏, 编辑
摘要: 线程是进程中可以调度执行的实体。而且,它是操作系统中可以执行的最小处理单元。简单地说,一个线程就是一个程序中可以独立于其他代码执行的指令序列。为了简单起见,你可以假设线程只是进程的子集! Locks 锁是Python中用于同步的最简单的方式。锁有两种状态:上锁、释放锁。 锁是线程模块中的一个类,有两 阅读全文

Python中的with语句

2020-06-05 09:12 by abce, 293 阅读, 收藏, 编辑
摘要: 考虑下面的代码: set things uptry: do somethingfinally: set things down 其中,set things up可以是打开一个文件、或获取一些外部资源;set things down可能是关闭文件、释放资源。try..finally..结构保证了set 阅读全文

Python数据结构--一维开心消消乐

2020-05-23 13:16 by abce, 1288 阅读, 收藏, 编辑
摘要: 题目来源:中国大学MOOC-北京大学-数据结构与算法python版本 题目内容: 开心消消乐我们都熟悉,我们可以用刚学过的栈来做一个“一维”的开心消消乐游戏,这个游戏输入一串字符,逐个消去相邻的相同字符对。 如果字符全部被消完,则输出不带引号的“None” 输入格式: 一个字符串,可能带有相邻的相同 阅读全文

python数据结构--有效的括号

2020-05-23 11:37 by abce, 843 阅读, 收藏, 编辑
摘要: 题目来源:中国大学MOOC-北京大学-数据结构与算法python版本 题目内容: 给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。 注意空字符串可被认为是有效字符串。 阅读全文

Python中的args和kwargs

2019-09-08 19:11 by abce, 11761 阅读, 收藏, 编辑
摘要: 有时,你会看到python中定义函数的时候带有两个奇怪的参数:*args、**kwargs。如果你曾经想知道它们是干什么的,或者想知道你的IDE为什么在main()函数中定义它们,那么本文可以帮助到你。本文会告诉你在python中如何使用args和kwargs,来增加函数的灵活性。 1.传递多个参数 阅读全文

python的内置下载器

2017-10-12 09:20 by abce, 572 阅读, 收藏, 编辑
摘要: python有个内置下载器,有时候在内部提供文件下载很好用。 进入提供下载的目录 启动下载器 对方只要通过ip、port访问即可: 如果是python 3 ,使用以下命令启动: 阅读全文

SQLAlchemy(2) -- SQLAlchemy的安装

2017-10-02 15:32 by abce, 334 阅读, 收藏, 编辑
摘要: 安装前要先安装好python 1.使用setup.py脚本进行安装C:\> C:\Python27\python.exe .\setup.py installrunning installrunning buildrunning build_py ......Plain-Python build s 阅读全文

SQLAlchemy(1) -- Python的SQLAlchemy和ORM

2017-10-02 14:55 by abce, 473 阅读, 收藏, 编辑
摘要: Python的SQLAlchemy和ORM(object-relational mapping:对象关系映射) web编程中有一项常规任务就是创建一个有效的后台数据库。以前,程序员是通过写sql语句,发送到数据库引擎,解析并返回一个记录的数组。现在,程序员可以写ORM程序来取代之前那种不灵活、难以维 阅读全文

Python -- map, Lambda, filter and reduce

2017-09-14 14:01 by abce, 313 阅读, 收藏, 编辑
摘要: map(func, seq)对seq中的每一个元素,调用func并返回结果。典型的应用是使用lambda函数。 lambda使用lambda关键创建匿名函数 lambda和map一起使用 filter(func or None, seq)对seq中的每一个元素,调用func并返回那些使func为tr 阅读全文

python -- 生成器

2017-09-11 08:59 by abce, 344 阅读, 收藏, 编辑
摘要: 在for循环中,每次yield值后,控制权就返回给for循环 生成器类似于返回一个数组的函数。生成器有参数、可以被调用,并生成值的序列。和函数一次返回整个数组不同,生成器每次只是生成一个值,这样会占用很少的内存,并且调用者可以立即处理生成的值。概括来说,生成器看起来像个函数,但是使用起来像个迭代器。 阅读全文

python -- 装饰器的高级应用

2017-09-01 15:42 by abce, 611 阅读, 收藏, 编辑
摘要: 装饰器和装饰器模式装饰器模式是面向对象的一种设计模式,支持将行为动态增加到已经存在的对象上。当装饰一个对象的时候,就表示独立与其他类实例对象,为该对象扩展了新的功能。 python的装饰器不是装饰器模式的一种实现。python装饰器是在定义的时候对函数或方法增加功能,而不是在运行的时候增加。装饰器模 阅读全文
点击右上角即可分享
微信分享提示