python_102_属性方法
# 属性方法:把一个方法变成一个静态属性
#1
class Dog(object):
def __init__(self,name):
self.name=name
@property#属性
def eat(self):#不能传参数(见调用时为d1.eat,不用加括号)
print('%s is eating %s'%(self.name,'肉'))
def talk(self):
print('吃饱了')
d1=Dog('白蹄')
d1.eat#不用加括号,加括号就错
d1.talk()
#2
class Dog(object):
def __init__(self,name):
self.name=name
@property
def eat(self):
print('%s is eating %s'%(self.name,'肉'))
@property
def talk(self,):
print('吃饱了')
@talk.setter
def talk(self,food):
print('set to food',food)
d1=Dog('白蹄')
d1.eat
d1.talk
d1.talk='包子'
#3
class Dog(object):
def __init__(self,name):
self.name=name
self.__food=None#私有属性
@property
def eat(self):
print('%s is eating %s'%(self.name,'肉'))
@property
def talk(self,):
print('%s吃%s嘛?'%(self.name,self.__food))
@talk.setter
def talk(self,food):
print('set to food',food)
self.__food=food
d1=Dog('白蹄')
d1.eat
d1.talk
d1.talk='包子'
d1.talk
# del d1.talk出错,属性方法此种方式删不掉 #4
class Dog(object):
def __init__(self,name):
self.name=name
self.__food=None
@property
def eat(self):
print('%s is eating %s'%(self.name,'肉'))
@property
def talk(self,):
print('%s吃%s嘛?'%(self.name,self.__food))
@talk.setter
def talk(self,food):
print('set to food',food)
self.__food=food
@talk.deleter
def talk(self):
del self.__food#删掉私有属性
print('删完了')
d1=Dog('白蹄')
d1.eat
d1.talk
d1.talk='包子'
d1.talk
del d1.talk
# d1.talk出错,已经删除不能运行 #http://www.cnblogs.com/alex3714/articles/5213184.html
python_102_属性方法的更多相关文章
- HTML5 Audio/Video 标签,属性,方法,事件汇总
HTML5 Audio/Video 标签,属性,方法,事件汇总 (转) 2011-06-28 13:16:48 <audio> 标签属性:src:音乐的URLpreload:预加载au ...
- python7 静态方法、类方法、属性方法 ;反射;异常处理
#-*- coding:utf8 -*- # 静态方法@staticmethod # 静态方法(当eat变成静态方法后,再通过实例调用时就不会自动把实例本身当作一个参数传给self了.) clas ...
- Delphi中TStringList类常用属性方法详解
TStrings是一个抽象类,在实际开发中,是除了基本类型外,应用得最多的. 常规的用法大家都知道,现在来讨论它的一些高级的用法. 先把要讨论的几个属性列出来: 1.CommaText 2.Delim ...
- React-Native的基本控件属性方法
对React-Native的学习,从熟悉基本控件开始. View 属性方法 序号 名称 属性Or方法 类型 说明 1 accessibilityLabel 属性 string 2 accessib ...
- 常用元素的属性/方法 attr / val / html /text
常用元素的属性/方法 得到一个元素的高度, $("#myid").height() 得到一个元素的位置, $("#myid").offset() 返回的是一个o ...
- List的方法和属性 方法或属性 作用
List的方法和属性 方法或属性 作用 Capacity 用于获取或设置List可容纳元素的数量.当数量超过容量时,这个值会自动增长.您可以设置这个值以减少容量,也可以调用trin()方法来减少容量以 ...
- iOS对UIViewController生命周期和属性方法的解析
目录[-] iOS对UIViewController生命周期和属性方法的解析 一.引言 二.UIViewController的生命周期 三.从storyBoard加载UIViewController实 ...
- HTML5 Audio/Video 标签,属性,方法,事件汇总 (转)
HTML5 Audio/Video 标签,属性,方法,事件 <audio> 标签属性:src:音乐的URLpreload:预加载autoplay:自动播放loop:循环播放contro ...
- JS中的内置对象简介与简单的属性方法
JS中的数组: 1.数组的概念: 数组是在内存中连续存储的多个有序元素的结构,元素的顺序称为下标,通过下标查找对应元素 2.数组的声明: ①通过字面量声明var arr1 = [,,,,] JS中同一 ...
随机推荐
- LayUI 子父窗体的交互
---恢复内容开始--- 收到的工作是将一个ERP的窗体程序改为网页实现,所以就肯定需要弹框来选择(如:物料编码.部门.业务员等等) 本文采取的前段框架是LayUI. layUI的官网API网址:ht ...
- C++11/14的新特性——更简洁
新的字符串表示方式——原生字符串(Raw String Literals) C/C++中提供了字符串,字符串的转义序列,给输出带来了很多不变,如果需要原生义的时候,需要反转义,比较麻烦. C++提 ...
- 剑指Offer的学习笔记(C#篇)-- 反转链表
题目描述 输入一个链表,反转链表后,输出新链表的表头. 一 . 概念普及 关于线性表等相关概念请点击这里. 二 . 实现方法 目前,可以有两种方法实现该要求. 方法一:借助外部空间实现.这里可以将单链 ...
- 关于HTML5画布canvas的功能
一.画布的使用 1.首先创建一个画布(canvas) <canvas id=”myCanvas” width=”200” height=”100” style=”border:1px solid ...
- 微服务监控神器Prometheus的安装部署
本文涉及:如何在k8s下搭建Prometheus+grafana的监控环境 基本概念 Prometheus提供了容器和云原生领域数据搜集.存储.处理.可视化和告警一套完整的解决方案,最初时是由Soun ...
- Java-GC-标记清除算法
## 前置知识 静态变量在类被加载的时候分配内存.当我们启动一个App的时候,系统会创建一个进程,此进程会加载一个JVM的实例,然后代码就运行在JVM之上.也就是说类在被加载的时候,静态变量 --- ...
- 在windows IIS服务商配置asp.net core的服务器坏境,并部署
翻译自https://docs.microsoft.com/en-us/aspnet/core/publishing/iis 另一篇参考的文章 http://www.c-sharpcorner.com ...
- WordCount by C# 结对编程
合作者:201631062210,201631062110 Gitee项目地址:https://gitee.com/zhouyue98/learngit 本次作业的链接地址:https://edu.c ...
- ·ios 圆角
uiview 直接设置 view.layer.cornerRadius = 5 uiimageview 还需要在设置view.layer.masksToBounds = true .uiview设置这 ...
- Linux —— ps命令
Ps命令 作用 显示瞬间进程的状态,并不动态连续: 如果想对进程进行实时监控应该用top命令: 对进程的管理,可以使用kill命令发送信号 Ps PID : 运行着的命令的进程编号 TTY : 命令所 ...