多态,classmethod 与staicmethod

#封装之property

'''

BMI指数(bmi是计算而来的,但很明显它听起来像是一个属性而非方法,如果我们将其做成一个属性,更便于理解)

成人的BMI数值:

过轻:低于18.5

正常:18.5-23.9

过重:24-27

肥胖:28-32

非常肥胖, 高于32

  体质指数(BMI)=体重(kg)÷身高^2(m)

  EX:70kg÷(1.75×1.75)=22.86

'''

# class People:

# def __init__(self,name,weight,height):

# self.name=name

# self.weight=weight

# self.height=height

# @property

# def bmi(self):

# return self.weight/(self.height*self.height)

# # 首先需要明确。bmi是算出来的,不是一个固定死的值,也就说我们必须编写一个功能,每次调用该功能

# #都会立即计算一个值

# egon=People('egon',75,1.80)

# yl=People('yangli',85,1.74)

#

# # 但很明显人的bmi值听起来更像一个名词而非动词

# # print(egon.bmi())

# # print(yl.bmi())

# # 于是我们需要为bmi这个函数添加装饰器,将其伪装成一个数据属性

# egon.weight=70

# print(egon.bmi) 调用egon.bmi本质就是触发函数bmi的执行,从而拿到其返回值

# print(yl.bmi)

#了解知识点

# class People:

# def __init__(self,name):

# self.__name=name

#

# @property

# def name(self):

# print('你选择访问的是用户名')

# return self.__name

# @name.setter

#     

原文地址:https://www.cnblogs.com/maojiang/p/8859252.html