随笔分类 - python
摘要:一、conda是什么? Conda是一个开源的软件包管理系统和环境管理系统,用于在不同的操作系统上安装、运行和管理多个软件包和环境。它可以用于管理Python软件包和其他编程语言的软件包,具有自动解决依赖关系、创建独立环境、轻松切换环境等功能。Conda提供了一个命令行界面和一个图形界面,使用户可以
阅读全文
摘要:如果只想在执行文件输出,不想引入的包输出 import logging logsss = logging.getLogger(__name__) logsss.setLevel(logging.INFO) console_handler = logging.StreamHandler() forma
阅读全文
摘要:Python中垃圾回收机制,以引用计数器为主,标记清除和分代回收为辅。 一般来说,通过引用计数器即可解决变量使用,但如果是互相引用的数据类型就需要标记清除的技术,分代回收是解决什么时候清除,清除多少 引用计数器 在python 中维护了一个 refchain的双向环状链表 标记清除 如果对象进行循环
阅读全文
摘要:1. 举例 进程,能够完成多任务,比如 在一台电脑上能够同时运行多个QQ 线程,能够完成多任务,比如 一个QQ中的多个聊天窗口 2.定义的不同 进程是系统进行资源分配和调度的一个独立单位. 线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位.线程自己基本上不拥有
阅读全文
摘要:1.abs(x): 返回一个数的绝对值。 x = -10 print(abs(x)) # 输出:10 2.all(iterable): 如果可迭代对象中所有元素都为真,则返回True;否则返回False。 iterable = [True, True, False] print(all(iterab
阅读全文
摘要:__init__:构造器,当创建对象时自动调用。 __new__:创建对象时调用,在__init__之前调用。 __del__:析构器,当对象被垃圾收集时调用。 __str__:返回对象的字符串表示,在str()函数中调用。 __repr__:返回对象的官方字符串表示,用于repr()函数和交互式解
阅读全文
摘要:DataFrame对象 1、对DataFrame遍历 # 1、iterrows()方法 # 逐行迭代,将DataFrame的每一行迭代成(index, Series)对,可以通过row[name]访问。 for index, row in df.iterrows(): print row["c1"]
阅读全文
摘要:一 背景知识 1.进程 以前咱们已经了解了操做系统中进程的概念,程序并不能单独运行,只有将程序装载到内存中,系统为它分配资源才能运行,而这种执行的程序就称之为进程。程序和进程的区别就在于:程序是指令的集合,它是进程运行的静态描述文本;进程是程序的一次执行活动,属于动态概念。在多道编程中,咱们容许多个
阅读全文
摘要:协程实现了在单线程下的并发,每一个协程共享线程的几乎全部的资源,除了协程本身私有的上下文栈;协程的切换属于程序级别的切换,对于操做系统来讲是无感知的,所以切换速度更快、开销更小、效率更高,在有多IO操做的业务中能极大提升效率。html 系列文章 python并发编程之threading线程(一)py
阅读全文
摘要:\W+:匹配一个或多个非字母进行切割,匹配到的非字母不缓存; (\W+):匹配一个或多个非字母进行切割,匹配到的非字母全部缓存; (\W)+:匹配一个或多个非字母进行切割,匹配到的非字母缓存最后一位; [\W]+:匹配一个或多个非字母进行切割,匹配到的非字母不缓存;(跟\W+一样) [\W+]:匹配
阅读全文
摘要:1.元组命名 如何为元组中的每个元素命名,提高程序可读性 案例:学生信息系统中数据为固定格式:(名字,年龄,性别,邮箱地址,......) 学生数量很大为了减小存储开销,对每个学生信息用元组表示,但访问时,我们使用索引(index)访问,大量索引降低程序可读性,如何解决这个问题? student =
阅读全文
摘要:列表解析式(List Comprehension) 又叫 推导式 或 生成式 列表解析式的优势 比循环更节省时间和空间。 需要更少的代码行。 可将迭代语句转换为公式。 公式 # 不加条件 [返回值 for 元素 in 可迭代对象 ] # 需要条件 [返回值 for 元素 in 可迭代对象 if 条件
阅读全文
摘要:迭代的概念 使用for循环遍历取值的过程叫做迭代,比如:使用for循环遍历列表获取值的过程 # Python 中的迭代 for value in [2, 3, 4]: print(value) 复制代码 1.2 可迭代对象 标准概念:在类里面定义__iter__方法,并使用该类创建的对象就是可迭代对
阅读全文
摘要:进程、线程、协程之间的关系 一个进程至少有一个线程,进程里面可以有多个线程 一个线程里面可以有多个协程 进程、线程、线程的对比 进程是资源分配的单位 线程是操作系统调度的单位 进程切换需要的资源最大,效率很低 线程切换需要的资源一般,效率一般(当然了在不考虑GIL的情况下) 协程切换任务资源很小,效
阅读全文
摘要:进程的概念 进程:通俗理解一个运行的程序或者软件,进程是操作系统资源分配的基本单位。 现实生活中的公司可以理解成是一个进程,公司提供办公资源(电脑、办公桌椅等),真正干活的是员工,员工可以理解成线程。 注意:一个程序至少有一个进程,一个进程至少有一个线程,多进程可以完成多任务. 1.2 进程的状态
阅读全文
摘要:from concurrent.futures import ThreadPoolExecutor,as_completed,wait import time # 线程池 # 主线程中可以获取某一个线程的状态或某一个任务的状态 以及返回值 # 当一个线程完成的时候我们主线程能立即知道 # futur
阅读全文
摘要:# 生成器函数,函数里只要有yield 关键字 def gen_func(): yield 1 yield 2 yield 3 # 斐波拉契(当位数等于前两位数之和) 0 1 1 2 3 5 8 # 惰性求值 ,掩饰求值提供 # 只返回当位的值 def fib(index): if index <=
阅读全文
摘要:""" [start:end:step] 其中第一数字start 表示切片开始位置,默认为0; 第二个数字end 表示切片截止 (但不包含)位置 (默认为列表长度) 第三个数字step 表示切片的步长 (默认为1) 当start 为0时可以省略 当end为列表长度时可以省略 当step 为1时可以省
阅读全文
摘要:示例1 import threading import time # 进程比较消耗资源 线程比较消耗cpu def func01(number): print("函数func01 start") time.sleep(2) print("函数func01 end") def func02(numbe
阅读全文