# 属性方法:把一个方法变成一个静态属性
#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_属性方法的更多相关文章

  1. HTML5 Audio/Video 标签,属性,方法,事件汇总

    HTML5 Audio/Video 标签,属性,方法,事件汇总 (转) 2011-06-28 13:16:48   <audio> 标签属性:src:音乐的URLpreload:预加载au ...

  2. python7 静态方法、类方法、属性方法 ;反射;异常处理

      #-*- coding:utf8 -*- # 静态方法@staticmethod # 静态方法(当eat变成静态方法后,再通过实例调用时就不会自动把实例本身当作一个参数传给self了.) clas ...

  3. Delphi中TStringList类常用属性方法详解

    TStrings是一个抽象类,在实际开发中,是除了基本类型外,应用得最多的. 常规的用法大家都知道,现在来讨论它的一些高级的用法. 先把要讨论的几个属性列出来: 1.CommaText 2.Delim ...

  4. React-Native的基本控件属性方法

    对React-Native的学习,从熟悉基本控件开始. View 属性方法 序号 名称 属性Or方法 类型 说明 1 accessibilityLabel 属性 string   2 accessib ...

  5. 常用元素的属性/方法 attr / val / html /text

    常用元素的属性/方法 得到一个元素的高度, $("#myid").height() 得到一个元素的位置, $("#myid").offset() 返回的是一个o ...

  6. List的方法和属性 方法或属性 作用

    List的方法和属性 方法或属性 作用 Capacity 用于获取或设置List可容纳元素的数量.当数量超过容量时,这个值会自动增长.您可以设置这个值以减少容量,也可以调用trin()方法来减少容量以 ...

  7. iOS对UIViewController生命周期和属性方法的解析

    目录[-] iOS对UIViewController生命周期和属性方法的解析 一.引言 二.UIViewController的生命周期 三.从storyBoard加载UIViewController实 ...

  8. HTML5 Audio/Video 标签,属性,方法,事件汇总 (转)

    HTML5 Audio/Video 标签,属性,方法,事件   <audio> 标签属性:src:音乐的URLpreload:预加载autoplay:自动播放loop:循环播放contro ...

  9. JS中的内置对象简介与简单的属性方法

    JS中的数组: 1.数组的概念: 数组是在内存中连续存储的多个有序元素的结构,元素的顺序称为下标,通过下标查找对应元素 2.数组的声明: ①通过字面量声明var arr1 = [,,,,] JS中同一 ...

随机推荐

  1. Automake使用(初级)

    工程地址 https://github.com/silvermagic/automakeDev.git 最初工程目录结构 $ vim main.cpp $ vim src/main.cpp ls -l ...

  2. js 读本地文件

    http://www.jb51.net/article/21191.htm <!doctype html> <html lang="en"> <hea ...

  3. 2010辽宁省赛G(佩尔方程)

    #include <iostream> #include <stdio.h> #include <string.h> #include <algorithm& ...

  4. es6 reduce的用法

    一.forEach回调函数参数,item(数组元素).index(序列).arr(数组本身)循环数组,无返回值,不改变原数组不支持return操作输出,return只用于控制循环是否跳出当前循环 二. ...

  5. GoWeb开发_Iris框架讲解(一)

    Golang介绍 Go语言是谷歌推出的一种全新的编程语言,可以在不损失应用程序性能的情况下降低代码的复杂性.谷歌首席软件工程师罗布派克(Rob Pike)说:我们之所以开发Go,是因为过去10多年间软 ...

  6. cf777D(贪心&&c_str()函数)

    题目链接:http://codeforces.com/contest/777/problem/D 题意:给出n行以#开头的字符串,从原字符串尾部删除尽量少的字符串,使其为非降序排列. 思路:我们可以从 ...

  7. PJzhang:kali linux安装金山wps、永中office、sougoupinyin、ibuspiyin

    猫宁!!! 参考链接:https://www.cnblogs.com/liuxingbusi/p/9277127.html https://www.cnblogs.com/xcb0730/p/6808 ...

  8. shell脚本编程入门

    Linux的Shell种类众多,这里我们关注的重点是Bash. 基本语法 环境变量$PATH IO重定向:  以<改变标准输入 如:tr -d '\r' < dos-file.txt 以& ...

  9. Java代码读取文件

    用Java代码读取文件时,保持文件本来的格式(主要是保持换行),这点有时候比较重要.用代码实现也相当简单. private static void readFile() { StringBuilder ...

  10. 解决import sun.misc.BASE64Decoder; import sun.misc.BASE64Encoder;报错的问题

    在项目中用到这两个Jar包,但是程序报错. Access restriction: The type BASE64Decoder is not accessible due to restrictio ...