Python面向对象

2021-07-13 07:06

阅读:452

标签:面向对象   setattr   ati   name   attr   ...   直接   run   实例变量   

Python面向对象

1、class定义

#定义类
class Emp:
  pass

2、静态变量

class Emp:
    #静态变量,通过类直接访问
    id = 100
    
    #__开头的是私有属性
    __age = 20

#通过类直接访问
print Emp.id

3、构造函数和实例方法

构造函数名称固定,就是__init__方法。

class Emp:
    #实例方法
    def add(self , a, b):
        return a + b 
    
    #构造函数
    def __init__(self , name ,age):
        #实例变量
        self.name = name
        self.age = age

4、析构函数

class Emp:
    #析构函数
    def __del__(self):
        print "销毁对象!"
#创建对象
e = Emp()

#销毁对象
e = None


#删除对象的成员
del e.name

#删除变量
del e

5、内置属性

#内置属性判断
print hasattr(e , "age")
print hasattr(e , "name")
print getattr(e , "age")
setattr(e , "age" , 40)
print getattr(e , "age")
print getattr(e , "name" , "nobody")
delattr(e, "age")
print hasattr(e , "age")

#访问类的属性
#__dict__访问类的成员
d = Emp.__dict__
print  d

#访问类名
print Emp.__name__

#所有父类构成的元组
print Emp.__bases__

6、多重继承

class Horse:
    #__开头的方法时私有方法
    def __run(self):
        print "runing~~~"

    def eat(self):
        print "eating..."

    def __init__(self , name):
        self.name = name

class Donkey:
    money = 100
    def __init__(self ,age):
        self.age = age

#多重继承
class Luozi(Horse , Donkey):
    def eat(self):
        print "WWWWWWWWWWW"
    def __init__(self):
        #显式调用父类构造函数
        Horse.__init__(self , "tom")
        Donkey.__init__(self ,12)

l1 = Luozi()
print l1.eat()

Python面向对象

标签:面向对象   setattr   ati   name   attr   ...   直接   run   实例变量   

原文地址:https://www.cnblogs.com/xupccc/p/9543932.html


评论


亲,登录后才可以留言!