你好同窗,我们开始吧,这是我们的第5次见面

日子过得真快,又是想念你们的一天呢,今天也要记得微笑哦!!很久没有玩adobe的东西了,这几天摸鱼一下,手感已经生疏了,以前还打算一直学习下去,后来慢慢转变成了在合成上面的兴趣了呢,我知道很丑啦,所以只是在学习前的日常扯皮嘛,好啦好啦,开始学习了。

小小的娱乐

上次讲到了一小部分的装饰器,现在我们接着开始复习,关于decorator,要自带参数时,需要一个返回derector的高阶函数。

@log('execute')

def now():

  print(...)

这个就相当于now= log('execute')(now)

对于大量二进制转化可以自定义一个方法:

def int2(x,base=2):

  return int(x,base)

偏函数functools.partial() 固定了某一些参数

创建偏函数时,可以接受函数对象、*args,**kw三个参数

import functools

max2= functools.partial(max,10)  这里的10将作为*arg的一部分自动加到左边了

即max2(5,6,7)相当于

args=(10,5,6 7)

max(*args)

模块module  一个Py文件

包package 按目录组织模块

对于sys模块的argv变量有>=1个元素,第一个元素必定是文件名。

作用域 通过_作为前缀 此外还有特殊变量__xxx__注意这里是两个下滑空格

_xxx __xxx是private,不应该直接被引用

关于对象和模板其实也没设好说的,就两种编程的方式嘛,面向对象的话特点就是东西都一个个打包好,然后用哪个就调用哪一个,面向过程的话就是一整套行云流水地走下来,基本上各有各的特点吧,不过个人上建议可能面向对象比较好一点,对于后期维护这一块可能也是比较轻松的。

数据封装的话就是def定义方法加上__的那种私有变量吧,但是也只是名义上的封装不被随意调度,如果你硬是要调用的话也不是不行。

关于类,类的定义过程中第一个传入的参数一般是object,而方法传入的就是self,没什么为什么,只是一种约定俗成,要改也不是不行,只是大家都统一一些规范的话在交流上就会减少很多麻烦,而且这样子定义本来就很好,干嘛要另辟蹊径呢。

继承和多态一个例子就明白了,class Animal()........classDog(Animal) 懂?在继承父类后你也可以对子类经一部增加一些方法,这个时候如果子类中的方法和父类的重名了,则子类就会覆盖父类的那个方法。莫非这就是所谓的逆子哈哈哈哈!!!

是子类必属父类,是父类却不一定。

多态的好处,就是不同的类的对象可以用同一种方法

开闭的原则就是多态,对扩展开发;允许新增子类  对修改封闭:不需要修改依赖animal类的run_twice的函数等

静态语言传入animal 类时对象必须为animal或者其子类,否则无法调用run函数

动态语言不需要传入animal类,只要对象有一个run方法即可

type()模块用于检测判断

isinstance(a,(b,c))判断a是不是属于b或者c,当然后面也可以直接放一个,比如就只判断a是不是b,最后运行结果是true或者false

dir()返回包含字符串的list,获得对象的所有属性和方法

猜你喜欢

转载自www.cnblogs.com/xingnie/p/9297869.html