property 是一个内置的装饰器函数,只在面向对象中使用

求一个圆的周长和面积

# 周长和面积都是通过类的方法得到
from math import pi
class Cricle:
def __init__(self,r):
self.r = r def getPerimeter(self):
return 2*pi*self.r def getArea(self):
return pi*self.r**2
c1 = Cricle(5)
print(c1.getPerimeter())
print(c1.getArea())
# 人的BMI,它是计算得来得,但更像是一个人的属性

# 传统做法
class Person:
def __init__(self,name,high,weight):
self.name = name
self.high = high
self.weight = weight def getBIM(self):
return self.weight/(self.high**2) wangys=Person('wangys',1.75,70)
print(wangys.getBIM()) # perporty
class Person:
def __init__(self,name,high,weight):
self.name = name
self.high = high
self.weight = weight @property
def bim(self):
return self.weight/(self.high**2) wangys=Person('wangys',1.75,70)
print(wangys.bim)
class Goods: # 定义了一个商品类
discount = 0.5 # 折扣是5折
def __init__(self,name,price):
self.name = name
self.__price = price # 将需要修改的属性设置成为私有属性 @property
def price(self): # 定义一个正常的属性,然后做相应的操作
return self.__price * Goods.discount apple = Goods('apple',10)
print(apple.price)
class Persion:
def __init__(self,name):
self.__name = name @property
def name(self):
return self.__name
@name.setter
def name(self,new_name):
self.__name = new_name
# 但是圆的周长和面积更像圆的属性,使用property 将一个函数(无参数)伪装成一个类的属性

from math import  pi
class Cricle:
def __init__(self,r):
self.r = r @property
def perimeter(self):
return 2*pi*self.r
@property
def area(self):
return pi*self.r**2 c1 = Cricle(5)
print(c1.perimeter)
print(c1.area)

Python内置函数之-property的更多相关文章

  1. Python内置函数(63)——property

    英文文档: class property(fget=None, fset=None, fdel=None, doc=None) Return a property attribute. fget is ...

  2. Python内置函数(51)——property

    英文文档: class property(fget=None, fset=None, fdel=None, doc=None) Return a property attribute. fget is ...

  3. Python 内置函数笔记

    其中有几个方法没怎么用过, 所以没整理到 Python内置函数 abs(a) 返回a的绝对值.该参数可以是整数或浮点数.如果参数是一个复数,则返回其大小 all(a) 如果元组.列表里面的所有元素都非 ...

  4. python内置函数大全(分类)

    python内置函数大全 python内建函数 最近一直在看python的document,打算在基础方面重点看一下python的keyword.Build-in Function.Build-in ...

  5. python内置函数详细介绍

    知识内容: 1.python内置函数简介 2.python内置函数详细介绍 一.python内置函数简介 python中有很多内置函数,实现了一些基本功能,内置函数的官方介绍文档:    https: ...

  6. Python内置函数7

    Python内置函数7 1.propertypython内置的一个装饰器可参考https://blog.csdn.net/u013205877/article/details/77804137 2.q ...

  7. Python内置函数6

    Python内置函数6 1.license() 输出当前python 的license信息 A. HISTORY OF THE SOFTWARE ========================== ...

  8. Python补充--Python内置函数清单

    Python内置函数 Python内置(built-in)函数随着python解释器的运行而创建.在Python的程序中,你可以随时调用这些函数,不需要定义.最常见的内置函数是: print(&quo ...

  9. python之Python内置函数一览表

    Python 解释器自带的函数叫做内置函数,这些函数可以直接使用,不需要导入某个模块. 如果你熟悉 Shell 编程,了解什么是 Shell 内置命令,那么你也很容易理解什么是 Python 内置函数 ...

随机推荐

  1. Python——Tk控件说明

    控件 描述 具体说明 Button 按钮  点此链接 Canvas 提供绘图形状的功能,包含图像和位图  点此链接 Checkbutton 多选框  点此链接 Entry 单行文本框  点此链接 Fr ...

  2. pymongo 操作

    python 操作 mongoDB 模块 pymongo 安装方法 sudo pip3 install pymongo 操作步骤 1. 创建数据库连接对象 conn = pymonge.MomgoCl ...

  3. webpack学习记录 - 学习webpack-dev-server(三)

    怎么用最简单的方式搭建一个服务器? 首先安装插件 npm i --save-dev webpack-dev-server 然后修改 packet.json 文件 "scripts" ...

  4. log4j 初体验

    1.Log4j简介      在应用程序中添加日志记录目的基于三个: 监视代码中变量的变化情况,周期性的记录到文件中供其他应用进行统计分析工作 跟踪代码运行时轨迹,作为日后审计的依据 担当集成开发环境 ...

  5. 2017-12-19python全栈9期第四天第二节之列表的增删查改之删除的pop和del和remove和clear

    #!/user/bin/python# -*- coding:utf-8 -*-li = ['zs','ls','ww','zl']# name = li.pop(1) #按索引位置删除有返回值# n ...

  6. usb输入子系统写程序(三)

    目录 usb输入子系统写程序 小结 内核修改 怎么写代码 类型匹配 probe disconnect 程序设计 1th匹配probe 2th 获取usb数据 3th 输入子系统上报按键 title: ...

  7. 通过Visualizing Representations来理解Deep Learning、Neural network、以及输入样本自身的高维空间结构

    catalogue . 引言 . Neural Networks Transform Space - 神经网络内部的空间结构 . Understand the data itself by visua ...

  8. openstack项目【day24】:keystone部署及操作

    阅读目录 一 前言 二 版本信息 三 部署keystone 四 keystone操作 五 验证 六 创建脚本 七 keystone使用套路总结 一 前言 任何软件的部署都是没有技术含量的,任何就部署讲 ...

  9. Mybatis-generator自动生成器

    目录 前言牢骚 Mybatis-generator是什么? Mybatis-generator怎么使用? 第一步,Maven文件引用 第二步,数据库建立 第三步,写mybatis-generator. ...

  10. C++回顾day02---<运算符重载>

    一:运算符重载的限制 (一)可以重载的运算符: + - * / % ^ & | ~ ! = < > += -= *= /= %= ^= &= |= << > ...