学习python第八天

124 阅读2分钟

本文参加 [新人创作礼] 活动,一起开启掘金创作之路

class user:#类的变量
    '测试组全部员工'
    password = 0
    def __init__(self,name,age):
        self.name = name
        self.age = age
        user.password += 1
    def ectrrser(self):
        print('to user %d'% user.password)
    def ectrrseran(self):#类变量
        print('name',self.name,'age',self.name)

cd1 = user('ak',800)#第一个类
cd2 = user('eq',900)#第二个类
cd1.ectrrseran()#用来访问对象的属性。使用类的名称来访问类变量
cd2.ectrrseran()
print('to user %d' % user.password)


#内置类的属性
class username:
    '所有的朋友'
    aker = 0
    def __init__(self,name,age):
        self.name = name
        self.age = age
 #       self.attribute = attribute
        username.aker += 1
    def display(self):
        print('To username %d'% username.aker)
    def displayed(self):
        print('name',self.name,'age',self.age)

print( 'username.__doc__:',username.__doc__)#__doc__:类的文档字符串
print( "username.__name__:",username.__name__)#__name__:类的名称
print( "username.__module__:",username.__module__)#__module__:类的定义所在的模块(类的全名是“__main__.className”,如果类位于一个导入模块mymod中,那么className.__module__等与mymod)

print("username.__bases__:",username.__bases__)#__bases__:类的所有夫类构成元素(包含了一个由多有服类组成的元组)
print("username.__dict__:",username.__dict__)#__dict__:类的属性(包括一个字典,由类的数据属性组成)


#数据回收
class point:
    "数据收集器"
    def __init__(self,x=1,y=2):
        self.x=x
        self.y=y
    def __del__(self):#构成函数 __del__.__del__在对象销毁的时候被调用,当对象不在被使用是。__del__方法运行
        class_name = self.__class__.__name__
        print(class_name,"回收")
ak1 = point()#声明变量取值
ak2 = ak1
ak3 = ak1
print(id(ak1),id(ak2),id(ak3))#声明回收的对象
del ak1#回收对象ak1
del ak2
del ak3
class zk(object):#父项
    def __init__(self, name):
        self.name = name
        print("name:%s" %( self.name))
    def getName(self):
        return 'Father' + self.name
class Son(zk):#子项
    def getMame(self):
        return 'son'+self.name

if __name__== '__main__':
    son =Son('runoob')
    print(son.getMame())

#如果重写了__init__时,实例化子类,就不会调用夫类已经定义__init__,语法格式如下
class Father(object):#父项
    def __init__(self, name):
        self.name = name
        print("name: %s" % (self.name))

    def getName(self):
        return 'Father ' + self.name


class Son(Father):#子项
    def __init__(self, name):
        print("自动化开始")
        self.name = name

    def getName(self):
        return 'Son ' + self.name


if __name__ == '__main__':
    son = Son('runoob')
    print(son.getName())



class father:#定义夫夫类
    jdk=150
    def __init__(self):
        print('调用父类构造函数')
    def zxc(self):
        print('调用父类方法')
    def qwe(self,name):
        self.name=name
    def asd(self):
        print('父类属性:',self.name)
class son(father):
    def __init__(self):
        print('调用子类构造方法')
    def sonmed(self):
        print('调用子类方法')

a = son()#实例化子类
a.sonmed()#调用子类的方法
a.zxc()#调用夫类的方法
a.qwe(500)#再次调用夫类的方法——————设置属性值
a.asd()#再次调用符类的方法————————获取属性值

这个主要是针对面向对象的练习