随笔分类 -  Python学习

摘要:1、GIL全局解释器锁 https://www.cnblogs.com/nuochengze/p/12664602.html 1、GIL是CPython解释器的特点, 在其它解释器中不存在 2、GIL本质是一把互斥锁,但它是解释器级别的锁 3、它的存在是因为CPython解释器内存管理不是线程安全的 阅读全文
posted @ 2020-07-24 16:57 Norni 阅读(132) 评论(0) 推荐(0) 编辑
摘要:单例:用于使用同一份实例(对象) 单例模式的实现: 1、方案一: class Foo: def __init__(self, name, age): self.name = name self.age = age def show(self): print(self.name, self.age) 阅读全文
posted @ 2020-07-19 21:37 Norni 阅读(106) 评论(0) 推荐(0) 编辑
摘要:浅拷贝 实质是对变量的引用 浅拷贝,只copy第一层结构 说明: 第一层结构如果有对其他对象的引用,如列表列表a = [[1,2],3,4]对象,那么第一层列表对象的元素a[0]([1,2]对象),其引用的其实是指向第二层对象的内存地址 如果通过浅拷贝b = a.copy(),那相当于对象b为[ID 阅读全文
posted @ 2020-07-11 23:36 Norni 阅读(108) 评论(0) 推荐(0) 编辑
摘要:装饰器 变量作用域 局部作用域 全局作用域 高阶函数 函数名可以作为参数输入 函数名可以作为返回值 闭包 示例代码 def outer(): x = 10 def inner(): print(x) return inner 定义 如果在一个内部函数里,对在外部作用域(不在大全局作用域)的变量进行引 阅读全文
posted @ 2020-07-11 23:34 Norni 阅读(131) 评论(0) 推荐(0) 编辑
摘要:1、概念 分布式进程指的是将Process进程分布到多台机器上,充分利用多台机器的性能完成复杂的任务。 multiprocessing模块不仅支持多进程,而且其中的managers模块还支持把多进程分布到多台机器上。例如,写一个服务进程作为调度者,将任务分布到其他多个进程中,依靠网络通信(将Queu 阅读全文
posted @ 2020-06-13 13:04 Norni 阅读(190) 评论(0) 推荐(0) 编辑
摘要:在python中通过os模块和shutil模块来对文件和目录进行操作。 (1)获取当前python文件工作的目录路径:os.getcwd() (2)返回指定目录下的所有文件和目录名:os.listdir() `os.listdir("C:\Project")` (3)删除一个文件:os.remove 阅读全文
posted @ 2020-06-11 21:44 Norni 阅读(126) 评论(0) 推荐(0) 编辑
摘要:python中操作mysql步骤 1、引入模块 在py文件中引入pymysql模块 from pymysql import * 2、connection对象 用于建立与数据库的连接 创建对象:调用connect()方法 conn = connect(参数列表) (1)参数host:连接的mysql主 阅读全文
posted @ 2020-04-09 22:57 Norni 阅读(274) 评论(0) 推荐(0) 编辑
摘要:系统资源如文件、数据库连接、socket等,应用程序打开这些资源并执行完业务逻辑之后,必须关闭(断开)该资源,否则会出现资源占用的情况。 普通版的打开文件: f = open("output.txt", "w") f.write("python之禅") f.close() 使用了try except 阅读全文
posted @ 2020-04-09 12:29 Norni 阅读(147) 评论(0) 推荐(0) 编辑
摘要:1、property属性 一种用起来像是使用的实例属性一样的特殊属性,可以对应于某个方法 property属性的定义和调用要注意: (1)定义时,在实例方法的基础上添加@property装饰器,并且仅有一个self参数 (2)调用时,无需括号 property属性的功能是:property属性内部进 阅读全文
posted @ 2020-04-09 12:14 Norni 阅读(232) 评论(0) 推荐(0) 编辑
摘要:1、类属性、实例属性 类属性和实例属性,它们在定义和使用中有所区别,而最本质的区别是内存中保存的位置不同:实例属性属于对象,类属性属于类。 实例属性需要通过对象来访问,类属性需要通过类访问。 类属性在内存中只保存一份,实例属性在每个对象中都要保存一份。 2、实例方法、静态方法和类方法 方法包括:实例 阅读全文
posted @ 2020-04-09 10:44 Norni 阅读(251) 评论(0) 推荐(0) 编辑
摘要:1、单独调用父类的方法 print("******多继承使用类名.__init__ 发生的状态******") class Parent(object): def __init__(self, name): print('parent的init开始被调用') self.name = name pri 阅读全文
posted @ 2020-04-09 10:32 Norni 阅读(257) 评论(0) 推荐(0) 编辑
摘要:1、import 搜索路径 (1)从上面列出的目录里依次查找要导入的模块文件。 (2)' ',表示当前路径 (3)列表中的路径的先后顺序代表了python解释器在搜索模块时的先后顺序 2、程序执行时添加新的模块路径 sys.path.append('/home/itcast/xxx') sys.pa 阅读全文
posted @ 2020-04-09 10:12 Norni 阅读(214) 评论(0) 推荐(0) 编辑
摘要:1、python私有化 xx:公有变量 _x:单前置下划线,私有化属性或方法,from module import * 禁止导入,但是类对象和子类可以访问。 __xx:双前置下划线,避免与子类中的属性命名冲突,无法在外部直接访问(名字重整所以访问不到) __xx__:双前后下划线,用户名字空间的魔法 阅读全文
posted @ 2020-04-09 09:59 Norni 阅读(178) 评论(0) 推荐(0) 编辑
摘要:面试题:描述python GIL的概念,以及它对python多线程的影响?编写一个多线程爬取网页的程序,并阐明多线程抓取程序是否比单线程性能有提升,并解释原因。 参考答案: (1)Python语言和GIL没有关系,仅仅是由于历史原因在CPython虚拟机(解释器),难以移除,解决办法一:通过调用模块 阅读全文
posted @ 2020-04-09 09:18 Norni 阅读(175) 评论(0) 推荐(0) 编辑
摘要:1、线程 并发:指的是任务数多余cpu核数,通过操作系统的各种任务调度算法,实现用多任务‘’一起“执行。(实际上总有一些任务不在执行,因为切换速度很快,看似一起执行) 并行:指的是任务数小于等于cpu核数,即任务真的是一起执行的。 创建线程时,除了以下两种方法,还可以使用线程池的方法。 from m 阅读全文
posted @ 2020-04-06 00:28 Norni 阅读(977) 评论(0) 推荐(0) 编辑
摘要:1、创建setup.py 1 from distutils.core import setup 2 3 setup( 4 name='包名', 5 version='版本', 6 description='描述信息', 7 long_description='完整描述信息', 8 author='作 阅读全文
posted @ 2020-04-02 11:00 Norni 阅读(450) 评论(0) 推荐(0) 编辑
摘要:参考url:https://jakevdp.github.io/PythonDataScienceHandbook/01.00-ipython-beyond-normal-python.html 描述:笔记 1、用符号?获取文档,用??获取源代码 2、对象内容tab自动不全 3、支持通配符匹配 4、 阅读全文
posted @ 2020-03-13 08:43 Norni 阅读(196) 评论(0) 推荐(0) 编辑
摘要:1、打开文件 函数open将文件名作为唯一必不可少的参数,并返回一个文件对象。 如果要写入文件,必须通过指定模式mode参数来显式地指出,默认模式为'rt'。 函数open的参数mode的常见取值 值 描述 'r' 读取模式(默认值) 'w' 写入模式 'x' 独占写入模式 'a' 附加模式 'b' 阅读全文
posted @ 2020-03-09 17:11 Norni 阅读(210) 评论(0) 推荐(0) 编辑
摘要:1、模块 1.1 模块就是程序 要告诉解释器去哪里查找模块,可执行: 导入模块后创建的__pycache__子目录,包含处理后的文件。 1.2 模块是用来下定义的 在模块中定义的类和函数以及对其进行赋值的变量都将成为模块的属性。 设置变量__name__的值能够检查模块是作为程序运行还是被导入另一个 阅读全文
posted @ 2020-03-09 14:41 Norni 阅读(149) 评论(0) 推荐(0) 编辑
摘要:魔法方法:开头和结尾都是两个下划线 特性(property) 迭代器(iterator) 1、构造函数 构造函数,即初始化方法,只是命名为__init__。 构造函数不同于普通方法的地方在于,将在对象创建后自动调用它们。 在Python中,创建构造函数很容易,只需将方法init的名称从普通的init 阅读全文
posted @ 2020-03-08 23:39 Norni 阅读(260) 评论(0) 推荐(0) 编辑

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