Python
苏先生_404
这个作者很懒,什么都没留下…
展开
-
GIL,深浅拷贝,私有化
GIL gil是什么:全局解析器锁 gil作用:单核的情况下实现多任务 gil解决方案: 进程 换解析器(javapython) 线程这块代码使用c,java去实现 进程加协程提高效率 科学计算使用单线程, 有堵塞的情况下可以使用多线程 深拷贝与浅拷贝 如果是不可变类型都是引用 api级别的基本都是浅copy 1. 深拷贝:递归所有的数据都复制一份,浪费资源 2. 浅...原创 2018-07-02 14:59:12 · 132 阅读 · 0 评论 -
闭包和装饰器
闭包 闭包:两个函数的嵌套,外部函数返回内部函数的引用,外部函数一定有参数 def 外部函数(参数): def 内部函数(): pass return 内部函数 他跟函数之间的区别: 1.格式两个函数嵌套 2.闭包外部函数的参数可以在内存中保持 装饰器 装饰器是什么:闭包加@xxx 装饰器的作用:在不改变原先的函数值跟调...原创 2018-07-02 14:59:50 · 109 阅读 · 0 评论 -
上下文管理器
实现上下文管理器,主要是为了简化代码,在一些文件操作和数据操作当中我们使用上下文管理器的方式可以在调用的时候更加快捷 方式1: 以文件操作为例,首先我们定义一个类,类中需要有init,enter,exit两个方法,enter一般需要返回接下来操作文件的对象,而exit一般用于收尾,就是关闭文件操作,init一般就是初始化 class MyFile(object): ...原创 2018-07-02 15:00:26 · 339 阅读 · 0 评论 -
property详解
在实际开发中,在定义类中的属性的时候往往是属性私有化,方法公开化;可以理解为所有的属性都是私有属性,对外提供get和set方法用来获取和修改属性值,代码如下: class A(object): def __init__(self): self.__name = 'zs' self.__age = 18 def get_name(sel...原创 2018-07-03 12:32:40 · 293 阅读 · 0 评论 -
使用property创建python常量
python中没有常量,只是模仿Java中的常量 常量在其他语言中,一般值得是不允许被修改,只可以访问 一般为了区别常量和变量,常量名一般是全大写的 python常量定义 根据上面对常量的理解,有两点注意点: - 常量是不允许修改只能访问的 - 常量名是大写的 根据两点注意点,首先常量==只能访问,不能修改的==,所以我们可以定义一个私有的属性,并且属性名大写,然后对...原创 2018-07-03 12:33:24 · 158 阅读 · 0 评论 -
上下文管理器
实现上下文管理器,主要是为了简化代码,在一些文件操作和数据操作当中我们使用上下文管理器的方式可以在调用的时候更加快捷 方式1: 以文件操作为例,首先我们定义一个类,类中需要有init,enter,exit两个方法,enter一般需要返回接下来操作文件的对象,而exit一般用于收尾,就是关闭文件操作,init一般就是初始化 class MyFile(object): ...原创 2018-07-03 12:33:57 · 106 阅读 · 0 评论 -
Python2转Python3
经常会遇到一些python2的代码,但是需要python3 来执行,官方提供了一个便捷的方式,在我们的python安装目录下, {Python_HOME}\Tools\scripts里面。运行 2to3.py 脚本,打印如下: python 2to3.py --help Usage: 2to3 [options] file|dir ... Options: -h, --help ...原创 2018-11-22 16:20:13 · 166 阅读 · 0 评论