zoukankan      html  css  js  c++  java
  • 你好同窗,我们开始吧,这是我们的第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,获得对象的所有属性和方法

  • 相关阅读:
    mybaits源码分析--事务管理(八)
    mybaits源码分析--binding模块(五)
    mybaits源码分析--自定义插件(七)
    mybaits源码分析--缓存模块(六)
    2021年9月
    golang-reflect实战ini配置文件
    ECC加密原理详解
    RFID 随手记
    计算机实现加法
    公钥加密算法 RSA
  • 原文地址:https://www.cnblogs.com/xingnie/p/9297869.html
Copyright © 2011-2022 走看看