python
lllong33
这个作者很懒,什么都没留下…
展开
-
Python 设计模式 - "策略" 模式
1. 经典类实现方式from abc import ABC, abstractmethodfrom collections import namedtupleCustomer = namedtuple('Customer', 'name fidelity')class LineItem: def __init__(self, product, quantity, price):...原创 2019-11-11 23:14:17 · 227 阅读 · 0 评论 -
os模块
文件操作rename 重命名文件 os.rename(源文件名, 目标文件名)remove 删除文件 os.remove(文件名)目录操作listdir 目录列表 os.listdir(目录名)mkdir 创建目录 os.mkdir(目录名)rmdir 删除目录 os.rmdir(目录名)getcwd 获取当前目录 os.getcwd()chdir 修改工作目录 os.chd...原创 2018-12-03 18:01:55 · 94 阅读 · 0 评论 -
Python 面向对象
面相对象(封装,继承,多态)一个对象的 属性 可以是 另外一个类创建的对象私有属性和私有方法:处理方式:在 名称 前面加上 _类名 => _类名__名称就可以访问了继承(体现出多态)对父类方法进行扩展:在子类中重写父类方法,在需要的位置调用super().父类方法,然后实现其他需求多继承:如果不同父类存在同名方法,子类会调用那个方法?python中存在MRO(method...原创 2018-12-03 18:14:09 · 183 阅读 · 0 评论 -
Python 模块和包
01. 模块每一个以扩展名 py 结尾的 Python 源代码文件都是一个 模块模块别名 应该符合 大驼峰命名法不推荐import *,容易出现重名Python 中每一个模块都有一个内置属性 __file__ 可以 查看模块 的 完整路径在导入文件时,文件中 所有没有任何缩进的代码 都会被执行一遍!__name__ 是 Python 的一个内置属性,记录着一个 字符串,如果是被其他文件...原创 2018-12-03 18:27:46 · 287 阅读 · 0 评论 -
python目录
1.闭包和装饰器原创 2018-12-20 15:37:24 · 365 阅读 · 0 评论 -
Python 装饰器
1. 介绍装饰器是程序开发中经常会用到的一个功能,用好了装饰器,开发效率如虎添翼,重要性相当于c语言中的指针。面试也经常问到。2.手动实现def set_func(func): def call_func(): print("---这是权限验证1----") print("---这是权限验证2----") func() return call_func@set原创 2018-12-20 15:38:32 · 255 阅读 · 1 评论 -
Python 闭包
1.闭包实例:def line_conf(a, b): def line(x): return a*x + b return lineline1 = line_conf(1,1)line2 = line_conf(4,5)print(line1(5), line2(5)) #6, 52闭包相对于全局变量:不能很好的封装缺省参数:适应场景有限类对象:...原创 2018-12-20 15:42:43 · 359 阅读 · 0 评论 -
Mysql 与 Python 交互
一、准备数据创建数据表-- 创建 "京东" 数据库create database jing_dong charset=utf8;-- 使用 "京东" 数据库use jing_dong;-- 创建一个商品goods数据表create table goods( id int unsigned primary key auto_increment not null, ...原创 2019-05-26 17:20:55 · 129 阅读 · 0 评论 -
Python 装饰器使用场景,注意点
闭包的定义:函数的返回值为函数对象装饰器的定义:通过装饰器,来修改原函数的一些功能,使得原函数不需要修改,就具备需要的功能。使用内置的装饰器@functools.wrap, 保留原函数的元信息import functoolsdef my_decorator(func): @functools.wraps(func) def wrapper(*args, **kwargs)...原创 2019-06-23 13:37:33 · 464 阅读 · 0 评论 -
svn: E230001: Server SSL certificate verification failed
问题描述:重装系统后,将原电脑文件直接迁移过来的,导致该问题。解决过程:1.将svn.exe的bin目录添加进 环境变量 即path2.执行 svn ls http://…com, 选择P, 输入账号密码,再去pycharm使用就成功了...原创 2019-10-04 10:37:27 · 229 阅读 · 0 评论 -
Python与sqlite3
要操作关系数据库,首先需要连接到数据库,一个数据库连接称为Connection;连接到数据库后,需要打开游标,称之为Cursor,通过Cursor执行SQL语句,然后,获得执行结果。Python定义了一套操作数据库的API接口,任何数据库要连接到Python,只需要提供符合Python标准的数据库驱动即可。由于SQLite的驱动内置在Python标准库中,所以我们可以直接来操作SQLite数...原创 2018-12-01 19:32:49 · 367 阅读 · 0 评论 -
python argparse
argparseargparse 是 Python 内置的一个用于命令项选项与参数解析的模块,Python 也有第三方的库可用于命令行解析,而且功能也更加强大,比如docopt,Click。1. argparse使用创建 ArgumentParser() 对象调用 add_argument() 方法添加参数使用 parse_args() 解析添加的参数2. add_argument...原创 2018-11-28 18:23:14 · 170 阅读 · 1 评论 -
chardet 判断编码
data = '离离原上草,一岁一枯荣'.encode('gbk')chardet.detect(data)#{'encoding': 'gb2312', 'confidence': 0.74 'language': ''}正常中文解析为gb2312编码,但 旻 不在其中,需要使用gbk编码,gbk是gb2312的超集。https://chardet.readthedocs.io/e...原创 2018-12-01 15:19:39 · 308 阅读 · 0 评论 -
Python中的logging模块
1、日志级别日志一共分成5个等级,从低到高分别是:DEBUG INFO WARNING ERROR CRITICAL。默认的是WARNING,当在WARNING以上时才被跟踪。DEBUG:详细的信息,通常只出现在诊断问题上INFO:确认一切按预期运行WARNING:一个迹象表明,一些意想不到的事情发生了,或表明一些问题在不久的将来(例如。磁盘空间低”)。这个软件还能按预期工作。ERROR:...原创 2018-09-26 11:26:36 · 171 阅读 · 0 评论 -
SyntaxError: Non-UTF-8 code starting with '\xe4' in file
导致出错的根源就是编码问题。# -!- coding: utf-8 -!-原创 2018-10-11 16:01:30 · 6734 阅读 · 1 评论 -
demjson模块
encode 将 Python 对象编码成 JSON 字符串 decode 将已编码的 JSON 字符串解码为 Python 对象 它特别擅长错误检查JSON数据,并且能够解析比严格JSON允许的更多JavaScript语法。demjson的一些优点是: 它适用于没有内置JSON的旧Python版本; 它通常具有更好的错误处理和“lin...原创 2018-09-27 11:25:14 · 852 阅读 · 0 评论 -
doctest模块
doctest模块会搜索那些看起来像是python交互式会话中的代码片段,然后尝试执行并验证结果。doctest嵌入源码中(还有一种是独立文件)'''这个例子展示如何在源码中嵌入doctest用例。'>>>' 开头的行就是doctest测试用例。不带 '>>>' 的行就是测试用例的输出。如果实际运行的结果与期望的结果不一致,就标记为测试失败。'''.原创 2018-11-21 17:17:53 · 261 阅读 · 0 评论 -
Python一些方法记录
sys.argv:以列表返回终端命令,常见用法获取命令参数sys.argv[1:],更高级模块为argparse原创 2018-11-21 17:27:51 · 135 阅读 · 0 评论 -
python与线程
1. 概念同步概念:协同步调,按预定的先后次序运行并发:不同时运行(线程)并行:同时运行(进程)同步原语:1.互斥锁,2.信号量原语,3.queue队列上下文管理器:with死锁:1.通过银行家算法解决,2.添加超时时间模块:threading.Thread线程池:创建线程需要经过启动、销毁和运行3个过程。创建和用完的线程放入一个容器中,用户下次使用无须再开辟一个新进程。节约开辟新...原创 2018-11-27 16:02:04 · 143 阅读 · 0 评论 -
python与进程
一. 进程的创建-from multiprocessing import ProcessProcess语法结构Process([group [, target [, name [, args [, kwargs]]]]])target:如果传递了函数的引用,可以任务这个子进程就执行这里的代码args:给target指定的函数传递的参数,以元组的方式传递kwargs:给target指...原创 2018-11-27 16:11:30 · 123 阅读 · 0 评论 -
python与协程
一. 迭代器(iterator)iterable,iterator,iteration可迭代对象可以通过for … in … 这类语句迭代的对象称为可迭代对象# 通过isinstance判断一个对象是否为iterable和iterator对象from collections import Iterable, Iteratorisinstance([], Iterable) # Tru...原创 2018-11-27 16:23:08 · 211 阅读 · 0 评论