Skip to content

Instantly share code, notes, and snippets.

View workze's full-sized avatar
🎯
Focusing

Wangguize workze

🎯
Focusing
View GitHub Profile
@workze
workze / 设计模式-观察者模式.md
Created April 24, 2020 06:40
设计模式 观察者模式

https://juejin.im/post/5a238da56fb9a0450a6729ff

问题:对象直接有数据依赖。如何让一个对象的数据变化,及时通知到其他对象。 解决方案:数据对象持有其他所有对象的引用,双方协商数据交换方式。当数据对象数据变化,通过接口传入数据。 通过注册产生关联;通过回调传递数据。

@workze
workze / 设计模式-状态模式.md
Created April 24, 2020 06:25
设计模式 状态模式

要旨:业务场景是一个有限状态机,每种状态下都会有各自的、全套的业务逻辑。 为每种状态设计一个单独的类,实现基于此状态的全套业务逻辑。 特点:在进行业务处理的同时,自动切换状态。

@workze
workze / 设计模式-命令模式.md
Last active April 24, 2020 04:43
设计模式 命令模式

https://design-patterns.readthedocs.io/zh_CN/latest/behavioral_patterns/command.html

要旨: 逻辑对象,方法很多。 客户端需要操作逻辑对象的方法。 将逻辑对象的方法,或者多个方法,封装到一个类中-命令类。即在该类中执行逻辑对象的各种方法。 客户端只需要创建对应的命令类即可。

为了解耦,又引入了代理层去触发逻辑对象-命令的调用。

@workze
workze / python-metaclass.py
Last active April 24, 2020 00:59
python meta type abc
handlers = {}
class CustomMetaclass(type):
def __new__(mcs, name, bases, attrs):
cls = type.__new__(mcs, name, bases, attrs)
for ext in attrs["formats"]:
handlers[ext] = cls
return cls
@workze
workze / python-bs4.py
Created April 23, 2020 05:57
python bs4 xml html
from bs4 import BeautifulSoup
import re
html_doc = """
<html>
<head><title>The Dormouse's story</title></head>
<body>
<p class="title">
import time
import functools
def timer(timer_id):
def decorator(func):
@functools.wraps(func)
def wrapper(*args, **kw):
print('%s %s():' % (timer_id, func.__name__))
start_time = time.time()
@workze
workze / python-list.py
Created April 18, 2020 08:29
python list
list = ['html', 'js', 'css', 'python']
list = ['html', 'js', 'css', 'python']
# 方法1
print '遍历列表方法1:'
for i in list:
print ("序号:%s 值:%s" % (list.index(i) + 1, i))
print '\n遍历列表方法2:'
@workze
workze / python-dict.py
Last active April 20, 2020 12:22
python dict map
data = { 'k1': "v1", "k2": "v2" }
for key,value in data.items():
pass
data.keys()
data.values()
@workze
workze / python-sys-path.py
Last active April 18, 2020 06:45
python sys path
python a.py
会把 a.py 所在路径加入 sys.path 的第一个。
sys.argv = ['/path/to/a.py']
@workze
workze / excel-concat.txt
Last active April 17, 2020 08:24
excel string concat
A1&B1
A1&","&B1
concatenate(A1, ",", A2)