Python第七天

时间表达方式

1、时间戳

2、格式化的字符串

3、结构化时间

计算器代码

 

对象存在类对象指针,如果调用的方法在对象中没有,则指向创建对象的类的方法,创建对象的类所需要的变量在对象中

 

 

类的继承

1、java、C#不支持多继承

2、经典类多继承深度优先(存在重复时,优先继承最深的) 

3、新式类多继承广度优先(存在重复时,继承最近的)  

 

类成员

字段

    普通字段

        对象中进行定义

    静态字段

        类中进行定义

方法

    普通方法

        对象触发,至少一个

    类方法

        用装饰器(classmethod),且参数不能为self必须是cls      类触发    

    静态方法

        用装饰器(staticmethod),且参数可以任意加                类触发

属性(一个名词而已,被修饰过的方法)

    普通属性

    @property 进行定义    

    调用时少了个括号哦

    新式类还支持设置、获取、删除属性值

静态字段+ __变成私有(两个下划线)

obj._Foo__name  对象点_类名__成员   

 

总结

1、面向对象三大特性

封装、继承、多态(用的不多。。。。)

2、Python 封装

    a、多个方法公用一组变量,变量封装到对象中

    b、写到方法中哦

3、继承

    a、基类和派生类

    b、多继承哦(Python特殊)

    c、新式类、经典类

    d、广度优先(规则),深度优先    ====》    面试

4、多态

      洗洗睡吧,这不科学哦,不好玩。。。。

4、类,对象,内存

5、类成员

    a、字段

            普通、静态

    b、方法

          普通方法        对象触发        至少一个self    值自动赋值为当前对象

          类方法           类触发            只有一个cls     值自动赋值为当前类

          静态方法        类触发            任意参数

    c、属性

          普通属性(方法的变种,变成访问时和字段相似)

            @property

            Data = property(方法名)

            obj.Data    = 执行方法,并获取方法的返回值

            新式类中属性

            @property

             @方法名.setter

            @方法名.deleter

6、类成员修饰符

    1、共有,私有(两个下划线开头)

                  私有,只能内部访问

                   私有非要访问的话:对象点_类名__成员

7、蛋疼

       obj = Foo()

       obj()    ==>__call__

8、__dict__

    查看对象变量

    查看类的变量

方法__str__

    友好形式输出

 

 

1、计算器

2、游戏人生

           面向对象。。。。

            pickle可以序列化对象

            obj = Foo()

3、联系paramiko configpaser(可选)

 

posted @ 2015-12-12 09:32  跟力哥学python  阅读(322)  评论(0编辑  收藏  举报