python
文章平均质量分 68
Step_Top
没有实现不了的需求。
展开
-
python常量的实现方式
巧用 property 属性定义:一种用起来像是使用的实例属性一样的特殊属性 引# ############### 定义 ###############class Foo: def func(self): pass # 定义property属性 @property def prop(self): pass# ##...原创 2018-08-27 15:52:47 · 2028 阅读 · 0 评论 -
python高级之内建函数
1 内建函数(xxx)背景:为什么要有这种带下划线的内建函数,个人认为这种内建函数开放了很多Python的特殊用法,只要详尽掌握,就会理解平时用到的数据结构是复写了什么方法,自己也可以写出类似set,dqueue,dict,list的数据类型方法。1.1 类似字典的操作方式,getitem,setitem,delitem我们熟悉的字典是可以像如下方式操作赋值取值:d =...原创 2018-09-06 20:26:01 · 257 阅读 · 0 评论 -
python 内存管理与垃圾回收机制
内存管理与垃圾回收机制 内存管理机制:引用计数、垃圾回收、内存池。引用计数: 引用计数是一种非常高效的内存管理手段, 当一个 Python 对象被引用时其引用计数增加1, 当 其不再被一个变量引用时则计数减 1. 当引用计数等于0时对象被删除。垃圾回收 :引用计数引用计数也是一种垃圾收集机制,而且也是一种最直观,最简单的垃圾收集技术。当 Python 的某个对象的引...原创 2018-09-16 08:35:23 · 569 阅读 · 0 评论 -
细说 python 迭代器和生成器
迭代器与生成器一. 迭代1. 迭代的概念使用for循环遍历取值的过程叫做迭代,比如:使用for循环遍历列表获取值的过程for value in [2, 3, 4]: print(value)2. 可迭代对象 使用for循环遍历取值的对象叫做可迭代对象, 比如:列表、元组、字典、集合、range、字符串3. 判断对象是否为可迭代对象# ...原创 2018-08-30 11:57:22 · 352 阅读 · 0 评论 -
多任务之协程
协程协程的概念 协程,又称微线程,纤程,也称为用户级线程,在不开辟线程的基础上完成多任务,也就是在单线程的情况下完成多任务,多个任务按照一定顺序交替执行 通俗理解只要在def里面只看到一个yield关键字表示就是协程协程也是实现多任务的一种方式greentlet的介绍为了更好使用协程来完成多任务,python中的greenlet模块对其封装,从而使得切换任务变的更...原创 2018-09-01 22:21:29 · 482 阅读 · 0 评论 -
史上最详细的正则表达式教程
正则表达式正则表达式的作用: 在实际开发过程中经常会有查找符合某些复杂规则的字符串的需要,比如:邮箱、图片地址、手机号码等,这时候想匹配或者查找符合某些规则的字符串就可以使用正则表达式了。正则表达式概念 正则表达式就是记录文本规则的代码正则表达式的特点正则表达式的语法很令人头疼,可读性差正则表达式通用行很强,能够适用于很多编程语言re...原创 2018-08-29 09:48:25 · 11690 阅读 · 2 评论 -
多任务之进程
进程进程的概念进程:通俗理解一个运行的程序或者软件,进程是操作系统资源分配的基本单位。注意:一个程序至少有一个进程,一个进程至少有一个线程,多进程可以完成多任务.一个进程默认有一个线程,进程里面可以创建线程,线程是依附在进程里面的,没有进程就没有线程。进程的使用1 . 导入模板#导入线程模块import multiprocessing2 .Proce...原创 2018-08-31 21:13:20 · 311 阅读 · 0 评论 -
多任务之线程
线程一. 多任务多任务:同一时间可以做多种事情。操作系统可以同时运行多个任务。打个比方,你一边在使用浏览器上网,一边在使用网易云音乐听歌,一边在使用Word赶作业,这就是多任务。操作系统轮流让各个任务交替执行,任务1执行0.01秒,切换到任务2,任务2执行0.01秒,再切换到任务3,执行0.01秒……这样反复执行下去。表面上看,每个任务都是交替执行的,但是,由于CPU的执行速度...原创 2018-08-31 20:20:59 · 110 阅读 · 0 评论 -
with 与 "上下文管理器"
with的使用with 的使用def func(): with open("output.txt", "r") as f: f.write("Python之禅")一种更加简洁、优雅的方式就是用 with 关键字。open 方法的返回值赋值给变量 f,当离开 with 代码块的时候,系统能够自动调用 f.close() 方法,那么它的实现原理是什么?在讲..原创 2018-08-31 18:59:10 · 468 阅读 · 0 评论 -
import导入模块
import搜索路径思考为什么需要了解import的搜索路径?大家试想一下 在工作中今年在一个项目中可能会导入某一个目录下的模块文件,那这个时候怎么样才能让Python解释器能够找到该模块进行调用呢?将这个模块拷贝一份到当前使用目录下 这种方式让模块太冗余将这个模块所在路径直接告诉Python解释器 让Python解释器能够搜索到这个模块 ,这种方式比较灵活。如果想要...原创 2018-08-28 22:58:09 · 2350 阅读 · 0 评论 -
超简单的图解 “ 深浅拷贝 ”
赋值-浅拷贝-深拷贝在谈深浅拷贝之前还是先谈谈赋值吧!赋值对象之间赋值本质上 是对象之间的引用传递而已。也就是多个对象指向同一个数据空间。 浅拷贝浅拷贝是对一个对象的顶层数据的拷贝 简易内存空间图 深拷贝深拷贝是对于一个对象所有层次的拷贝(递归)进一步理解深拷贝 深拷贝就是对一个对象的所有层次递归拷贝赋值与拷贝的区别...原创 2018-08-28 22:39:58 · 2292 阅读 · 0 评论 -
python-闭包与装饰器
闭包装饰器前提 – 首先要明白引用和赋值 – 函数名仅仅是个变量,只不过指向了定义的函数而已,所以才能通过函数名()调用,如果函数名=xxx被修改了,那么当在执行 函数名()时,调用的就不知之前的那个函数了 可以确定一点就是 函数名只是一个对象,和普通对象一样,这个对象可以引用其他函数的代码为什么要使用装饰器? – 写代码要遵循开放封闭原则,虽然在这个原则是用的面...原创 2018-08-27 18:51:57 · 194 阅读 · 0 评论 -
GIL全局解释器锁
杂谈 GILgil 啥? 顾名思义,这是解释器内部的一把锁,确切一点说是CPython解释器内部的一把锁,所以要注意区分 这和我们在Python代码中使用Lock不是一个层面的概念。他是如何产生的? — GIL产生的背景 在CPython解释内部运行多个线程的时候,每个线程都需要解释器内部申请相应的全局资源,由于C语言本身比较底层造成CPython在管理所有全局资源的时候并不能应对所有...原创 2018-08-27 16:15:36 · 556 阅读 · 0 评论 -
进程间通信的8种方式
前言:进程通信:每个进程各自有不同的用户地址空间,任何一个进程的全局变量在另一个进程中都看不到,所以进程之间要交换数据必须通过内核,在内核中开辟一块缓冲区,进程A把数据从用户空间拷到内核缓冲区,进程B再从内核缓冲区把数据读走,内核提供的这种机制称为进程间通信。进程间通信(IPC)介绍进程间通信(IPC,InterProcess Communication)是指在不同进程之间传播或交换信...原创 2018-11-12 10:51:34 · 21416 阅读 · 0 评论