面向对象

继承 封装 多态
try:#尝试运行程序
f=open(‘a.txt’,‘w’)
f.read()
except:# try except 捕捉异常 并输出异常原因
print(2)
else:#如果没有异常 则输出else的结果
print(3)
finally:#不管怎么样最后都要运行finally里面的程序
print(4)
f.close()

try:
raise IndexError(“我出错啦”)#主动报错
except IndexError as f:
print(f)

class A():
def hehe(self):
print(self.name)
def init(self,name):
self.name=name
a=A(‘张三’)
a.hehe()

class A():
money=1000000000000000
def init(self,name):
self.name=name
@classmethod
def ClsM(cls):
print(cls.money)
print(A.money)
a=A(‘大象’)
a.ClsM()
A.ClsM()
print(a.name)

class A():
def new(cls, *args, **kwargs):
if not hasattr(A,‘xiaogou’):
cls.xiaogou=object.new(cls)
return cls.xiaogou
def init(self,name):
self.name=name
a=A(‘呵呵’)
b=A(‘嘿嘿’)
c=A(‘哈哈’)
print(abc)
print(a is b is c)

class Dog():
def jiao(self):
print(‘旺旺’)
class Pig():
def jiao(self):
print(‘哼哼’)
def jiao(x):
x.jiao()
a=Dog()
b=Pig()
a.jiao()
b.jiao()

import time
print(time.time())

import time
#a=‘2019-03-04 14:34:23’
a=input(‘请输入时间’)
b=time.strptime(a,’%Y-%m-%d %X’)
while True:
c=time.mktime(b)
d=time.time()
e=int(c+7246060-d)
day=e//(3600
24)
hour=e%(360024)//3600
min=e%(3600
24)%3600//60
sec=e%60
print(day,‘天’,hour,‘小时’,min,‘分’,sec,‘秒’)
time.sleep(1)

import time
a=input(“请输入时间”)
b=time.strptime(a,’%Y-%m-%d %X’)
while True:
c=time.mktime(b)
d=time.localtime()
m=time.mktime(d)
e=int(c+(7246060)-m)
day=e//(24
3600)
hour=e%(243600)//3600
min=e%(24
3600)%3600//60
sec=e%60
print(day,‘天’,hour,‘小时’,min,‘分钟’,sec,‘秒’)
time.sleep(1)

import time
a=input(“请输入时间”)
b=time.strptime(a,’%Y-%m-%d %X’)
while True:
c=time.mktime(b)
d=time.localtime()
e=time.mktime(d)
f=int((c+7246060)-e)
day=f//(24
3600)
hour=f%(243600)//3600
min=f%(24
3600)%3600//60
sec=f%60
print(day, ‘天’, hour, ‘小时’, min, ‘分钟’, sec, ‘秒’)
time.sleep(1)

a=int(input(‘请输入第一个正整数’))
b=int(input(‘请输入第二个正整数’))
if a>b:
a,b=b,a
sum=0
z=[]
z3=[]
count=0
for i in range(a,b+1):
if i<2:
print(i,‘不是质数’)
continue
for j in range(2,i):
if i%j0:
print(i,‘不是质数’)
break
else:
print(i,‘是质数’)
z.append(i)
sum+=1
if i%10
3:
z3.append(i)
count+=1
print(z)
print(sum)
print(z3)
print(count)

a=int(input(‘请输入第一个正整数’))
b=int(input(‘请输入第二个正整数’))
if a>b:
a,b=b,a
sum=0
z=[]
z3=[]
count=0
for i in range(a,b+1):
if i<2:
print(i,‘不是质数’)
continue
for j in range(2,i):
if i%j0:
print(i,‘不是质数’)
break
else:
print(i,‘是质数’)
z.append(i)
sum+=i
if i%10
3:
z3.append(i)
count += 1

print(z)
print(sum)
print(z3)
print(count)

a=int(input(‘请输入第一个正整数’))
b=int(input(‘请输入第二个正整数’))
if a>b:
a,b=b,a
sum=0
z=[]
z3=[]
count=0
for i in range(a,b+1):
if i<2:
print(i,‘不是质数’)
continue
for j in range(2,i):
if i%j0:
print(i,‘不是质数’)
break
else:
print(i,‘是质数’)
sum+=i
z.append(i)
if i%10
3:
z3.append(i)
count+=1
print(z)
print(sum)
print(z3)
print(count)

