码迷,mamicode.com
首页 > 其他好文 > 详细

四.property

时间:2018-09-04 01:49:21      阅读:127      评论:0      收藏:0      [点我收藏+]

标签:一个   特性   函数定义   property   属性   prope   obj   people   rop   

将一个类的函数定义成特性以后,对象再去使用的时候obj.name,根本无法察觉自己的name是执行了一个函数然后计算出来的,这种特性的使用方式遵循了统一访问的原则

# 例一: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 ** 2)


p1 = People(‘zn‘, 75, 1.85)
# print(p1.bmi()) #21.913805697589478
print(p1.bmi)  # 21.913805697589478

  

四.property

标签:一个   特性   函数定义   property   属性   prope   obj   people   rop   

原文地址:https://www.cnblogs.com/yspass/p/9581842.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!