第一次
‘’’
定义一个动物类
class animal(object):
color="yellow"#属性
#方法
def eat(self,food):
print("吃",food)
def sleep(self):
print("睡")
dog=animal()
dog.eat("骨头")
cat=animal()
cat.eat("鱼")
‘’’
“”"
1.在python3中,类可以写括号,因为它默认继承object
2.所有的方法加了一个self
self是类的实例,并不是一个类
self和Java中的this一样,你可以使用this
但是在python中约定俗成的就是self
“”"
class person:
#初始化 类似Java中的构造函数
def __init__(self,name,age,sex,phone,idCar):
self.name=name
self.age=age
self.sex=sex
self.phone=phone
self.idCar=idCar
def show(self):#展示
print(self.name,self.age,self.sex,self.phone,self.idCar)
初始化创建对象
#p=person("张三",18,"男","1111111","1111")
#p.show() #张三 18 男 1111111 1111
class student(person):
重写
def __init__(self, name,age,sex,phone,idCar,hobbit):
调用父类中的初始化方法
super().__init__(name,age,sex,phone,idCar)
self.hobbit=hobbit
def show(self):#重写
super().show()#父类中的show
print("学生类中的show方法")
#s=student("张三",18,"男","111","222","好色,怕鬼,爱看腿")
#print(s.name)
#print(s.hobbit)
#s.show()
“”"
1.重写:(1)两个类有继承关系(2)方法名一样
2.__init__方法也会继承过来,所以定义对象的时候,要写参数
3.调用父类中的属性和方法使用super()
4.重写__init__方法时要记得传参
“”"
属性和方法
“”"
静态属性:直接写在类里面的是静态属性
动态属性:写在初始化里面的是动态属性,因为他可以改变
静态方法:staticmethod
普通方法:
公有:公共的
私有:不允许外部访问的,私有的
“”"
“”"
公有静态属性:1.派生类访问 2.类内部访问 3.类直接访问
私有静态属性 只有类内部可以访问
公有动态属性
私有动态属性
公有静态方法
私有静态方法
公有普通方法
私有普通方法
“”"
‘’’
class person():
tz="直立行走"#静态属性
__wc="厕所"#私有的
def __init__(self,name):
self.name=name#动态属性
def eat(self):#普通方法
print("吃饭")
@staticmethod
def tianxing(self):#静态方法
print("自私")
‘’’
class person():
tz="直立行走"#公有动态属性
__money="私房钱"#私有静态属性
def pShow(self):#类内部访问
#print(self.tz)
print(self.__money)
class student(person):
def sShow(self):#派生类访问
#print(self.tz)
print(self.__money)
‘’’
派生类访问---->成功
s=student()
s.sShow()
类内部访问----->成功
p=person()
s.pShow()
类直接访问---->成功
print(person.tz)
‘’’
派生类访问---->失败
s=student()
#s.sShow()
#AttributeError: type object 'person' has no attribute '__money'
类内部访问----->成功
p=person()
s.pShow()
类直接访问---->失败
#print(person.__money)
#AttributeError: type object 'person' has no attribute '__money'
第二次
class person():
def __init__(self,name,idCar):
self.name=name#公有动态属性
self.__idCar=idCar#私有动态属性
def pShow(self):#类内部访问
#print(self.name)
print(self.__idCar)
class student(person):
def sShow(self):#派生类访问
#print(self.name)
print(self.__idCar)
‘’’
派生类访问---->成功
s=student("张三")
s.sShow()
类内部访问—>成功
p=person("李四")
p.pShow()
对象访问—>成功
print(p.name)
‘’’
派生类访问---->失败
s=student("张三","123456789098765432")
#s.sShow()
类内部访问—>成功
p=person("李四","9995959595")
p.pShow()
对象访问—>失败
#print(p.__idCar)
第三次
‘’’
class person():
def eat(self):#公有普通方法
print("吃饭")
def pShow(self):#类内部访问
self.eat()
class student(person):
def sShow(self):#派生类访问
self.eat()
派生类访问---->成功
s=student()
s.sShow()
类内部访问---->成功
p=person()
p.pShow()
对象访问---->成功
p.eat()
‘’’
class person():
def eat(self):#公有普通方法
print("吃饭")
def __shouji(self):
print("手机是私有的")#私有普通方法
def pShow(self):#类内部访问
self.__shouji()
class student(person):
def sShow(self):#派生类访问
self.__shouji()
派生类访问---->失败
s=student()
#s.sShow()
#AttributeError: 'student' object has no attribute '_student__shouji'
类内部访问---->成功
p=person()
p.pShow()
对象访问---->失败
p.__shouji()
#AttributeError: 'student' object has no attribute '_student__shouji'
第四次
‘’’
class person():
@staticmethod
def xz():#公有静态方法
print("真诚的心")
def pShow(self):#类内部访问
self.xz()
class student(person):
def sShow(self):#派生类访问
self.xz()
派生类访问—>成功
s = student()
s.sShow()
类内部访问---->成功
p=person()
p.pShow()
类直接访问----->成功
person.xz()
‘’’
class person():
@staticmethod
def __xz():#私有静态方法
print("真诚的心")
def pShow(self):#类内部访问
self.__xz()
class student(person):
def sShow(self):#派生类访问
self.__xz()
派生类访问---->失败
s = student()
#s.sShow()
#AttributeError: 'student' object has no attribute '_student__xz'
类内部访问----->成功
p=person()
p.pShow()
类直接访问---->失败
#person.__xz()
#AttributeError: 'student' object has no attribute '_student__xz'
第五次
封装
class person():
#属性:名字,性别,身高,体重
def __init__(self,name,sex,hight,weight):
self,__name=name
self,__sex=sex
self,__hight=hight
self,__weight=weight
#方法:吃饭,睡觉
def eat(self):
print("吃饭")
def sleep(self):
print("睡觉")
def show(self):
print(self.__name,self.__sex)
第六次
创建学生类
class student():
def __init__(self,name,age,Class,hobbit):
self.name=name
self.age=age
self.Class=Class
self.hobbit=hobbit
def show(self):#展示
print(self.name)
print("年龄:%d"%(self.age))
print("就读于:%s"%(self.Class))
print("爱好:%s"%(self.hobbit))
#测试调用
#s=student("张浩",18,"大数据二班","看书")
#s.show()
创建老师类
class teacher():
def __init__(self,name,jl,kc,zy):
self.a=name
self.b=jl
self.c=kc
self.d=zy
def show(self):
print(self.a)
print("教龄:%d"%(self.b))
print("课程:%s"%(self.c))
print("专业:%s"%(self.d))
#t=teacher("王老师",1,"python基础","大数据专业")
#t.show()
‘’’
创建密码类
class id():
def __init__(self,yh,mm):
self.yh=yh
self.mm=mm
def show(self):
print("请输入用户名:%s"%(self.yh))
print("请输入密码:%d"%(self.mm))
i=id("admin1",111111)
i.show()
if id("admin1",111111):
print("请输入新密码:%d"%(123456))
print("修改密码成功,您的新密码为:123456")
else:
print("请输入用户名:%s"%("admin"))
print("请输入密码:%d"%(123456))
print("用户名和密码不匹配!您没有权限更新管理员信息。")
‘’’
class yhmmgl():#用户密码管理类
"""
用户名:自己的名字
密码:手动输入(123456)
初始化
"""
def __init__(self,name,passwd):
self.name=name
self.passwd=passwd
"""
判断是否登录成功
"""
def login(self,loginName,loginPwd):
if self.name == loginName and self.passwd == loginPwd:
print("恭喜你登录成功")
return True
else:
print("登录失败")
return False
"""
修改密码
"""
def updataPwd(self,newPwd):
self.passwd = newPwd
"""
展示用户名和密码(新)
"""
def show(self):
print("用户名:%s"%self.name)
print("密码:%s"%self.passwd)
测试
zhangsan=yhmmgl("root","123456")
denglvName=input("请输入登录用户名:")
denglvPwd=input("请输入登录密码:")
a=zhangsan.login(denglvName,denglvPwd)
#print(a) 如果a是ture,就证明登录成功,可以修改密码
if(a):
newPwd=input("请输入新密码:")
zhangsan.updataPwd(newPwd)
#打印用户名和密码
zhangsan.show()
else:
print("张三没有登录成功,没办法修改密码")
第七次
‘’’
class Bicycle():
def __init__(self,run,lc):
self.run=run
self.lc=lc
def show(self):
print("骑行:%s"%self.run)
print("骑行了%s"%self.lc+"km")
b=Bicycle("花式骑行","100")
b.show()
‘’’
‘’’
自行车类
class bickle():#自行车类
def run(self,fz):
licheng = fz * 18/60
print("您骑行%d分钟,一共骑行%d公里"%(fz,licheng))
b=bickle()
b.run(8)
‘’’
CUP类:属性(brand品牌,)
class cpu():
def __init__(self,brand,core,interface):
self.brand=brand
self.core=core
self.interface=interface
class ram():
def __init__(self,brand,size):
self.brand=brand
self.size=size
class disk():
def __init__(self,brand,size):
self.brand=brand
self.size=size
class computer():
count_cpu=0 #主板上没有cpu
count_ram=1 #新买电脑的内存条(根)
count_disk=1 #新电脑有一个盘
def add_cpu(self,cpu,jiekou):
if cpu.interface == jiekou:
print("接口一致,添加cpu")
self.count_cpu +=1
else:
print("接口不一致,不能添加cpu")
def add_ram(self,ram):
if ram.size >16:
print("内存够用,不用添加")
self.count_cpu +=1
else:
print("内存不够用,添加内存")
self.count_ram +=1
def add_disk(self,disk):
if disk.size > 1: #证明有一个C盘
print("硬盘够用,不用添加")
else:
self.count_disk +=1
print("硬盘不够用,添加硬盘")
def run(self):
if self.count_cpu >=1 and self.count_disk >=1 and self.count_ram>=1:
print("电脑成功运行")
else:
print("电脑不能运行")
测试
c=computer()
c_cpu=cpu("因特尔",8,"主板")
c.add_cpu(c_cpu,"主板")
c_ram=ram("因特尔",32)
c.add_ram (c_ram)