多态
class Dog():
def jiao(self):
print("旺旺")
class Cat():
def jiao(self):
print("喵喵")
class Pig():
def jiao(self):
print("哼哼")
def hanshu(x):
x.jiao()
d = Dog()
c = Cat()
p = Pig()
hanshu(d)
hanshu(c)
hanshu(p)
结果为:
装饰器
def zsq(f):
def hans(name):
print("*"*17)
f(name)
print("*"*17)
return hans
@zsq
def ych(name):
print(name,"的演唱会")
ych("周杰伦")
结果为:
写一个类,类中包含一个方法,输入两个数,求这两个数之间所有素数,并且 求出,
这些素数中,十位数和个位数相加,最小的那个数。
class Su():
@staticmethod
def zhisu(x,y):
a=[]
for s in range(x, y+1):
if s <= 1:
print()
else:
i = 2
while i < s:
if s % i == 0:
break
i = i + 1
else:
print(s)
a.append(s)
if len(a)==0:
print("没有质数")
return
kx = a[0]
he = a[0]%10+a[0]//10%10
i = 0
while i<len(a):
if a[i]%10+a[i]//10%10<he:
he = a[i]%10+a[i]//10%10
kx = a[i]
i = i+1
print("和最小为:",kx)
x = int(input("请输入第一个数:"))
y = int(input("请输入第二个数:"))
Su.zhisu(x,y)
结果为:
写一个程序,体现变量作用域查找顺序
a = 10
b = 20
c = 30
def waibu():
a = 100
b = 200
def neibu():
a = 1000
print(a)
print(b)
print(c)
print(__name__)
neibu()
waibu()
结果为:
控制字符串个数,超出自动舍去
class Student():
@property
def name(self): #获取
print("我在这儿!!!!!")
return self._name+"abc"
@name.setter
def name(self,x): #设置方法
if len(x)>5:
print("你是一个好人!")
self._name=x[:6] #控制字符串个数为6,超过6个舍去
else:
self._name=x
zs = Student()
zs.name="1234567"
print(zs.name)
结果为:
输入分数、只取0~100之间
class fenshu():
@property
def score(self):
return self._score
@score.setter
def score(self,sc):
if sc < 0:
self._score=0
elif sc > 100:
self._score=100
else:
self._score=sc
zs = fenshu()
zs.score=120
print(zs.score)
zs.score=-2
print(zs.score)
zs.score=88
print(zs.score)
结果为:100 0 88
下标越界错误
a = [1,2]
try : #try尝试、把容易出错的代码放在try
print(a[2])
except IndexError as e: #当有错误的时候捕捉到异常,进行处理
print(e,"45678")
print(a[0])
结果为:
迭代异常
a = [1,2,3]
b = iter(a)
while True:
try:
print(next(b))
except StopIteration as e:
print(e)
break
结果为:1 2 3
异常优先
a = [1,2,3,4]
try: #try中代码没有出错时,会输出代码的结果
print(a[4])
except (IndexError,ZeroDivisionError) as e:
print(1)
else:
print(2)
finally: #最终
print(3)
print(4)
结果为:
错误捕捉通用
a = [1,2,3,4]
try: #尝试捕捉错误
print(a[1])
print(a[4])
except: #反应任何错误
print("出错了")
结果为:
加入错误
class Beauti(Exception):
def __init__(self,msg):
self.msg=msg
def __str__(self):
return "你好" +str(self.msg)
try:
raise Beauti("你长得太丑了")
except Beauti as e:
print(str(e))
结果为:
导入时间函数
import time
# print(time.time())
# print(time.localtime(time.time()))
b = time.strftime("%Y-%m-%d %H:%M:%S",time.localtime())
print(b,type(b))
结果为: