摘要:
参考: "实例属性和类属性" NOTE Python是动态语言,根据类创建的实例可以任意绑定属性。 同时,也可以直接给类绑定一个属性: 当我们定义了一个类属性后,这个属性虽然归类所有,但类的所有实例都可以访问到。 当对象也定义了一个同名的属性时,会将原有的类属性覆盖掉,当删除对象的这个属性时,再次访 阅读全文
摘要:
参考: "获取对象信息" NOTE 1.type()函数可以用来判断对象的类型: 如果一个变量指向函数或者类,也可以用type()判断. 也可以用来判断两个变量的类型是否相等: 判断一个对象是否为函数: 2.isinstance():可以用来判断一个对象是否是某一个类的对象 能够用type()函数判 阅读全文
摘要:
参考: "继承和多态" NOTE 著名的开闭原则: 对扩展开放:允许新增Animal子类; 对修改封闭:不需要修改依赖Animal类型的Animal_func()等函数。 1.eg. 2.在OOP程序设计中,当我们定义一个class的时候,可以从某个现有的class继承,新的class称为子类(Su 阅读全文
摘要:
参考: "访问限制" NOTE 1.eg. 2.在Class内部,可以有属性和方法,而外部代码可以通过直接调用实例变量的方法来操作数据,这样,就隐藏了内部的复杂逻辑。但是,如果要确保外部代码 不能随意修改对象内部的状态 ,就需要有private属性的存在。 如果要让内部属性不被外部访问,可以把属性的 阅读全文
摘要:
NOTE Capsules Example 1.Type Field: excute forwarding routine = carry program 2.Previous address: If the node now is not an active network node, it ca 阅读全文
摘要:
参考: "类和实例" 注意理解第七点。 NOTE: 1.类是抽象的模板,比如Student类,实例是根据类创建出来的一个个具体的“对象”,每个对象都拥有相同的方法,但各自的数据可能不同。 一个是抽象模板,一个是具体实例。 Hint: Python中继承的方式 = 在类名之后加上 。 上述Studen 阅读全文
摘要:
参考: "OOP" NOTE 1.面向对象编程——Object Oriented Programming,简称OOP,是一种程序设计思想。OOP把对象作为程序的基本单元,一个对象包含了数据和操作数据的函数。 2.面向过程的程序设计把计算机程序视为一系列的 命令集合 ,即 一组函数的顺序执行 。为了简 阅读全文
摘要:
接上第二点 NOTE (2)active networks = Programmability in networks(1990s) What are active networks? 1.Networks where switches perform custom computations on 阅读全文
摘要:
参考: "使用模块" NOTE 1.内建sys模块: 第5行是一个字符串,表示模块的 文档注释 ,任何模块代码的第一个字符串都被视为模块的文档注释. __author__变量把作者写进去. 2.args参数: 当执行: 时,args只有一个参数,参数0: 执行: 时,args有两个参数,参数0和1: 阅读全文
摘要:
参考: "A TLS packet with unexpected length was received." 系统环境 主系统 OS X,虚拟机 Ubuntu 14.04 64bit。 问题描述 在git clone时遇见错误: 解决方法 a.回答1 b.检查虚拟机网络设置,若虚拟机为桥接模式更改 阅读全文
摘要:
参考: "CAfile: /etc/ssl/certs/ca certificates.crt CRLfile: none" 环境 主系统 OS X,虚拟机,Ubuntu 14.04 64bit。 问题描述 git clone时出现错误: 解决方法 a.参考回答2: b.检查虚拟机网络设置,若虚拟机 阅读全文
摘要:
参考: "模块" NOTE 1.模块:一个.py文件称为一个模块。 2.代码模块化的意义:a.提升程序的可维护性 b.不用重复造轮子 3.避免模块冲突,解决方法:引入了按目录来组织模块的方法,称为包(Package)。 eg.abc.py = abc模块,xyz.py = xyz模块 倘若出现冲突 阅读全文
摘要:
"source" Structure 1.讨论SDN的时间线,从1980s至今。 2.认识到SDN背后的原则和idea。 3.识别SDN起源的架构主题。 NOTE Four Chapter in SDN History: (1)相关技术的演变。 (2)转控分离。 (3)对于特定的数据平面开发的控制信 阅读全文
摘要:
"偏函数" NOTE 1.int()函数提供额外的base参数,默认值为10。如果传入base参数,就可以做N进制的转换: 可以看到,后面的base指明了输入的进制,并将其转换为10进制。 如果要转换大量的二进制数,就很麻烦,一般使用函数封装起来,调用就可以了: 2.functools.partia 阅读全文
摘要:
"修饰器" NOTE 1.函数对象有一个__name__属性,可以拿到函数的名字: 2.增强now函数的功能,又不想重新对now函数进行定义,这种在代码运行期间动态增加功能的方式,称之为“装饰器”(Decorator)。 本质上,装饰器就是一个返回函数的高阶函数: 把@log放到now()函数的定义 阅读全文