随笔分类 -  PYTHON

摘要:一、使用threading模块多线程执行 以上代码运行结果 二、使用Thread子类完成创建多线程 如果多个线程执行的都是同一个函数,各自之间不会有影响 主线程等待所有子进程结束之后才结束 以上代码运行结果: 三、线程的执行顺序 以上代码运行结果: 四、多线程全局变量共享 以上代码运行结果: 阅读全文
posted @ 2017-08-04 21:36 水清云影 阅读(239) 评论(0) 推荐(0)
摘要:一、进程和程序的区别 编写完毕的代码,在没有运行的时候称之为程序 正在运行的代码,称之为进程 进程除了包含的代码意外,还需要运行的环境等 二、fork 以上代码运行结果: 注意: >0 为主(父)进程 ==0位子进程 1、fork函数,只在Unix/Linux/Mac上运行,windows不可以 2 阅读全文
posted @ 2017-07-31 15:58 水清云影 阅读(220) 评论(0) 推荐(0)
摘要:一、装饰器 对原代码不修改的基础上完善代码 写代码要遵循开放封闭原则,虽然在这个原则是用的面向对象开发,但是也适用于函数式编程,简单来说,它规定已经实现的功能代码不允许被修改,但可以被扩展,即: 封闭:已实现的功能代码块 开放:对扩展开发 在执行f1()、f2()、f3()、f4()前先执行w1() 阅读全文
posted @ 2017-07-20 16:06 水清云影 阅读(189) 评论(0) 推荐(0)
摘要:一、闭包 在函数内部再定义一个函数,并且这个函数用到了外边函数的变量 在函数里定义一个函数,不会默认被执行 以上代码运行结果 二、闭包的案例 以上代码运行结果 内部函数执行完后直接退出函数,外部函数变量依然保存 阅读全文
posted @ 2017-07-20 15:30 水清云影 阅读(210) 评论(0) 推荐(0)
摘要:一、迭代器 迭代是访问集合元素的一种方式。迭代器是一个可以记住遍历的位置的对象。迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不会后退。 二、可迭代对象 以直接作用于 for 循环的数据类型有以下几种: 一类是集合数据类型,如 list 、 tuple 、 dict 阅读全文
posted @ 2017-07-19 21:28 水清云影 阅读(222) 评论(0) 推荐(0)
摘要:一、生成器 一遍循环一遍计算的机制,称为生成器 二、生成器的特点: 1、节约内存 2、迭代到下一次的调用时,所使用的参数都是第一次所保留下的,即是说,在整个所有函数调用的参数都是第一次所调用时保留的,而不是新创建的 三、创建方法 1、把列表生成式的[]改为() 以上代码运行结果 2、yield 生成 阅读全文
posted @ 2017-07-19 21:06 水清云影 阅读(250) 评论(0) 推荐(0)
摘要:一、私有化 xx: 公有变量_x: 单前置下划线,私有化属性或方法,from somemodule import *禁止导入,类对象和子类可以访问__xx:双前置下划线,避免与子类中的属性命名冲突,无法在外部直接访问(名字重整所以访问不到)__xx__:双前后下划线,用户名字空间的魔法对象或属性。例 阅读全文
posted @ 2017-07-15 15:49 水清云影 阅读(401) 评论(0) 推荐(0)
摘要:1、浅拷贝是对一个对象的顶层拷贝 就是拷贝了引用,并没有拷贝内容 2、深拷贝引用了内容 以上代码运行结果 阅读全文
posted @ 2017-07-15 11:44 水清云影 阅读(250) 评论(0) 推荐(0)
摘要:一、方法重新 以上代码输出结果如下: 二、循环导入模块 直接从functools模块中调用lru_cache 三、== 和 is is 是比较两个引用是否指向了同一个对象(引用比较) == 比较两个对象是否相等 四、__slots__() __sloys__ 限制实例添加的属性 运行结果 阅读全文
posted @ 2017-07-15 11:04 水清云影 阅读(187) 评论(0) 推荐(0)
摘要:一、类方法 是类对象所拥有的方法,需要用修饰器@classmethod来标识其为类方法,对于类方法,第一个参数必须是类对象,一般以cls作为第一个参数(当然可以用其他名称的变量作为其第一个参数,但是大部分人都习惯以'cls'作为第一个参数的名字,就最好用'cls'了),能够通过实例对象和类对象去访问 阅读全文
posted @ 2017-07-10 23:03 水清云影 阅读(197) 评论(0) 推荐(0)
摘要:class ShortInputException(Exception): '''你定义的异常类。''' def __init__(self, length, atleast): Exception.__init__(self) self.length = length self.atleast = atleast try: ... 阅读全文
posted @ 2017-07-10 22:47 水清云影 阅读(693) 评论(0) 推荐(0)
摘要:一、什么是异常 在程序执行过程中可能会影响程序的正常执行,一般情况下,在python无法正常处理程序时就会发生一个异常 当python脚本发生异常时我们需要捕获处理他,否则程序会终止执行 二、异常处理 捕捉异常可以使用try/except语句。 try/except语句用来检测try语句块中的错误, 阅读全文
posted @ 2017-07-04 23:48 水清云影 阅读(229) 评论(0) 推荐(0)
摘要:一、文件的打开和关闭 open(文件名,访问模式) cloese() 二、文件的读写 f.read() f.readline() 读取一行 可读大文件 f.write() 三、文件定位 tell()方法告诉你文件内的当前位置;换句话说,下一次的读写会发生在文件开头这么多字节之后。 seek(offs 阅读全文
posted @ 2017-07-04 22:42 水清云影 阅读(277) 评论(0) 推荐(0)
摘要:一、定义函数 二、函数调用 三、参数传递 python 中一切都是对象,严格意义我们不能说值传递还是引用传递,我们应该说传不可变对象和传可变对象。 1、不可变类型: 类似 c++ 的值传递,如 整数、字符串、元组。如fun(a),传递的只是a的值,没有影响a对象本身。比如在 fun(a)内部修改 a 阅读全文
posted @ 2017-06-22 00:33 水清云影 阅读(333) 评论(0) 推荐(0)
摘要:Python的元组与列表类似,不同之处在于元组的元素不能修改。也可进行分片 和 连接操作. 元组使用小括号,列表使用方括号。 一、访问元组 以上实例输出结果 二、修改元组 是不可以修改的!!! 不过 ↓↓↓ 三、合并新数组 以上实例输出结果 四、删除元组 元组中的元素值是不允许删除的,但我们可以使用 阅读全文
posted @ 2017-06-21 17:31 水清云影 阅读(259) 评论(0) 推荐(0)
摘要:一、什么是字典 字典是另一种可变容器模型,且可存储任意类型对象。 字典的每个键值(key->value)对用(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中,格式如下 键必须是唯一的,但值不必。 值可以取任何数据类型,但键必须是不可变的 二、访问字典里的值 以上实例结果: 三、 阅读全文
posted @ 2017-06-21 15:57 水清云影 阅读(1175) 评论(0) 推荐(0)
摘要:一、for循环 为了更有效率的输出列表的每个数据,可以使用循环来完成 代码: 执行结果: 二、列表的相关操作 1、添加元素("增"append) 2、修改元素("改") 修改元素的时候,要通过下标来确定要修改的是哪个元素,然后才能进行修改 代码: 执行结果 3、查找元素("查"in、not in) 阅读全文
posted @ 2017-06-09 21:58 水清云影 阅读(26305) 评论(0) 推荐(0)
摘要:一、字符串运算符 下表实例变量 a 值为字符串 "Hello",b 变量值为 "Python": >>>a + b 'HelloPython' >>>a * 2 'HelloHello' >>>a[1] 'e' >>>a[1:4] 'ell' >>>"H" in a True >>>"M" not 阅读全文
posted @ 2017-06-09 21:28 水清云影 阅读(425) 评论(0) 推荐(0)