随笔分类 -  Python

摘要:最近业务中需要用 Python 写一些脚本。尽管脚本的交互只是命令行 + 日志输出,但是为了让界面友好些,我还是决定用中文输出日志信息。 很快,我就遇到了异常: 为了解决问题,我花时间去研究了一下 Python 的字符编码处理。网上也有不少文章讲 Python 的字符编码,但是我看过一遍,觉得自己可 阅读全文
posted @ 2018-05-14 17:32 听风。 阅读(66611) 评论(3) 推荐(7)
摘要:先看实际效果,现在时间2018.4.26 使用python脚本按照年月日生成多级目录,创建的目录可以将系统生成的日志文件放入其中,方便查阅,代码如下: 关于日期时间的其他知识点 想要指定到時分秒的話可以搞成這樣 還有就是,如果想要拿到今天的年,月,日 也是很簡單的說 阅读全文
posted @ 2018-04-26 12:49 听风。 阅读(3513) 评论(0) 推荐(0)
摘要:官方文档中的一个Demo: 然后简单扩展了一个JSONEncoder出来用来格式化时间 使用时候只要在json.dumps增加一个cls参数即可: 如果不想定义类,直接在我们获取的date或者datetime对象后面用上strftime方法进行格式化也可以 阅读全文
posted @ 2018-04-13 09:41 听风。 阅读(6624) 评论(0) 推荐(2)
摘要:说明:列表不可以转换为字典 1.转换后的列表为无序列表 运行结果: 2.转换后的列表为有序列表 运行结果: 阅读全文
posted @ 2018-04-12 12:23 听风。 阅读(5184) 评论(0) 推荐(0)
摘要:要理解select.select模块其实主要就是要理解它的参数, 以及其三个返回值。select()方法接收并监控3个通信列表, 第一个是所有的输入的data,就是指外部发过来的数据,第2个是监控和接收所有要发出去的data(outgoing data),第3个监控错误信息在网上一直在找这个sele 阅读全文
posted @ 2018-03-20 22:34 听风。 阅读(64161) 评论(7) 推荐(10)
摘要:Python标准异常总结 AssertionError 断言语句(assert)失败 AttributeError 尝试访问未知的对象属性 EOFError 用户输入文件末尾标志EOF(Ctrl+d) FloatingPointError 浮点计算错误 GeneratorExit generator 阅读全文
posted @ 2018-03-13 20:16 听风。 阅读(374) 评论(0) 推荐(0)
摘要:1.递归函数 在函数内部,可以调用其他函数。如果一个函数在内部调用自身本身,这个函数就是递归函数。 举个例子,我们来计算阶乘n! = 1 x 2 x 3 x ... x n,用函数fact(n)表示,可以看出: fact(n) = n! = 1 x 2 x 3 x ... x (n-1) x n = 阅读全文
posted @ 2018-03-13 15:36 听风。 阅读(6602) 评论(0) 推荐(1)
摘要:filter filter()函数接收一个函数 f 和一个可迭代对象,这个函数 f 的作用是对每个元素进行判断,返回 True或 False,filter()根据判断结果自动过滤掉不符合条件的元素,返回由符合条件元素组成的filter对象(一个迭代器)。 例如,要从一个list [1, 4, 6, 阅读全文
posted @ 2018-01-16 14:27 听风。 阅读(1194) 评论(1) 推荐(0)
摘要:一、基本形式 列表有自己的sort方法,其对列表进行原址排序,既然是原址排序,那显然元组不可能拥有这种方法,因为元组是不可修改的。 排序,数字、字符串按照ASCII,中文按照unicode从小到大排序 如果需要一个排序好的副本,同时保持原有列表不变,怎么实现呢? 注意:y = x[:] 通过分片操作 阅读全文
posted @ 2018-01-16 13:04 听风。 阅读(67366) 评论(4) 推荐(4)
摘要:object._getattr_(self, name) 拦截点号运算。当对未定义的属性名称和实例进行点号运算时,就会用属性名作为字符串调用这个方法。如果继承树可以找到该属性,则不调用此方法 实例instance通过instance.name访问属性name,只有当属性name没有在实例的__dic 阅读全文
posted @ 2018-01-15 14:05 听风。 阅读(5545) 评论(1) 推荐(2)
摘要:结果: property()函数中的三个函数分别对应的是获取属性的方法、设置属性的方法以及删除属性的方法,这样一来,外部的对象就可以通过访问x的方式,来达到获取、设置或删除属性的目的。当需要更改上例中的getSize、setSize或delSize函数的名称时,如果这些方法是作为接口让用户调用的,那 阅读全文
posted @ 2018-01-15 11:58 听风。 阅读(510) 评论(0) 推荐(0)
摘要:datetime是Python处理日期和时间的标准库。 获取当前日期和时间 我们先看如何获取当前日期和时间: >>> from datetime import datetime >>> now = datetime.now() # 获取当前datetime >>> print(now) 2015-0 阅读全文
posted @ 2018-01-12 14:23 听风。 阅读(509) 评论(0) 推荐(0)
摘要:例子一 首先来看一段代码: 上面代码执行结果为: 结论1 我们知道,实例化Foo,得到obj对象,会执行Foo的__init__方法,也就是打印了第一句; 按照,程序从上至下执行,应该会打印“正在执行”才对,为什么会在它之前先打印了进入,在它之后打印了退出呢? 因为我们在定义Foo时,定义了__en 阅读全文
posted @ 2018-01-11 15:42 听风。 阅读(9052) 评论(2) 推荐(4)
摘要:一、 type() 1、创建类的两种方式 方式一 我们创建了一个名为MyClass的类,并实例化了这个类,得到其对象myc 上面代码打印的结果为: type()函数可以查看一个类型或变量的类型,MyClass是一个class,它的类型就是type,而myc是一个实例,它的类型就是class MyCl 阅读全文
posted @ 2018-01-10 19:18 听风。 阅读(7607) 评论(2) 推荐(5)
摘要:单例模式 单例模式(Singleton Pattern)是一种常用的软件设计模式,该模式的主要目的是确保某一个类只有一个实例存在。当你希望在整个系统中,某个类只能出现一个实例时,单例对象就能派上用场。 比如,某个服务器程序的配置信息存放在一个文件中,客户端通过一个 AppConfig 的类来读取配置 阅读全文
posted @ 2018-01-08 20:10 听风。 阅读(215329) 评论(24) 推荐(54)
摘要:reduce()函数是Python内置的一个高阶函数。 reduce()函数接收的参数和 map()类似,一个函数 f,一个list,但行为和 map()不同,reduce()传入的函数 f 必须接收两个参数,reduce()对list的每个元素反复调用函数f,并返回最终结果值。 例如,编写一个f函 阅读全文
posted @ 2018-01-06 14:54 听风。 阅读(725) 评论(0) 推荐(0)
摘要:传递实参和定义形参(所谓实参就是调用函数时传入的参数,形参则是定义函数是定义的参数)的时候,你还可以使用两个特殊的语法:*、** 。调用函数时使用* ,**test(*args)中 * 的作用:其实就是把序列 args 中的每个元素,当作位置参数传进去。比如上面这个代码,如果 args 等于 (1, 阅读全文
posted @ 2018-01-03 23:42 听风。 阅读(7439) 评论(0) 推荐(5)
摘要:实现抽象类的两种方式 方式一 方式二 邮件提醒 动态导入模块+反射 settings 阅读全文
posted @ 2017-12-28 19:56 听风。 阅读(404) 评论(0) 推荐(0)
摘要:一.作用域 在python中,作用域分为两种:全局作用域和局部作用域。 全局作用域是定义在文件级别的变量,函数名。而局部作用域,则是定义函数内部。 关于作用域,我们要理解两点: a.在全局不能访问到局部定义的变量 b.在局部能够访问到全局定义的变量,但是不能修改全局定义的变量(当然有方法可以修改) 阅读全文
posted @ 2017-10-24 20:28 听风。 阅读(30292) 评论(7) 推荐(14)
摘要:Python中常见的数据结构可以统称为容器(container)。序列(如列表和元组)、映射(如字典)以及集合(set)是三类主要的容器。 一、序列(列表、元组和字符串) 序列中的每个元素都有自己的编号。Python中有6种内建的序列。其中列表和元组是最常见的类型。其他包括字符串、Unicode字符 阅读全文
posted @ 2017-09-18 19:43 听风。 阅读(467) 评论(0) 推荐(0)