类
例题:
class People:
def __init__(self,x,y):
self.x=x
self.y=y
def bmi(self):
return self.需要的公式.self.y
obj=peile(xx)
print(obj1.bmi()) #他的方法bmi
1.先实例化 obj=peile(xx)
2..属性
类隐藏:用_ _ 对内不对外
再内部用_ _可以访问,例如:_Foo_ _x
可以控制某个属性操作 不让外界直接用
例如:
class x:
def __init__(self,name):
self.name=name
def get_name(self): #通过该接口可以间接的访问到名字属性
print(self.__name)
obj=x('egon')
obj.get_name() #在打印时 若用户不加()调用bmi则只会显示装饰器 不会显示具体数值所以有以下两个案例可以解决
装饰器property(用类去实现)
案例一:
@property
class people:
def __init__(self,name,weight,height):
self.name=name
self.weight=weight
self.height=height
@prperty
def bmi(self):
return.weight/(self.height**2)
obj1=people('egon',78,1.83)
print(obj1,bmi)
案例二:如果想控制某个属性操作①先隐藏:_ _x②开放接口
class people:
def _ _init_ _(self,name):
self._ _name=name
def get_name(self):
return self._ _name
def set_name(self):
if type(val) is not str:
print('必须传入str')
return
self.__name=val
def del_name(self):
print('不让删除')
name=prperty(get.name,set_name,def_name)
obj=people('egon')
建议用这个:
class people:
def _ _init_ _(self,name):
self._ _name=name
@property
def name(self): #定义为想让外部使用者的名字
return self._ _name
@name.setter
def name(self,val): #-------》obj1.name='EGON'
if type(val) is not str:
print('必须传入str')
return
self.__name=val
@name.deleter
def name(self): #def obj1.name
print('不让删除')
obj1=people('egon')
print(obj1.name)
def add():cq
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南