首页 > 其他分享 >Day28.property使用part1

Day28.property使用part1

时间:2024-06-20 18:00:40浏览次数:25  
标签:obj1 Day28 weight self bmi height part1 property

1.property使用part1

   @property用法,代码如下:

# 装饰器是在不修改被装饰对象源代码以及调用方式的前提下为被装饰对象添加
# 新功能的可调用对象

# property 是一个装饰器,用来将绑定给对象的方法,伪装成一个数据属性(即不需要加`()`调用)
'''
成人的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
    
    # 定义函数的原因1:
    # 1. 从bmi的公式上看,bmi应该是触发功能计算得到的
    # 2. bmi是随着身高、体重的变化而动态变化的,不是一个固定的值,每次都需要临时计算得到
    # 但是bmi听起来更像是一个数据属性,而非功能
    @property
    def bmi(self):
        return self.weight / (self.height ** 2)


obj1 = People('egon', 75, 1.74)
# print(obj1.bmi())
print('类中的函数加了@property,在调用该方法,不需要加`()`'.center(60, '-'))
print(obj1.bmi)     # 等同于obj1.bmi()

 

标签:obj1,Day28,weight,self,bmi,height,part1,property
From: https://www.cnblogs.com/vless/p/18259198

相关文章

  • Day28.为何要隐藏属性
    1.为何要隐藏属性 为何要隐藏属性,代码:#2.为何要隐藏print('为何要隐藏'.center(50,'-'))#I、隐藏数据属性#将数据隐藏起来就限制了类外对数据的直接操作,然后类内应该提供相应的接口来允许类外部间接地操作数据,#接口之上可以附加额外的逻辑来对数据地操作进行严格......
  • XAF 属性编辑器(PropertyEditor)- 原理篇
    前言随着DEV24.1.3的发布,XAFBlazor中的属性编辑器(PropertyEditor)也进行了很大的改动,在使用体验上也更接近WinForm了,由于进行了大量的封装,理解上没有WinForm直观,所以本文通过对属性编辑器的原理进行解析,并对比新旧版本中的变化,使大家能够对属性编辑器有一个更全面的认识。......
  • 实训日记十:Python文本挖掘数据分析-part1
    目录数据分析流程项目背景&产品架构数据说明分析流程加载数据清洗数据-驱虫市场潜力分析整体市场-驱虫市场的潜力分析数据分析流程每个环节都有具体的要求,例如需求文档要求包含:目的,分析思路,预期效果业务部门出问题和需求,以及对算法&数据部门输出报告的理解和......
  • Day28.如何隐藏属性
    1.如何隐藏属性_隐藏属性的使用方法2.如何隐藏属性_隐藏属性的需要注意的问题'''二:将封装的属性进行隐藏操作'''#1.如何隐藏:在属性名前加__前缀,就会实现对外隐藏属性效果#该隐藏需要注意的问题:#Ⅰ:在类外部无法直接访问双下滑线开头的属性,但知道了类名和属性名可以......
  • Day28.课程对象定义与使用
    1.课程对象定义与使用_课程类和班级类关联 班级类,Class:'''班级'''classClass:#__init__中,初始化单个对象,记录每个班级独有的东西def__init__(self,class_name):self.class_name=class_name#初始班级时,班级没有课程表self.cla......
  • Day28.学校与班级建关联
    1.学校与班级建关联_班级类,将班级和班级对应的课程信息生成对象'''班级'''classClass:#__init__中,初始化单个对象,记录每个班级独有的东西def__init__(self,class_name):self.class_name=class_name#初始班级时,班级没有课程表self......
  • Day28.学校类的定义与使用
    1.学校类的定义与使用_学校类__创建学校并关联班级 学校类__创建学校并关联班级,代码如下:#整合-->解耦合-->扩展性增强classSchool:#学校类#学校共有的数据school_name='OLDBOY'#每个学校独有的东西def__ini......
  • Python 详述 Python 中的 property 语法
    在大多数语言的程序中,一个类,每有一个属性,就会对应setter和getter,基本都是标配。示例:classMoney(object):def__init__(self):self.__money=0defgetMoney(self):returnself.__moneydefsetMoney(self,value):ifisinsta......
  • Android property属性权限添加
    https://blog.csdn.net/qq_28648425/article/details/86691949Google在AndroidO以后,为了降低vendor和system之间的耦合度,对property的作用区域也做了明确的区分,分为vendor三方的property和system平台端的property.因为参与的项目中需要添加一个systemproperty用作三方应用的......
  • WPF dependency property to customize control in usercontrol
    //usercontrol<UserControlx:Class="WpfApp157.ImageListBox"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xm......