from functools import reduce
from random import randint, sample
# 获取多个字典中相同的key
data1 = sample('abcdefg', 3)
print(data1)
data2 = sample('abcdefg', randint(3, 6))
print(data2)
s1...
from random import randint
d = {x: randint(60, 100) for x in 'xyzabc'}
print(d)
# 将字典转化为元组, 第一种方式
d2 = list(zip(d.values(), d.keys()))
print(sorted(d2))
# 第二种方式
d3 = d....
from random import randint
from mrjob.py2 import xrange
data = [randint(0, 20) for _ in xrange(30)]
print(data)
# 统计每个数值出现的频率,第一种方式
c = dict.fromkeys(data, 0)
print...
from mrjob.py2 import xrange
student = ('Jim', 16, 'male', 'jim8721@gmail.com')
print(student[0])
# NAME = 0
# AGE = 1
# GENDER = 2
# EMAIL = 3
NAME, AGE, GENDER, EMAIL = xrange(4)
...
from random import randint
from mrjob.py2 import xrange
# 列表筛选大于0的数
# 常用写法
data = [1, 5, -3, -2, 6, 0, 9]
res = []
for x in data:
if x >= 0:
res.append(x)
...
设计模式的六大原则
开闭原则
一个软件实体如类、模块和函数应该对扩展开放,对修改关闭。在软件的生命周期内,因变化、升级和维护对原有代码进行修改,可能会引入错误。所以当软件需要变化时,通过扩展软件实...
创建文件Base.go
package visitor
type Customer interface { // 接待者
Accept(Visitor)
}
type Visitor interface { // 访问者
Visit(Customer)
}
创建文件EnterpriseCustomer.go
packa...
创建文件Command.go
package command
type Command interface {
Execute() // 执行
}
创建文件motherBoard.go
package command
import "fmt"
type MotherBoard struct {
}
func (*Mother...
创建文件MMFeel.go
package memento
import "fmt"
type MMFeel struct {
Tall int
Rich int
Handsome int
}
var States []MMFeel = make([]MMFeel, 0)
var StatesLength int ...
创建文件MM.go
package strategy
import "fmt"
type MMContext struct {
Name string
Age int
paoStrategy MMStrategy
}
func NewMMContext(name string, age int, str...
创建文件CPU.go
package mediator
import "fmt"
type CPU struct {
data string
}
func (c *CPU) Process(data string) {
fmt.Println("CPU is running", data)
}
创建文件GPU.go
pack...
创建文件Downloader.go
package template
import "fmt"
type Downloader interface {
Download(url string)
}
type template struct {
implement
url string
}
type implement int...
创建文件Week.go
package state
// 每个星期行为
type Week interface {
Today()
Next(*DayContext)
}
// 星期数据结构
type DayContext struct {
today Week
}
func NewDayContext...
创建文件Node.go
package interpreter
type Node interface {
Interpreter() int
}
type ValNode struct {
val int
}
func (v *ValNode) Interpreter() int {
return v.val
}
创...
创建文件Observer.go
package observer
type Observer interface {
Update(subject *Subject)
}
创建文件Reader.go
package observer
import "fmt"
// 读取类
type Reader struct {
Name...