博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[Python_4] Python 面向对象(OOP)
阅读量:5932 次
发布时间:2019-06-19

本文共 2379 字,大约阅读时间需要 7 分钟。


0. 说明

  Python 面向对象(OOP) 笔记、迭代磁盘文件、析构函数、内置方法、多重继承、异常处理

 

  参考

  

 


 1. 面向对象

# -*-coding:utf-8-*-"""    OOP 面向对象编程""""""    1. pass 的使用, pass 是占位符"""if True:    pass    print(10)def f1():    pass"""    2. 定义类"""class Emp:    pass""" 3. 创建对象"""e1 = Emp()print(e1.__class__)""" 4. 定义静态变量"""class Car:    brand = "BWM"  # 静态变量    __color = "white"  # __开头是私有的print(Car.brand)# print(Car.__color)class Cat:    """    类方法,是通过类访问的静态方法    类方法不需要实例化对象,通过类名直接进行调用,相当于java中的静态方法。    但方法的首参必须是cls类型,表示当前的类    """    @classmethod    def add(cls, a, b):        return a + b    """    静态方法,不通过类访问,直接访问的方法    python中的静态方法类似于scala中的函数,即可以直接访问的函数,    不需要通过类名访问。首个参数也无需定义成cls。    """    @staticmethod    def sub(a, b):        return a - b    """    成员函数 通过对象调用的函数,函数首个参数需要使用 self 作为参数    """    def watch(self, a, b):        print(a)        print(b)        print("xx")"""    构造函数    构造函数名称固定,就是__init__方法"""class Person:    # 构造函数    def __init__(self):        print("创建了一个 Person 对象")        self.name = "tom"        self.age = 10        # del self.namep1 = Person()print(p1.name)# 变量可以删除# va = 100# print(va)# del va# print(va)

 


 

2. 迭代磁盘文件

 

""" n. 迭代磁盘文件"""import osdef allfiles(dir):    print(dir, "gb2312")    if os.path.isdir(dir):        subdirs = os.listdir(dir)        for sub in subdirs:            allfiles(dir + "/" + sub)allfiles("F:/Archives/Books")

 


 

3. 析构函数

  销毁对象时使用的函数 

"""    析构函数"""class Man:    # 构造函数    def __init__(self, name):        print("创建 Man")        self.name = name    # 析构函数    def __del__(self):        pass        print("销毁 Man")# m1 = Man("tomasss")# m2=m1# m1 = None

 


 

4. 内置方法 

"""    内置方法,操纵对象的属性"""m1 = Man("xxxxxx")print(hasattr(m1, "age"))setattr(m1, "age", 12)delattr(m1, "age")print(getattr(m1, "age", -1))# 访问类的属性# __dict__访问类的成员r = Man.__dict__print(r)# 访问类名print(Man.__name__)# 所有父类构成的元组print(Man.__bases__)

 


 

5. 多重继承 

"""    考察多重继承,类可以有多个父类"""class Horse:    def __init__(self, name):        self.name = nameclass Donkey:    def __init__(self, age):        self.age = ageclass Luozi(Horse, Donkey):    def __init__(self, name, age, color):        Horse.__init__(self, name)        Donkey.__init__(self, age)        self.color = colorlz1 = Luozi("L1", 12, "black")print(lz1.name)

 


 

6. 异常处理 

"""    异常处理"""try:    print(1 / 0)except:    print("0不能做除数")finally:    print("over")try:    print(1 / 0)finally:    print("over")

 


 

转载于:https://www.cnblogs.com/share23/p/9821997.html

你可能感兴趣的文章
第一篇博客
查看>>
通过nginx+uwsgi部署django应用在ubuntu
查看>>
Python 中argparse模块的使用
查看>>
关于定位
查看>>
【分享】虹软人脸识别应用开发过程
查看>>
常用的ES6语法
查看>>
实用贴:hadoop系统下载安装教程
查看>>
关于接口的简单理解
查看>>
Python的装饰器是什么?
查看>>
OSChina 周四乱弹 —— 禅师,有些东西我放不下
查看>>
OSChina 周三乱弹 ——以前的人怎么自拍?
查看>>
OSChina 周四乱弹 —— 作为黑洲非人都不能玩游戏了
查看>>
Spring Controller 获取请求参数的几种方法
查看>>
项目重构之数据源配置与优化:log4j 配置数据库连接池Druid,并实现日志存储到数据库...
查看>>
redis常用数据类型介绍
查看>>
第一节 走进AS3.0游戏编程
查看>>
mac 的 node 多版本管理工具 nvm安装
查看>>
Apk反编译助手
查看>>
命令行方式启用Lync状态复制
查看>>
JavaScript注意事项
查看>>