• Python面向对象编程(IDE:Pycharm)


    ----------------------------------------------------------------------------

    class Cat:    ----定义猫类

        def __init__(self,cat_name):

            self.name = cat_name

        def eat(self):    ----定义猫的属性

            print("%s爱吃鱼" % self.name)

        def sleep(self):

            print("爱睡觉")

        def catch(self):

            print("爱抓老鼠")

    Tom = Cat("Tom")    ----创建汤姆猫对象

    Tom.eat    ----汤姆猫的属性

    Tom.catch

    print(Tom)    ----输出汤姆的内存地址

    Lazy_cat = Cat("大懒猫")

    Lazy_cat.eat

    Lazy_cat.sleep

    print(Lazy_cat)

    ----------------------------------------------------------------------------

    class Girl:

        def __init__(self,name,age)

            self.name = name

            self.__age = age    ----__两个下划线定义私有私有属性,对象外部不能访问

        def how_olda(self)

            print("%s现在%d岁" % (self.name,self.__age))

        def __how_oldb(self)

            print("%s现在%d岁" % (self.name,self.__age))

    xiaofang = Girl("小芳",18)

    print(xiaofang.__age)    ----输出错误,私有属性不能访问

    print(xiaofang._Girl__age)    ----输出正确,可以利用对象._类名__属性来访问私有属性

    xiaofang.how_olda    ----输出小芳现在18岁

    xiaofang._Girl__how_oldb    ----输出正确,可以利用对象._类名__方法来调用私有方法

    ----------------------------------------------------------------------------

    class 类名(父类名1,父类名2):    ----python中的继承

        def 方法a():    ----方法a也在父类中,在子类中可以重新定义,新建子类时调用子类的方法

            super().方法a    ----在子类中延续父类的方法,并拓展

    ----------------------------------------------------------------------------

    print(类名.__mro__)    ----python中调用mro查看方法搜索的顺序

    ----------------------------------------------------------------------------

    class Tools:

        count = 0    ----定义类属性

        def __init__(self,name):

            self.name = name

            Tools.count += 1

        @classmethod    ----定义类方法

        def show_count(cls)

            print("工具对象总数:%d" % cls.count)

    knife = Tools("刀")

    axe = Tools("斧子")

    Tools.show_count

    -------------------------------------------------------------------------------

    class MusicPlayer:

        instance = None

        def __new__(cls,*args,**kwargs):    ----单例设计模式重写new方法

            print("这是音乐播放器a")

            if cls.instance is None:

                cls.instance is None:

            return cls.instance

            def __init__(self,name):

                self.playname = name

                print("%s开始播放" %s self.playname)

    yoo = MusicPlayer("yoo")

    yoho = MusicPlayer("yoho")

    print(yoo)

    print(yoho)

    -------------------------------------------------------------------------------

    单次执行初始化动作

    class Once:

        init_flag = False    ----初始化动作插旗并置0

        def __init__(self):

        if Once.init_flag:    ----设置if语句判断是否执行初始化动作

            return    ----终止程序

        print("yoo")

        Once.init_flag = True    ----将旗子置1

    ---------------------------------------------------------------------------------

     def demo1:

        return int(input("请输入一个数字:"))

    def demo2:

        return demo1()

    try:

        print(demo2)

    except Exception as a:

        print("未知错误:%s" % a)

    ---------------------------------------------------------------------------------

    def set_password():

        print("自定义异常")

        pwd = input(“请设置密码:”)

        if len(pwd) >= 8:

            return pwd

        ex = Eception("密码长度不够")

        raise ex

    try:

        print(set_password())

    except Exception as result:

        print(result)

    ---------------------------------------------------------------------------------

    if __name__ == "__main__":    ----增加判断语句测试代码

         main()    ----测试语句

    ---------------------------------------------------------------------------------

    新建python包,在__init__文件里使用from . import 导入在导入包时要调用的模块

  • 相关阅读:
    Android笔记(六十六) android中的动画——XML文件定义属性动画
    Android笔记(六十五) android中的动画——属性动画(propertyanimation)
    python函数参数默认值及重要警告
    Python 列表
    Python数学运算入门把Python当作计算器
    Python 的非正式介绍
    python中为什么 if/while/def/class语句需要冒号?
    为什么Python在列表和元组的末尾允许使用逗号?
    现实世界中的 Python
    Python常见问题
  • 原文地址:https://www.cnblogs.com/mengxinteriri/p/10355828.html
Copyright © 2020-2023  润新知