Python
luo_xinyu
这个作者很懒,什么都没留下…
展开
-
FluentPython读书笔记2 --1.1.2
from math import hypotclass Vector: def __init__(self, x, y): self.x = x self.y = y def __add__(self, other): x = self.x + other.x y = self.y + other.y ...原创 2018-12-13 09:19:52 · 136 阅读 · 0 评论 -
python获取对象属性:dir()函数 、obj.__dict__ 、obj.inspect.getmebers
一、Python __dict__与dir()Python下一切皆对象,每个对象都有多个属性(attribute),Python对属性有一套统一的管理方案。__dict__与dir()的区别:dir()是一个函数,返回的是list;__dict__是一个字典,键为属性名,值为属性值;__dict__包含了模块里可用的属性名-属性的字典;也就是可以使用模块名.属性名访问的对象。dir()...原创 2019-04-04 16:30:27 · 1182 阅读 · 0 评论 -
Python 可变对象和不可变对象
知识点:python中,万物皆对象。python中不存在所谓的传值调用,一切传递的都是对象的引用,也可以认为是传址。一、可变对象和不可变对象Python在heap中分配的对象分成两类:可变对象和不可变对象。所谓可变对象是指,对象的内容可变,而不可变对象是指对象内容不可变。不可变(immutable):int、字符串(string)、float、(数值型number)、元组(tuple)可...原创 2019-04-08 15:48:05 · 136 阅读 · 0 评论 -
python的复制,深拷贝和浅拷贝的区别
在python中,对象赋值实际上是对象的引用。当创建一个对象,然后把它赋给另一个变量的时候,python并没有拷贝这个对象,而只是拷贝了这个对象的引用一般有三种方法,alist=[1,2,3,[“a”,“b”]](1)直接赋值,默认浅拷贝传递对象的引用而已,原始列表改变,被赋值的b也会做相同的改变>>> b=alist>>> print b[1, 2...转载 2019-04-08 16:06:46 · 133 阅读 · 0 评论 -
python装饰器的两个应用,参数检查,输出进度条
一、参数检查from functools import wrapsfrom typing import Listdef ckeck_params(func): @wraps(func) def inner(*args, **kwargs): params = func.__annotations__ print('params: ', pa...原创 2019-04-18 20:03:24 · 865 阅读 · 0 评论 -
Django中间件
中间件是插在 Django 的请求和响应过程之中的框架。这是一种轻量级的低层插件系统,用于全局调整 Django的输入或输出。在django中,中间件其实就是一个类。在http请求到达视图函数之前和视图函数return之后,django会根据自己的规则在合适的时机执行中间件中相应的方法。中间件的执行流程1、执行完所有的request方法 到达视图函数。2、执行中间件的其他方法3、经过所有...原创 2019-05-08 18:22:53 · 567 阅读 · 0 评论 -
Python __dict__属性详解
1、无处不在的__dict__首先看一下类的__dict__属性和类对象的__dict__属性# -*- coding: utf-8 -*-class A(object): """ Class A. """ a = 0 b = 1 def __init__(self): self.a = 2 self.b...转载 2019-05-07 21:03:41 · 224 阅读 · 0 评论 -
argparse 用法总结
add_argument# 这是最基础的参数格式,如果是这样的格式,说明pkg是一个必须的参数,如果不加入这样的参数,则会报错。parse.add_argument('pkg', help='help')ArgumentParser# 导入命令行解析的库文件import argparse # 为了别人执行代码的时候用--help看出来怎么使用这些代码parse = argpars...原创 2019-05-13 00:57:26 · 657 阅读 · 0 评论 -
python 多线程submit的源码分析
submitdef submit(self, fn, *args, **kwargs): with self._shutdown_lock: if self._broken: raise BrokenThreadPool(self._broken) if self._shutdown: raise Run...原创 2019-08-07 15:27:49 · 2575 阅读 · 0 评论 -
FluentPython读书笔记4 --3-3.2
获取文档中单词出现的频率一、# -*- coding:utf-8 -*-import sysimport osimport reimport collections# 匹配字母、数字、下划线, + 至少一次(一次或多次)WORD_RE = re.compile(r'\w+')path = os.path.dirname(os.path.abspath(__file__))pa...原创 2019-01-28 21:30:45 · 153 阅读 · 0 评论 -
Django 表单类型(内置字段) 和 修改属性值
一、表单类型1、Django内置字段如下:Field # 有Field类型,其他类型基本都有Field类型的字段 required=True, 是否允许为空 widget=None, HTML插件 label=None, 用于生成Label标签或显示内容 init...原创 2019-01-21 19:37:21 · 4543 阅读 · 0 评论 -
sys标准输入输出 ,input() raw_input(),StringIO
sys.stdout sys.stdinprint 等价于sys.stdout.write(‘HelloWorld!’)raw_input 等价于sys.stdin.readline()[:-1]其实可以理解为,标准输入输出重定向# coding:utf-8from StringIO import StringIOimport sys# 生成一个StringIO对象buff ...原创 2018-12-13 09:15:14 · 541 阅读 · 0 评论 -
Python测试框架doctest
https://blog.csdn.net/liuchunming033/article/details/51455663doctest是python自带的一个模块。本博客将介绍doctest的两种使用方式:一种是嵌入到python源码中,另外一种是放到一个独立文件。doctest 的概念模型在python的官方文档中,对doctest是这样介绍的:从名字上是否会让你联想到docstr...转载 2018-12-13 14:52:12 · 129 阅读 · 0 评论 -
FluentPython读书笔记1--1.1
import collectionsfrom random import choice# AAAAAAAA(rank='spades', suit='2') 出来的名字是括号里的‘Card’Card = collections.namedtuple('Card', ['rank', 'suit'])t_card = Card('7', 'hearts')print t_cardran...原创 2018-12-10 21:51:30 · 148 阅读 · 0 评论 -
python mock总结
一、Mock模块先来看一下本文的整体框架:图片为什么使用mock:在我看来实际中用到mock的场景:有个函数,我们不关心他的具体实现细节,只想要他的返回。这时就可以mock这个函数的返回mock对象来模拟一个需要使用的资源(?)>>&a原创 2018-12-21 21:45:13 · 3631 阅读 · 0 评论 -
FluentPython读书笔记3 --2-8.1
# -*- coding:utf-8 -*-import bisectimport sysHAYSTACK = [1, 4, 5, 6, 8, 12, 15, 20, 21, 23, 23, 26, 29,30]NEEDLES = [0, 1, 2, 5, 8, 10, 22, 23, 29, 30, 31]ROW_FMT = '{0:2d} @ {1:2d} {2}{1:&l...原创 2018-12-22 22:02:38 · 215 阅读 · 0 评论 -
python 类不实例化,调用类方法:@staticmethod 和 @classmethod
@staticmethod 和 @classmethod 用法一般来说,要使用某个类的方法,需要先实例化一个对象再调用方法。而使用@staticmethod或@classmethod,就可以不需要实例化,直接类名.方法名()来调用。这有利于组织代码,把某些应该属于某个类的函数给放到那个类里去,同时有利于命名空间的整洁。既然@staticmethod和@classmethod都可以直接类名...原创 2018-12-18 11:37:55 · 12457 阅读 · 1 评论 -
python文件压缩、解压
zipfile一、读取import zipfile#已有zip:bb.zip , 默认模式r,读azip = zipfile.ZipFile('bb.zip') # ['bb/', 'bb/aa.txt']# 返回所有文件夹和文件 ['2.txt', '1.txt', 'home/luoxinyu/a1.txt']print(azip.namelist())# 返回该zi...原创 2018-12-18 17:39:41 · 3066 阅读 · 0 评论 -
python logging模块的实际应用
以一个实际使用例子开始:#!/usr/bin/env python# -*- coding: utf-8 -*-import loggingimport osimport syslogger = logging.getLogger('log_a') # 获取名称为log_a的日志器,相当于获取一个实例formatter = logging.Formatter('%(asctim...原创 2019-01-25 11:01:30 · 648 阅读 · 0 评论 -
python timedatetime
https://www.cnblogs.com/tkqasn/p/6001134.htmlhttps://blog.csdn.net/brucewong0516/article/details/79044905原创 2019-01-25 15:12:03 · 181 阅读 · 0 评论