a=[
{‘name’:‘张三’,‘age’: 18,‘address’:‘北京’,‘num’:‘001’},
{‘name’:‘张二’,‘age’: 48,‘address’:‘上海’,‘num’:‘002’},
{‘name’:‘张大’,‘age’: 38,‘address’:‘山东’,‘num’:‘003’}
]
class StudentAdmin():
@staticmethod
def writedata():
f=open(‘data.txt’,‘w’)
f.write(str(a))
f.close()
@staticmethod
def readdata():
f=open(‘data.txt’,‘r’)
a=eval(f.read())
print(a)
f.close()
StudentAdmin.writedata()
StudentAdmin.readdata()
while True:
caozuo=int(input(’-----\n增 请输入1\n 删 请输入2\n 改 请输入3\n 查 请输入4\n关机 请输入0\n-------\n 请输入操作:’))
if caozuo1:
stuNum=int(input(‘请输入学号’))
i=0
while i<len(a):
if stuNum
a[i][‘num’]:
print(‘学号已存在’)
break
i+=1
else:
zd={}
zd[‘name’]=input(‘姓名’)
zd[‘age’]=int(input(‘年龄’))
zd[‘address’]=input(‘地址’)
zd[‘num’]=stuNum
a.append(zd)
elif caozuo2:
stuNum=int(input(‘请输入学号’))
i=0
while i<len(a):
if stuNum
a[i][‘num’]:
del a[i]
break
i+=1
else:
print(‘学号不存在’)
elif caozuo3:
stuNum=int(input(“请输入学号”))
i=0
while i<len(a):
if stuNum
a[i][‘num’]:
a[i][‘name’]=input(‘姓名’)
a[i][‘age’]=int(input(‘年龄’))
a[i][‘address’]=input(‘地址’)
break
i+=1
else:
print(‘学号不存在’)
elif caozuo4:
stuNum=int(input(‘请输入学号’))
i=0
while i<len(a):
if stuNum
a[i][‘num’]:
print(a[i])
break
i+=1
else:
print(‘学号不存在’)
elif caozuo==0:
print(’----关机,拜拜了你呢’)
exit(0)
else:
print(‘请按提示输入操作对应数字’)

#生成器
def fbnq(n):
if n1 or n2:
return 1
else:
return fbnq(n-1)+fbnq(n-2)
for i in range(1,13):
print(‘第%d个月的兔子数是’%i,fbnq(i))
‘’’
a=[1,2,3,4]
b=‘abcd’
c=zip(b,a)
print©
for x in c:
print(x)

a=[1,2]
b=‘abcd’
c=zip(a,b)#压缩函数 以最短的集合作为长度标准 一一对应压缩为元祖 长集合中多余的元素舍弃
print©
for x in c:
print(x)

def deal(a):
return a*a
b=[1,2,3,4]
c=map(deal,b)#映射函数 把b中的值按照deal函数 一一映射输出
print©
for x in c:
print(x)

a=[{‘name’:‘张三’,‘age’:19},
{‘name’: ‘张4’, ‘age’: 29},
{‘name’: ‘张5’, ‘age’: 39}]
def maxAge(a):
return a[‘age’]
d=max(a,key=maxAge)#以年龄作为参照
print(d)

a=[1,3,56,4,-4,-65]
a.sort(key=abs)#按照绝对值大小排序
print(a)

def dex(a):
return a%2==1#返回的是True 和 Flase
b=[1,2,3,4,5]
c=filter(dex,b)#过滤函数 过滤掉不符合函数条件的值 即保留True 过滤Flase
print©
for x in c:
print(x)

#工厂模式
class BMW():
def init(self,name):
self.name=name
class Benz():
def init(self,name):
self.name=name

class CarFactory():
@staticmethod
def makecar(name):
if name==‘宝马’:
return BMW(name)
elif name==‘奔驰’:
return Benz(name)
car=CarFactory.makecar(‘宝马’)#car 是最终返回的类的对象
print(car.name,type(car))
car2=CarFactory.makecar(‘奔驰’)
print(car2.name,type(car2))

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值