zoukankan      html  css  js  c++  java
  • python_面向对象——属性方法property

    1.属性方法

    class Student(object):
        def __init__(self,name):
            self.name = name
    
        @property   #属性方法:把一个方法变成一个静态的属性或者变量。
        def fly(self):
            print('{} fly...'.format(self.name))
    
    a = Student('wdc')
    a.fly   #可以用调用属性的方式调用属性方法

     2.

    class Student(object):
        def __init__(self,name):
            self.name = name
    
        @property   #属性方法:把一个方法变成一个静态的属性或者变量。
        def fly(self):
            print('{} fly...'.format(self.name))
    
    a = Student('wdc')
    a.fly   #可以用调用属性的方式调用属性方法
    
    a.fly = 100     #但是不能给这个属性重新赋值

     3.向属性方法中传递参数:修改

    class Student(object):
        def __init__(self,name):
            self.name = name
    
        @property   #属性方法:把一个方法变成一个静态的属性或者变量。
        def fly(self):
            print('{} fly...'.format(self.name))
    
        @fly.setter
        def fly(self,age):  #接受传递进来的参数
            print('{}岁'.format(age))
    
    a = Student('wdc')
    a.fly   #可以用调用属性的方式调用属性方法
    a.fly = 22  #向属性方法中传递参数

    4.删除属性方法

    class Student(object):
        def __init__(self,name):
            self.name = name
    
        @property   #属性方法:把一个方法变成一个静态的属性或者变量。
        def fly(self):
            print('{} fly...'.format(self.name))
    
        @fly.setter
        def fly(self,age):  #接受传递进来的参数
            print('{}岁'.format(age))
    
        @fly.deleter
        def fly(self):
            print('del...')
    
    a = Student('wdc')
    a.fly   #可以用调用属性的方式调用属性方法
    a.fly = 22  #向属性方法中传递参数
    del a.fly   #用del执行属性方法 执行的就是@fly.deleter下面的方法

  • 相关阅读:
    nginx 启用http2 https 无法访问的问题
    Automating CSS Regression Testing
    jasmine 使用
    编写浏览器和Node.js通用的JavaScript模块
    Cucumber 使用例子
    Cucumber 之Gherkin
    Cucumber
    Cobertura 代码覆盖率测试
    spring && Cobertura && maven &&junit 单元测试以及测试覆盖率
    spring retry 使用
  • 原文地址:https://www.cnblogs.com/wangdianchao/p/11970260.html
Copyright © 2011-2022 走看看