| 名称 | 作用 |
|————-+———————————————-|
| tests | 目录,位于项目根目录下,用于存放单元测试文件 |
| test_XXX.py | 文件,用于测试某个模块的测试源码 |
| XXXTestCase | 类名,测试用例名 |
| test_XXX | 测试方法名 |
life's a struggle.
2015-04-07
2015-04-03
要点
可以指定多个文件或目录
ctags file1 dir1
选项
–list-languages
查看支持的语言
–list-kinds=python
查看某种语言选项
–list-maps
查看对应语言的拓展名映射规则
-R
递归处理
–format=level
指定tag的输出格式,默认为2,level=2时,ex_cmd会追加
;"
(通过注释与老vi保持兼容)−−fields=[+|−]flags
用来控制
extension_fileds
中要包含的内容–options
指定配置文件
–exclude
指定多个时,需要分开指定。
--exclude=.git --exclude=node_modules --exclude=test
–extra=[+|−]flags
- q 生成额外的的修饰符tag(class::member),以帮助定位类方法,但是会造成双倍大小!尽量不用。
–tag-relative=yes(打开后,输出的tag.filename字段不带相对路径)
-L file
从指定文件中读取要生成tags的文件列表
tag记录格式()
tag_name<TAB>file_name<TAB>ex_cmd;"<TAB>extension_fields
tag_name
用来检索的keyfile_name
tag所在的文件名ex_cmd
vim用来定位的命令
2015-04-03
1 | class A(object): |
使用super
要求父类必须派生自object
!
1 | class B(A): |
使用类名访问
1 | class B(A): |
参考
2015-04-03
access
收
判断是否有VLAN信息
如果没有则打上端口的PVID,并进行交换转发,
如果有则直接丢弃(缺省)
发
将报文的VLAN信息剥离,直接发送出去
Trunk
收
收到一个报文,判断是否有VLAN信息
如果没有则打上端口的PVID,并进行交换转发,
如果有判断该trunk端口是否允许该 VLAN的数据进入
如果可以则转发
否则丢弃
发
比较端口的PVID和将要发送报文的VLAN信息
如果两者相等则剥离VLAN信息,再发送
如果不相等则直接发送
Hybrid
收
收到一个报文判断是否有VLAN信息
如果没有则打上端口的PVID,并进行交换转发,
如果有则判断该hybrid端口是否允许该VLAN的数据进入
如果可以则转发
否则丢弃
发
判断该VLAN在本端口的属性(disp interface 即可看到该端口对哪些VLAN是untag, 哪些VLAN是tag)
如果是untag则剥离VLAN信息,再发送
如果是tag则直接发送
2015-04-03
2015-04-02
2015-04-02
使用python
选项方式
python -m SimpleHTTPServer
优点
- python会按照模块搜索路径列表去搜索执行
直接运行
需要指定模块路径名
“C:\Python27-32\Lib\SimpleHTTPServer.py”
2015-04-02
优点
- 不但可以查看系统本身的文档,还可以查看拓展包,当前目录下的源码文档
使用方式
交互式命令行
在进入命令行之前,自动导入help()
1 | from pydoc import help |
使用http服务器方式
默认包含当前路径源码文档
pydoc.py -p 8000
2015-04-02
2015-04-02
特点
python中的类是C++和Modula-3的混合体
C++角度,所有成员使用
public
,所有方法都是virtual
和Modula-3一样,python没有隐式关联对象与数据和方法
所有方法在定义时,显示声明第一个参数
self
在调用时,self隐式赋值
同stmalltalk一样,类本身也是对象,此机制提高了导入和重命名语义
同C++和Modula-3不一样的是,内置类型可以被拓展
允许多重继承
子类可以重写父类的任何方法
子类可以调用父类中的同名方法
子类
__init__
如果需要,必须显式调用父类__init__
方法类可以被动态创建,且可以在创建之后被修改