#周五 唉
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 j2i-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 bh3:
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 bh5:
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)