class People(object):
def __init__(self,name,age,sex):
self.__name=name
self.__age=age
self.__sex=sex
def printfInfo(self):
print(self.__name,self.__age,self.__sex)
def Getname(self):
return self.__name
def ChangeName(self,name):
self.__name=name
def __getattr__(self, attr):
if attr=='age':
return lambda: 25
raise AttributeError('\'Student\' object has no attribute \'%s\'' % attr)
def __call__(self):
print('My name is %s.' % self.name)
class Animal(object):
def Say(self):
print("I am a Animal")
class Tiger(Animal):
def Say(self):
print("I am a tiger ")
class Lins(Animal):
def Say(self):
print ("I am a lins")
class TigerLins(Tiger,Lins):
def Say(self):
print("I am a TigerLins")
import types
print(type(123))
print(type(abs))
print(type(TigerLins))
def fn():
pass
print(type(fn))
print(type(abs))
print(type(lambda x:x*x))
print(type((x for x in range(10))))
print(isinstance(12,int))
zhangsan=People("张三","18","man")
zhangsan.printfInfo()
print(isinstance(zhangsan,People))
print(isinstance([1,2,3],(list,tuple)))
class Student():
pass
StuA=Student()
StuA.name="Jeson"
print(StuA.name)
def set_age(self,age):
self.age=age
from types import MethodType
StuA.set_age=MethodType(set_age,StuA)
StuA.set_age(15)
print(StuA.age)
def set_score(self,score):
self.score=score
Student.set_score=MethodType(set_score,Student)
StuB=Student()
StuB.set_score(75)
print(StuB.score)
class Teacher(object):
__slots__=('name','age','sex')
class CollegeStudent():
@property#装饰器只读状态
def score(self):
return self._score
@score.setter#可读写状态
def score(self,value):
if not isinstance(value,int):
raise ValueError("score must be int ")
if value<0 or value>100:
raise ValueError("score must be 0 ~100")
self._score=value
print(zhangsan)
from enum import Enum,unique
@unique
class Weekday(Enum):
Sun=0
Mon=1
Tue=2
Wed=3
Thu=4
Fri=5
Sat=6
for name ,member in Weekday.__members__.items():
print(name,'=>',member)
class ListMetaclass(type):
def __new__(cls, name, bases, attrs):
attrs['add'] = lambda self, value: self.append(value)
return type.__new__(cls, name, bases, attrs)