• 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下面的方法

  • 相关阅读:
    站立会议(3)
    站立会议(2)
    站立会议(1)
    团队报告
    Laravel5.1 模型 --一对多关系
    jQuery 操作DOM
    Laravel5.1 模型 --一对一关系
    Laravel5.1 模型--查询作用域
    Laravel5.1 模型--ModelFactory
    jQuery 选择器
  • 原文地址:https://www.cnblogs.com/wangdianchao/p/11970260.html
Copyright © 2020-2023  润新知