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

  • 相关阅读:
    noip2015Day2T2-子串
    js事件冒泡
    【Java】Appache Flume 中文介绍
    iOS开发之系统通讯录
    POJ 1946 Cow Cycling
    libgdx 启动者(个人翻译,还请不吝赐教)类和配置
    Python+Django+SAE系列教程6-----本地配置Django
    利用命令行删除Android系统自带应用的方法
    leetcode 题型 数据结构 解法 分类总结
    正則表達式之基础篇
  • 原文地址:https://www.cnblogs.com/wangdianchao/p/11970260.html
Copyright © 2020-2023  润新知