python3 property

property 把一个方法变成静态属性

@property
def eat(self)
    print(‘%s has eated‘%self.name)
调用:
d.eat  # 不用加括号

  

时间: 2024-10-11 10:43:20

python3 property的相关文章

python3 私有化 属性property

私有化 xx:公有变量 _x:单前置下划线,私有化属性或方法,from somemodule import *禁止导入,类对象和子类可以访问 __xx:双前置下划线,避免与子类中的属性命名冲突,无法在外部直接访问(名字重整所以访问不到) __xx__:双前后下划线,用户名字空间的魔法对象或属性.例如__init__,不要自己发明这样的名字. xx_:单后置下划线,用于避免与Python关键值字冲突. #! /usr/bin/env python3 class Person(object): de

python3的getter方法setter方法以及property修饰

class Dog: def __init__(self,name,age): self.__name = name self.__age = age @property def age(self): return self.__age @age.setter def age(self,age): self.__age = age @property def name(self): return self.__name @name.setter def name(self,name): self

python3 速查参考- python基础 8 -> 面向对象基础:类的创建与基础使用,类属性,property、类方法、静态方法、常用知识点概念(封装、继承等等见下一章)

基础概念 1.速查笔记: #-- 最普通的类 class C1(C2, C3): spam = 42 # 数据属性 def __init__(self, name): # 函数属性:构造函数 self.name = name def __del__(self): # 函数属性:析构函数 print("goodbey ", self.name) I1 = C1('bob') #-- Python的类没有基于参数的函数重载 class FirstClass: def test(self,

python3 uper(),继承实现原理,封装

抽象类:本身不能被实例化,也不应该不实例化,它的作用就定义标准,并不用具体实现 import abc class Parent(metaclass=abc.ABCMeta): x=1 @abc.abstractmethod def foo(self): pass @abc.abstractmethod def bar(self): pass class Child(Parent): def foo(self): pass def bar(self): pass 新式类与经典类在这种继承结构下,属

Python的高级特性10:无聊的@property

@property装饰器其实有点无聊,单独拿出来作为一个知识点其实没必要,尽管它可以将方法变成属性,让get和set方法更好用,但是,它破坏了python的简洁(不是代码的简洁而是指语法上). 下面来说明为什么我会这么说. 首先,看一个使用property. class Student(object): @property def testname(self): return self.name @testname.setter def testname(self,name): self.nam

使用@property作业

1 #!/usr/bin/env python3 2 #-*- coding:utf-8 -*- 3 class Screen(object): 4 __slots__ = ('_width','_height') 5 def __init__(self, *args, **kwargs): 6 self._width = 800 7 self._height = 600 8 9 @property 10 def width(self): 11 return self._width 12 13

python3内置函数详解

一. 简介 python内置了一系列的常用函数,以便于我们使用,python英文官方文档详细说明:点击查看, 为了方便查看,将内置函数的总结记录下来. 二. 使用说明 以下是Python3版本所有的内置函数: 1. abs() 获取绝对值 >>> abs(-10) 10 >>> abs(10) 10 >>> abs(0) 0 >>> a = -10 >>> a.__abs__() 10 2. all() 接受一个迭代

Python3 面向对象 高级编程

正常情况下,当我们定义了一个class,创建了一个class的实例后,我们可以给该实例绑定任何属性和方法,这就是动态语言的灵活性.  class Student(object): pass 然后,尝试给实例绑定一个属性: >>> s = Student() >>> s.name = 'Michael' # 动态给实例绑定一个属性 还可以尝试给实例绑定一个方法: >>> def set_age(self, age): # 定义一个函数作为实例方法 ...

也说python的类--基于python3.5

在面向对象的语言中,除了方法.对象,剩下的一大重点就是类了,从意义上来讲,类就是对具有相同行为对象的归纳.当一个或多个对象有相同属性.方法等共同特征的时候,我们就可以把它归纳到同一个类当中.在使用上来讲,类的存在,就是为了方便管理对象.python中定义一个类的代码如下:class Simple_class(object): #定义一个名为Simple_class的类,python3以后默认object做为类的基类,这里不讨论新式和旧式类的区别 height = 1.58#定义一个类变量 def