先看一个简单的类,包括一个__init__和一个__new__方法

#!/usr/bin/env python

# -*- coding: utf-8 -*-
# Time : 2019-08-22 18:24
# Auth : lihui
# File : start.py

class A:
def __init__(self):
print("A __init__")

def[......]

Read more

Given an array S of n integers, are there elements abc in S such that a + b + c = 0? Find all unique triplets in the array which gives the sum of zero.

Note: The solution set must not contain dupl[……]

Read more

工厂方法应该是用得非常多的设计模式,随处可见Factory,简单工厂其实不算一个真正的设计模式

Head First里以Java多态引出问题

Duck duck;

if (picnic) {
duck = new MallardDuck();
} else if (hunting) {
duck = new DecoyDuck();
} else if (inBathTub) {
du[......]

Read more

面试的时候,相比Java老是问算法,Python经常会问一些概念,比如元类,闭包等等,当然分布式进程也是其中之一

分布式进程应该爬虫用得比较多,一个作为master,其它workers可以作为分布式进程来执行各自的业务,而它们之间通过网络进行数据通信

主要用到了managers子模块,官方说明了一些用法

16.6.2.7. Managers

Managers provide a way to cr[……]

Read more

装饰器实际上就是对闭包的使用

Python里一个函数里面又定义了一个函数,内部函数却可以引用外部函数的参数,局部变量;而当外部函数执行完毕返回内部函数引用的时候,以上所有参数也一同保存在返回的内部函数当中,这样就构成一个闭包,也就是说,外部函数要返回的时候发现自己的局部变量内部函数还要用,那么本属于它的局部变量并没有释放,而是给内部函数引用,自己结束返回

def outside(a):
b[......]

Read more

目前主要还是基于H版的OpenStack,因此Tempest也是H版,对比了下最新社区Tempest,已经有很多实现的改进,连最基础的create_server的方法也优化了,特别是传入的networks,还会先通过方法tenant_network来获取,而目前使用的H版的Tempest默认依旧无网卡创建,除了重写方法外,如果不做任何修改,很多用例都没办法直接通过,加上在用的OpenStack也做[……]

Read more

记得以前在看APUE《UNIX环境高级编程》的时候,最让我云里雾里的就是信号量那部分的内容,在完善Tempest的过程中,突然偶遇了Lock,不过这里是python多线程用到的,我印象中python的解释器是单线程的,因此之前multi threading一直支持得不好,当然不知道现在如何

因为目前主要完善Tempest里有关云主机部分的用例,由于做了相当多定制化的修改,而且havana版的tem[……]

Read more