继续面向对象 学习内容

#周五 唉
dic={ ‘001’:{‘name’:‘张三’,‘age’: 18 ,‘num’:‘001’},
‘002’:{‘name’:‘张二’,‘age’: 28 ,‘num’:‘002’}}
class FileAction():
@staticmethod
def writedata():
f=open(‘data.txt’,‘w’)
for k,v in dic.items():
for k1,v1 in v.items():#解析出第一层字典 001:{‘name’:‘张三’,‘age’:18,‘num’:‘001’}
f.write((k1+’:’+str(v1)))#解析出第二层字典 name:张三,age:18,num:001
if k1==‘num’:
f.write(’\n’)
else:
f.write(’,’)
f.close()

@staticmethod
def readdata():
    f=open('data.txt','r')
    line=f.readline()
    dzd={}#定义一个大字典
    while len(line)>0:
        a=line.strip().split(',')#读每行,并删除空格和\n,并以,为界 隔开每项
        zd={}#每行定义第二层字典
        for b in a:
            s=b.split(':')#把每项例如name:张三,切出键值对,例如name和张三
            if s[0]=='age':# 如果是年龄 转换成整形
                zd[s[0]]=int(s[1])
            else:
                zd[s[0]]=s[1]
            if s[0]=='num':#如果是num 让其值成为第一层的键
                dzd[s[1]]=zd
        line=f.readline()
    print(dzd)
    f.close()

x=FileAction()
x.writedata()
x.readdata()

class People():
def init(self,name,age,work,salary):
self.name=name
self.age=age
self.work=work
self.salary=salary
self.__energy=100
def eat(self,money):
self.__energy=self.energy+10 if self.>90 else 100
self.salary-=money
def working(self):
People.tax+=self.salary*0.2
self.__energy=self.__energy-30 if self.__energy>30 else 0
def sleep(self):
self.__energy=self.__energy+60 if self.__energy<40 else 100
def say(self):
print(self.name,self.age,self.salary)
def get_energy(self):
return self.__energy
class Woman(People):
def shopping(self,money):
self.salary-=money
class Man(People):
def say(self):
super().say()
print(‘笑话’)
one=Man(‘张三’,18,‘开发’,18000)
one.say()
w=Woman(‘ls’,23,‘开发’,12000)
w.shopping(10000)
w.say()

class Paint():
def PaintStar(self):
i=1
while i<6:
j=1
while j<=5-i:
print(" “,end=”")
j+=1
j=1
while j<=2i-1:
print("
",end="")
j+=1
print()
i+=1
p=Paint()
p.PaintStar()

class PaintStar():
def paint(self):
i=1
while i<6:
j=1
while j<=5-i:
print(" “,end=”")
j+=1
j=1
while j<2i-1:
if j1 or j2
i-1 or i==5:
print("*",end="")
else:
print(" “,end=”")
j+=1
print()
i+=1
p=PaintStar()
p.paint()

a={ ‘001’:{‘name’:‘张三’,‘age’:18,‘adress’:‘北京’},
‘002’:{‘name’:‘张二’,‘age’:28,‘adress’:‘上海’},
‘003’:{‘name’:‘张大’,‘age’:38,‘adress’:‘北京’},
‘004’:{‘name’:‘张四’,‘age’:28,‘adress’:‘上海’},
‘005’:{‘name’:‘张六’,‘age’:38,‘adress’:‘北京’}
}
class StudentAdmin():
@staticmethod
def write():
f=open(“z.txt”,“w”)
f.write(str(a))
f.close()
@staticmethod
def read():
f=open(“z.txt”,“r”)
c=f.read()
f.close()
return eval©
a=StudentAdmin.read()
while True:
bh=int(input(“请输入编号”))
if bh == 1:
xh=int(input(“请输入学号”))
if xh in a.keys():
print(“学号重复”)
continue
else:
zd={}
zd[‘name’]=input(“请输入姓名”)
zd[‘age’]=int(input(“请输入年龄”))
zd[‘address’]=input(“请输入地址”)
a[xh]=zd
print(a)
print(“增加”)
elif bh2:
xh=int(input(“请输入学号”))
if xh not in a.keys():
print(“查无此人”)
continue
else:
print(“要删除的人是”,a[xh])
del a[xh]
print(a)
print(“删除”)
elif bh
3:
xh=int(input(“请输入要修改的学号”))
if xh not in a.keys():
print(“查无此人”)
continue
else:
a[xh][‘name’]=input(“请输入姓名”)
a[xh][‘age’]=int(input(“请输入年龄”))
a[xh][‘address’]=input(“请输入地址”)
print(a)
print(“修改”)
elif bh4:
xh=int(input(“请输入学号”))
if xh not in a:
print(“查无此人”)
continue
else:
print(a[xh])
print(“查找”)
elif bh
5:
StudentAdmin.write()
break#exit(0) break 跳出循环 exit 结束循环 程序结束 把添加修改后的值写入文件里面

class A():
count=0
def init(self,name):
self.name=name
A.count+=1
def del(self):
A.count-=1
print(“删除”,self.name,“还剩%d个对象”%A.count)
a=A(“张三”)
b=A(“李四”)
del a
del b
class A():
count=0
def init(self,name):
self.name=name
A.count+=1
def del(self):
A.count-=1
print(“删除”,self.name,“还剩%d个对象”,A.count)
a=A(“张三”)
b=A(“李四”)
del a
del b

class Num():
def init(self,n):
self.n=n
def add(self, other):
return self.n+other.n
a=Num(5)
b=Num(6)
d=a+b
print(d)

class Num():
def init(self,n):
self.n=n
def add(self, other):
return self.n+other.n
def call(self, *args, *kwargs):
result=self.n
for i in args:
result
=i
for k,v in kwargs.items():
result+=v
return result
a=Num(5)
c=a(1,2,3,age=15,shengao=5)
print©

class Car():
obj=’’
cc=’’
def new(cls, *args, **kwargs):
print(“我在这”)
return object.new(Car)
def init(self,name,cid):
print(“你好”)
self.name=name
self.cid=cid
byd=Car(“唐”,324)
print(hasattr(Car,‘obj’))
print(hasattr(Car,‘cc’))

class Car():
def new(cls, *args, **kwargs):
if not hasattr(Car,‘inst’):#如果Car里面没有inst属性
Car.inst=object.new(Car)#建立一个Car对象,给inst属性
return Car.inst
def init(self,name,cid):
print(“你好”)
self.name=name
self.cid=cid
a=Car(“mbh”,“jing11111”)
b=Car(“knsk”,“jing00000”)
print(a is b)
print(a)
print(b)

猜你喜欢

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