面向对象 学习内容

#周四 继续难难难
class Student():
count=0
def init(self,name,age):
self.name=name
self.age=age
self.mm=“MM”
Student.count+=1
zs=Student(“张三”,13)
ls=Student(“李四”,20)
print(zs.name,zs.age,zs.mm)
print(ls.name,ls.age)
print(Student.count)

class Student():
count=0
def init(self,name,age,address):
self.name=name
self.age=age
self.address=address
Student.count+=1
def pt(self):
print(self.name,self.age,self.address)
zs=Student(“张三”,18,“北京”)
q={“name”:zs.name,“age”:zs.age,“address”:zs.address}
f=open(‘m.txt’,‘w’)
f.write(str(Student.count))
f.write(’:’)
f.write(str(q))
f.write("\n")
zr=Student(“张二”,28,“上海”)
w={“name”:zr.name,“age”:zr.age,“address”:zr.address}
f.write(str(Student.count))
f.write(’:’)
f.write(str(w))
f.write("\n")
zd=Student(“张大”,38,“北京”)
e={“name”:zd.name,“age”:zd.age,“address”:zd.address}
f.write(str(Student.count))
f.write(’:’)
f.write(str(e))
f.close()
f=open(‘m.txt’,‘r’)
line=f.readline()#读一行
obj=[]#定义一个列表,用来存放每一行的学生对象
while len(line)>0:
zd=eval(line[2:].strip(’\n’))#此次如果是2:-1 那么最后一行没有\n的,被切掉最后一个字符号导致数据不完整
print(zd)
x=Student(zd[‘name’],zd[‘age’],“中国”+zd[‘address’])
obj.append(x)
line=f.readline()
f.close()
for x in obj:
x.pt()

class Student():
count=0
def init(self,name,age,address):
self.name=name
self.age=age
self.address=address
Student.count+=1
def pt(self):
print(self.name,self.age,self.address)
zs=Student(“张三”,18,“北京”)
q={“name”:zs.name,“age”:zs.age,“address”:zs.address}
f=open(‘m.txt’,‘w’)
f.write(str(Student.count))
f.write(’:’)
f.write(str(q))
f.write("\n")
zr=Student(“张二”,28,“上海”)
w={“name”:zr.name,“age”:zr.age,“address”:zr.address}
f.write(str(Student.count))
f.write(’:’)
f.write(str(w))
f.write("\n")
zd=Student(“张大”,38,“北京”)
e={“name”:zd.name,“age”:zd.age,“address”:zd.address}
f.write(str(Student.count))
f.write(’:’)
f.write(str(e))
f.close()
f=open(‘m.txt’,‘r’)
line=f.read()

class People():
def init(self,name,age,sex,__yan):
self.name=name
self.age=age
self.sex=sex
self.__yan=__yan
def say(self):
print(self.name,“大家好”,“我今年%d岁了”%self.age,self.__yan)
class Student(People):
def init(self,name,age,sex,score,__yan):
super().init(name,age,sex,__yan)
self.score=score
def haha(self):
print(self.name,“我考了%d分”%self.score)
zs=Student(“张三”,18,“男”,110,2.0)
zs.say()
zs.haha()
print(zs.name)
ls=People(“李四”,23,“男”,3.0)
print(ls.__yan)

class A():
def AA(self):
print(“aa”)
class B():
def BB(self):
print(“bb”)
class C(A,B):
def CC(self):
print(“cc”)
x=C()
x.AA()
x.BB()
x.CC()

class A():
def AB(self):
print(“aa”)
class B():
def AB(self):
print(“bb”)
class C(A,B):#如果继承的对象名相同,则只调用第一个继承的
def CC(self):
print(“cc”)
x=C()
x.AB()

class People():
def say(self):
print(“举个栗子”)
class Student(People):
def say(self):
super().say()
print(“呵呵”)
s=Student()
s.say()

class A():
def init(self):
print(“A开始”)
print(“A结束”)
class B(A):
def init(self):
print(“B开始”)
super().init()
print(“B结束”)
class C(A):
def init(self):
print(“C开始”)
super().init()
print(“C结束”)
class D(B,C):
def init(self):
print(“D开始”)
super().init()
print(“D结束”)
s=D()

class Dog():
def jiao(self):
print(“旺旺”)
class Cat():
def jiao(self):
print(“喵喵”)
class Pig():
def jiao(self):
print(“哼哼”)
def jiaox(o):
o.jiao()
d=Dog()
c=Cat()
p=Pig()

jiaox(d)
jiaox©
jiaox§

class People():
def init(self,age,name,sex):
self.__age=age
self.name=name
self.sex=sex
def __sayAge(self):
print(self.__age,“岁”)
def hehe(self):
print(self.name)
self.__sayAge()
zs=People(18,“张三”,“男”)
zs.hehe()
zs.__sayAge()#私有属性不能调用

扫描二维码关注公众号,回复: 5527631 查看本文章

class A():
x=10
class B(A):
pass
class C(A):
pass
print(A.x)
print(B.x)
print(C.x)

B.x=12
print(A.x)
print(B.x)
print(C.x)

class A():
slots = (“name”,‘age’,‘sex’,‘ok’,‘address’)
def init(self,name,age,sex):
self.name=name
self.age=age
self.sex=sex
x=A(“张三”,34,“男”)
print(x.name)

class A():
def init(self):
pass
@property#修饰下面的方法 修饰的函数被当做属性使用
def name(self):#get方法 获取值
return self.name1#返回跟函数名字不一样的属性
@name.setter#name的设置方法 此属性可以用属性名=来启动此方法
def name(self,name2):#set 设置值
print(“进来了”)
self.name1=name2#简单的赋值语句
def aaa(self):
self.name=22#此处启动了name.setter修饰的name方法
x=A()
x.aaa()
print(x.name)#此处启动了@property修饰的name的获取方法

class DealData():
@property
def data(self):
return self.data1
@data.setter
def data(self,data2):
# if len(data2)!=7:
# self.data=data2.replace(’-’,’-0’)
# else:
# self.data=data2
ls=data2.split(’-’)
if len(ls[1])!=2:
self.data1=ls[0]+’-0’+ls[1]+’-’+ls[2]
else:
self.data1=data2
d=DealData()
d.data=‘2019-2-28’
print(d.data)

猜你喜欢

转载自blog.csdn.net/weixin_44675366/article/details/88542526