1. 什么是组合 组合指的是某一个对象拥有一个属性,该属性的值是另外一个类的对象class Foo: pass class Bar: pass obj=Foo()obj.attr=Bar() obj.xxxobj.attr.yyy 2. 为何要用组合 通过为某一个对象添加属性(属性的值是另外一个类的 ...
分类:
其他好文 时间:
2018-12-18 10:53:55
阅读次数:
179
# 子类自动拥有父类中除了私有内容外的其他所有内容 # 王思聪(熊猫TV) -> 王健林(年龄) # 继承目的: 对父类进行扩展 class Foo: def getMoney(self): print("拿钱") # class Bar(Foo): pass # # b = Bar() b.get... ...
分类:
编程语言 时间:
2018-12-17 22:01:57
阅读次数:
195
预编译:函数的预编译发生在执行函数之前。预编译四部曲:1.创建AO对象;2.找形参和变量声明,将变量和形参名作为AO属性名,值为undefined;3.将实参值和形参统一;4.在函数体里面找函数声明,值赋予函数体。 AO{ foo:function foo(){}; } function bar() ...
分类:
编程语言 时间:
2018-12-17 21:05:26
阅读次数:
199
对象 1. ES6 允许直接写入变量和函数,作为对象的属性和方法 const foo = 'bar'; /*****************属性的优化********************/ const baz = {foo: foo}; // 优化为 const baz = {foo}; /** ...
分类:
其他好文 时间:
2018-12-17 02:08:33
阅读次数:
157
一、模块单例 Python 的模块就是天然的单例模式,因为模块在第一次导入时,会生成 .pyc 文件,当第二次导入时,就会直接加载 .pyc 文件,而不会再次执行模块代码。 直接在其他文件中导入此文件中的对象,这个对象即是单例模式的对象 二、静态变量方法 先执行了类的__new__方法(我们没写时, ...
分类:
其他好文 时间:
2018-12-16 23:38:13
阅读次数:
165
1. __doc__ 描述类的信息 显示的结果: 2. __call__ 对象后面加括号,触发执行 显示的结果: 3. __dict__ 查看类或对象中的所有成员 显示的结果: {'__weakref__': <attribute '__weakref__' of 'Foo' objects>, ' ...
分类:
其他好文 时间:
2018-12-16 23:22:19
阅读次数:
141
守护进程 主进程创建子进程,然后将该进程设置成守护自己的进程,守护进程伴随着子进程的结束而结束。 如果我们有两个任务需要并发执行,那么开一个主进程和一个子进程分别去执行就ok了,如果子进程的任务在主进程任务结束后就没有存在的必要了,那么该子进程应该在开启前就被设置成守护进程。主进程代码运行结束,守护 ...
分类:
系统相关 时间:
2018-12-16 21:37:14
阅读次数:
249
1、“=” make会将整个makefile展开后,再决定变量的值。也就是说,变量的值将会是整个makefile中最后被指定的值。看例子: x = foo y = $(x) bar x = xyz 在上例中,y的值将会是 xyz bar ,而不是 foo bar 。 2、“:=” “:=”表示变量的 ...
分类:
其他好文 时间:
2018-12-16 19:27:47
阅读次数:
111
1. 二进制 和 八进制 新的表示法 前缀 0b(或0B) 表示 二进制 前缀 0o(或 0O )表示 八进制 console.log(0b111110111 503); // true console.log(0o767 503); // true 如果要将 0b 和 0o 前缀的字符串数值 转为 ...
分类:
其他好文 时间:
2018-12-16 14:36:01
阅读次数:
127
参数的默认值 ES6 允许为函数的参数设置默认值,即直接写在参数定义的后面 函数不能有同名参数 参数初始化会形成一个单独作用域。实际执行的是 let a = 1; 参数默认值是惰性求值的 每次调用函数foo,都会重新计算x + 1,而不是默认p等于 100 let x = 99; function ...
分类:
其他好文 时间:
2018-12-15 13:33:41
阅读次数:
159