zoukankan      html  css  js  c++  java
  • Python3的特性property(1)

     1 # 特性Property
     2 class Rectangle:
     3     def __init__(self):
     4         self.width = 0
     5         self.height = 0
     6     
     7     def set_size(self,size):
     8         self.width, self.height = size
     9     
    10     def get_size(self,size):
    11         return self.width, self.height
    12     
    13     # 注意:获取方法在前,设置方法在后
    14     size = property(get_size,set_size)

    通过调用函数property并将存取方法作为参数(获取方法在前,设置方法在后)创建一个特性,然后将名称size关联到这个特性。

    这样,就能以同样的方式对待width、height和size,而无需关心它们是如何实现的。

    1 r = Rectangle()
    2 r.width = 10
    3 r.height = 5
    4 print(r.size)
    5 
    6 r.size = 150,100
    7 print(r.width, r.height)

    输出:

    (10, 5)
    150 100

    实际上,调用函数property时,还可不指定参数、指定一个参数、指定三个参数或指定四个参数。

    参数名分别为:fget  fset  fdel  doc

    (1)没有指定任何参数:

    创建的特性将既不可读也不可写;

    (2)只指定一个参数(获取方法get):

    创建的特性将是只读的;

    (3)第三个参数是可选的:

    指定用于删除属性的方法(这个方法将不接受任何参数);

    (4)第四个参数是可选的:

    指定一个文档字符串

  • 相关阅读:
    调用接口直接下载文件
    Oracle函数简单使用
    JAVA面试题刷题资料
    跨域
    ORACLE JOB
    C# 面试知识点网络文档整理
    GetBuffer 与ToArray区别,解决问题场景
    JQuery选择器分类
    C#判断字符串中含有多少个汉字
    XPATH中text()和string()的使用区别
  • 原文地址:https://www.cnblogs.com/gepu1991/p/9135643.html
Copyright © 2011-2022 走看看