06 2018 档案

摘要:来个简单的装饰器 使用方式: 无论怎么调用mongo_16_client这个属性,都不会多次连接。 阅读全文
posted @ 2018-06-30 21:42 北风之神0509 阅读(198) 评论(0) 推荐(0) 编辑
摘要:正常是一个测试类中按函数名字运行, 下面修改成直接按每个测试方法的代码顺序执行 文件 unittest_util.py 使用方法示例,import 这个文件 这样就是按代码顺序执行了,不需要在函数上加个数字做记号了。 谁写在上面就先执行谁。 阅读全文
posted @ 2018-06-26 19:12 北风之神0509 阅读(516) 评论(0) 推荐(0) 编辑
摘要:1、之前已经发过两次使用单浏览器了,但是这个最完美,此篇并没有使用任何单例模式的设计模式,用了实例属性结果缓存到类属性。 2、最简单的控制单浏览器是只实例化一次类,然后一直使用这个对象,但每个地方运行前必须确保先调用实例化的那段代码,这在多个测试方法之间没有依赖关系时候,并不需要指定先在什么地方实例 阅读全文
posted @ 2018-06-24 21:59 北风之神0509 阅读(958) 评论(0) 推荐(0) 编辑
摘要:使用 from lazy_object_proxy.utils import cached_property,使用这个装饰器。 由于官方的行数比较少,所以可以直接复制出来用自己的。 1、如果使用cached_property这个装饰器,是把result方法的结果绑定到实例的字典中,所以一共打印了两次 阅读全文
posted @ 2018-06-24 20:49 北风之神0509 阅读(1679) 评论(0) 推荐(1) 编辑
摘要:简单点就是这种 运行上面这个,期待打印1和hello 实际上是不会打印任何东西的,因为@deco2后面忘了加括号,这样就悲剧了,把f2这个函数名赋值给param了,所以运行f2函数,得到的结果是_deco2这个函数对象,并没有去运行_deco2这个函数,所以没有打印。 所以必须一定要改成@deco2 阅读全文
posted @ 2018-06-23 20:00 北风之神0509 阅读(284) 评论(0) 推荐(0) 编辑
摘要:组合优点多,但经常比继承需要额外的代码。 上一篇是 介绍装饰器、继承、元类、mixin,四种給类动态添加类属性和方法的四种方式。 此篇介绍直接把被组合的类的属性直接加入到类里面,前面的四个例子很简单,这次来个实际例子的举例。 1、这样就是组合来动态添加方法和属性了,DriverWrapper类的实例 阅读全文
posted @ 2018-06-22 15:42 北风之神0509 阅读(292) 评论(0) 推荐(0) 编辑
摘要:介绍装饰器、继承、元类、mixin,四种給类动态添加类属性和方法的方式 有时候需要給类添加额外的东西,有些东西很频繁,每个类都需要,如果不想反复的复制粘贴到每个类,可以动态添加。 这样就完成了给类添加属性和方法了。 A类什么都不写,a的实例就有4个自定义的方法和4个属性了。 1、其中,元类,是在代码 阅读全文
posted @ 2018-06-21 23:59 北风之神0509 阅读(773) 评论(0) 推荐(0) 编辑
摘要:1、添加环境变量到pythonpath export PYTHONPATH=$PYTHONPATH:/home/myproject 查看pythonpathecho $PYTHONPATH 可以进入python解释器,打印sys.path证明生效没。 添加环境变量后,这样做在项目深层次的python 阅读全文
posted @ 2018-06-19 14:34 北风之神0509 阅读(1745) 评论(0) 推荐(0) 编辑
摘要:例如杀死nginx 按照程序名称杀死进程 例如杀死nginx的进程 ps -aux|grep nginx|grep -v grep|cut -c 9-15|xargs kill -9 或者 ps -aux|grep nginx|grep -v grep|awk '{print $2}' |xargs 阅读全文
posted @ 2018-06-19 14:16 北风之神0509 阅读(412) 评论(0) 推荐(0) 编辑
摘要:主要是用来限定暴露的api a.py文件里面的内容 __all__ = ['major_fun'] def major_fun(): pass def assist_fun(): pass b.py from a import * 这样就只能使用 major_fun了。 阅读全文
posted @ 2018-06-17 14:28 北风之神0509 阅读(212) 评论(0) 推荐(0) 编辑
摘要:1、最近追求的是代码0警告,没有任何提示。 怎么追求这样的目标,不需要再去单独使用pylint和flake8这些玩意,只需要看pycharm右边编辑区的竖向滚动条的黄色就可以了。 2、 比较糟糕的就是这样的代码了,不仅是有黄色的提示,更恐怖的是黄色连成实体柱状了,这么多警告真的很恐怖,我接手修改这样 阅读全文
posted @ 2018-06-16 18:51 北风之神0509 阅读(352) 评论(0) 推荐(0) 编辑
摘要:1、python没有显式声明变量类型,不代表写代码时候可以没有类型概念,当使用三方包时候,三方包的方法经常返回一个三方包里面的自定义的类的实例,就是不是普通的int str list dict这些类型,得到这么个变量怎么处理他手足无措,连自己写的变量是什么类型的都是模糊的,那写代码就是蒙蔽的靠猜,或 阅读全文
posted @ 2018-06-16 18:13 北风之神0509 阅读(304) 评论(0) 推荐(0) 编辑
摘要:下面的3个print一个是在模块下面,一个是函数里面,一个是类名下面(不在方法里面) 1、 运行这段代码可以发现第3行和11行可以打印出来。第7行没有打印出来。所以可以放心,函数或者方法里面就算有错误,不调用它是不可能报错的,这是运行报错排查的基本常识,怎么也不要瞎找错误把抛错怪罪到这一块代码里面去 阅读全文
posted @ 2018-06-16 17:02 北风之神0509 阅读(343) 评论(0) 推荐(0) 编辑
摘要:1、使用top命令,查看到一个叫xWx3T的进程cpu占用99.8%,由于我的阿里云是单核的,所以最高只能100%。 把它用kill命令杀死后,过一会儿又启动了,又占用100%。 使用ps -ef可以看到进程路径是在tmp文件夹下,于是我把这几个文件删了 2、刚开始我以为是linux的root密码简 阅读全文
posted @ 2018-06-11 10:27 北风之神0509 阅读(1298) 评论(0) 推荐(0) 编辑
摘要:1、一些经典的python错误不去阅读和不重视,就会把错误的做法带入到实际项目中来,甚至造成难以排查问题。 2、有一个大笨猪,按java写观察者模式,java写得是直接在类名下声明一个实例属性(不加static的),他直接翻译成python后,也是直接写在类名下面,这就是大坑了。 java里面在类名 阅读全文
posted @ 2018-06-08 15:53 北风之神0509 阅读(339) 评论(0) 推荐(0) 编辑
摘要:1、项目中使用了自定义的ColorHandler和MongoHandler,使用了内置的RotatingFileHandler和三方库的ConcurrentRotatingFileHandler。 支持不同logger name的日志写入不同的文件,不同logger name日志写入不同的mongo 阅读全文
posted @ 2018-06-07 22:52 北风之神0509 阅读(419) 评论(0) 推荐(0) 编辑
摘要:list1 = [ {'age': 4, 'name': '李四', 'sex': 1}, {'age': 5, 'name': '王五', 'sex': 1}, {'age': 6, 'name': '赵六', 'sex': 1}, {'age': 3, 'name': '张三', 'sex': 阅读全文
posted @ 2018-06-07 13:37 北风之神0509 阅读(477) 评论(0) 推荐(0) 编辑
摘要:1、redis-py不需要显式使用连接池。 在幕后,redispy使用一个连接池来管理与Redis服务器的连接。默认情况下,每个Redis实例将依次创建自己的连接池。您可以通过将已创建的连接池实例传递给Redis类的connection_pool参数,来重写此行为并使用现有的连接池。您可以选择这样做 阅读全文
posted @ 2018-06-07 13:36 北风之神0509 阅读(353) 评论(0) 推荐(0) 编辑
摘要:1、这些写方法都可以,主要是count一定要使用类属性,如果设置为实例属性是无法达到统计目的。其中第四种D类重写new方法的,必须是新式类,如果是python2必须写继承自object,因为__new__()是在新式类中新出现的方法,如果不是新式类,实例化时候不会调用此方法,不调用此方法,当然就无法 阅读全文
posted @ 2018-06-07 00:32 北风之神0509 阅读(300) 评论(0) 推荐(1) 编辑
摘要:""" 一个货币转换器,支持货币汇率实时转换,汇率使用 https://finance.google.cn/finance/converter 谷歌的服务 """ import unittest import re from parameterized import parameterized, param from app.apis.fliggy.utils import LogManager... 阅读全文
posted @ 2018-06-05 16:21 北风之神0509 阅读(741) 评论(0) 推荐(0) 编辑
摘要:1、java是强制写class关键字的语言,不能有独立的函数游离在类外出现在文件中,这和python c++ 都不同,后面的都可以单独在类外写函数,所以java被称为是纯面向对象的语言,py和c++都不是强制向对象的写法。 2、尽管如此,有的笨瓜,还是打死也写不出类来,而且强烈的反对写类,认为面向过 阅读全文
posted @ 2018-06-04 09:58 北风之神0509 阅读(2146) 评论(0) 推荐(3) 编辑

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