随笔分类 - Python
摘要:python高并发的解决方案 一.cdn加速 简单说就是把静态资源放到别人服务器上 全称:Content Delivery Network或Content Ddistribute Network,即内容分发网络 基本思路: 尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更
阅读全文
摘要:import logging from logging import handlers# 日志记录 class Logger(object): level_relations = { 'debug': logging.DEBUG, 'info': logging.INFO, 'warning': l
阅读全文
摘要:python/django将mysql查询结果转换为字典组 使用python查询mysql数据库的时候,默认查询结果没有返回表字段名称,不方便使用。为了方便使用一般会选择将查询结果加上字段名称以字典组的方式返回查询结果。 实现如下: def dict_fetchall(cursor): "Retur
阅读全文
摘要:一、smtplib模块: 主要通过SMTP类与邮件系统进行交互。使用方法如下: 1.实例化一个SMTP对象: s = smtplib.SMTP(邮件服务地址,端口号) s = smtplib.SMTP_SSL(邮件服务地址,端口号) 2.登陆邮件,权限验证: s.login(用户名,密码) 3.发送
阅读全文
摘要:Python 如何将字符串转为字典 在工作中遇到一个小问题,需要将一个 python 的字符串转为字典,比如字符串: user_info = '{"name" : "john", "gender" : "male", "age": 28}' 我们想把它转为下面的字典: user_dict = {"n
阅读全文
摘要:上下文管理器(Context managers) 上下文管理器允许你在有需要的时候,精确地分配和释放资源。 使用上下文管理器最广泛的案例就是with语句了。想象下你有两个需要结对执行的相关操作,然后还要在它们中间放置一段代码。上下文管理器就是专门让你做这种事情的。举个例子: 上面这段代码打开了一个文
阅读全文
摘要:函数缓存 (Function caching) 函数缓存允许我们将一个函数对于给定参数的返回值缓存起来。当一个I/O密集的函数被频繁使用相同的参数调用的时候,函数缓存可以节约时间。在Python 3.2版本以前我们只有写一个自定义的实现。在Python 3.2以后版本,有个lru_cache的装饰器
阅读全文
摘要:很多时候你可能希望你开发的程序能够同时兼容Python2+和Python3+。 试想你有一个非常出名的Python模块被很多开发者使用着,但并不是所有人都只使用Python2或者Python3。这时候你有两个办法。第一个办法是开发两个模块,针对Python2一个,针对Python3一个。还有一个办法
阅读全文
摘要:CPython还为开发者实现了一个有趣的特性,使用Python可以轻松调用C代码 开发者有三种方法可以在自己的Python代码中来调用C编写的函数-ctypes,SWIG,Python/C API。每种方式也都有各自的利弊。 首先,我们要明确为什么要在Python中调用C? 常见原因如下: - 你要
阅读全文
摘要:from functools import reduce, wrapsimport timedef timer(func): @wraps(func) def inner(*args,**kwargs): start = time.time() re = func(*args,**kwargs) p
阅读全文
摘要:在python中使用正则表达式 1.转义符 正则表达式中的转义: '\('表示匹配小括号 [()+*/?&.] 在字符组中一些特殊的字符会现出原形 所有的\s\d\w\S\D\W\n\t都表示他原本的意义 [-]只有写在字符组的首位的时候表示普通的减号 写在其它位置的时候表示范文[1-9]如果就是想匹配减号[1\-9] Python中的转义符 分析过程: '\n'#\是转义符 赋予这个n一个...
阅读全文
摘要:正则表达式 what:一种匹配字符串的规则 where:程序领域:1,登录注册的表单验证 2.爬虫 3.自动化开发 why:可以制定一个规则 1.来确认某一个字符串是否符合规则 2.从大段的字符串中找到符合规则的内容 how: 正则表达式的语法:1.元字符 2.量词 3.特殊用法和现象 1元字符 [...]----匹配字符组(集)中的字符 [^...]---匹配除了字符组中字符的所有字符...
阅读全文
摘要:包是一种通过使用‘.模块名’来组织python模块名称空间的方式。 1. 无论是import形式还是from...import形式,凡是在导入语句中(而不是在使用时)遇到带点的, 都要第一时间提高警觉:这是关于包才有的导入语法 2. 包是目录级的(文件夹级),文件夹是用来组成py文件(包的本质就是一个包含__init__.py文件的目录) 3. import导入文件时,产生名称空间中的名字...
阅读全文
摘要:1.__new__ and __init__ 这两个方法都是在实例化的时候执行,__new__ 在 __init__ 之前执行,并且 如果实例化的时候封装属性,__new__也是必须要传的,而且__new__必须有返回 值,而且这个返回值就是对象的内存空间而且会传给__init__的self参数,而且 封装的属性也会传给__init__. class A: def __new__(c...
阅读全文
摘要:#------面向对象------# (1)什么时候用面向对象 ----答:1.代码量大,功能多。2.处理比较复杂角色之间的关系 #------创建一个对象------# 类名() 实例化 __new__()创造了一个对象的空间,还可以做一些简单的初始化。 #------创建一个类-------# class Leiming 语法级别,Python解释器读到就会创建一个类 type 是所...
阅读全文
摘要:[1], [1, 1], [1, 2, 1], [1, 3, 3, 1], [1, 4, 6, 4, 1], [1, 5, 10, 10, 5, 1], [1, 6, 15, 20, 15, 6, 1], [1, 7, 21, 35, 35, 21, 7, 1], [1, 8, 28, 56, 70, 56, 28, 8, 1], [1, 9, 36, 84, 126, 126, 84, 36,...
阅读全文
摘要:先来安利一下:字典的键必须是可哈希的。(通俗理解就是不可变的,比如,int,str,tuple.因为这样就可以将你这个键固定好,查的时候很快!) 1.字典的增加 1)赋值操作 D[key] = value 2)setdefault() def setdefault(self, k, d=None): # real signature unknow...
阅读全文
摘要:Python程序的执行原理 1. 过程概述Python先把代码(.py文件)编译成字节码,交给字节码虚拟机,然后解释器一条一条执行字节码指令,从而完成程序的执行。 1.1python先把代码(.py文件)编译成字节码,交给字节码虚拟机,然后解释器会从编译得到的PyCodeObject对象中一条一条执
阅读全文
摘要:据说,Python 的对象天生拥有一些神奇的方法,它们总被双下划线所包围,他们是面向对象的 Python 的一切。他们是可以给你的类增加魔力的特殊方法,如果你的对象实现(重载)了这些方法中的某一个,那么这个方法就会在特殊的情况下被 Python 所调用,你可以定义自己想要的行为,而这一切都是自动发生的。Python 的魔术方法非常强大,然而随之而来的则是责任。了解正确的方法去使用非常重要!C._...
阅读全文
摘要:异常处理 1.异常和错误 part1:程序中难免出现错误,而错误分为两种 1)语法错误(这种错误,根本过不了解释器的语法检测,必须在程序执行前改正) 2)逻辑错误(逻辑错误) part2:异常 异常就是在程序运行时发生错误的信号 part3:python中的异常类 在python中不同的异常可以用不同的类型(python中统一了类与类类】型,类型即类)去标识,不同的 类对象标识不同的对象...
阅读全文
浙公网安备 33010602011771号