博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python3 面向对象编程高级语法
阅读量:4984 次
发布时间:2019-06-12

本文共 1713 字,大约阅读时间需要 5 分钟。

1.静态方法:

#!/usr/bin/env python# _*_ coding:utf-8 _*_# Author:CarsonLiclass Dog(object):    def __init__(self,name):        self.name=name    """    静态方法    只是名义上归类管理, 实际上在静态方法里访问不了类或实例中的任何属性    """    @staticmethod    def eat(aaa):        print(aaa)d=Dog("小明")d.eat("asdfg")

  运行结果:

asdfg

2.类方法:

#!/usr/bin/env python# _*_ coding:utf-8 _*_# Author:CarsonLi'''类方法    只能访问类变量,不能访问实例变量'''class Dog(object):    '''    类方法        只能访问类变量,不能访问实例变量    '''    addr = "深圳"    def __init__(self,name):        self.name=name    @classmethod    def eat(self,age):        print(self.addr,age)d=Dog("小明")d.eat(25)

 运行结果:

深圳 25

3.属性方法:

  属性方法设置参数和删除参数的函数名可以和该参数名一样,也可以不一样

#!/usr/bin/env python# _*_ coding:utf-8 _*_# Author:CarsonLi"""属性方法    把一个方法变成一个静态属性"""class Car(object):    def __init__(self,name,logo):        self.name=name        self.logo=logo    """属性方法"""    @property    def drop(self):        print("获取速度%s"%self.sudu)    """为属性方法设置属性,相当于传值"""    @drop.setter    def setdrop(self,sudu):        self.sudu=sudu        print("设置速度%s"%self.sudu)    """删除属性方法的自己的属性"""    @drop.deleter    def deldrop(self):        del self.sudu        """ 设置属性和删除属性的方法名和属性方法名一致 """    @property    def color(self):        print("%s的颜色为%s"%(self.name,self.colour))    @color.setter    def color(self,colour):        self.colour=colour        print("设置%s的颜色为%s"%(self.name,self.colour))    @color.deleter    def color(self):        del self.colourbmw=Car("华晨马宝宝","BMW")#属性方法中属性的设置   触发@drop.setterbmw.setdrop="180"   #运行结果:当前速度是180#属性方法的调用不用括号bmw.drop   #运行结果:180千米每小时#触发 @drop.deleterdel bmw.deldropbmw.color="blue"  #运行结果:设置华晨马宝宝的颜色为bluebmw.color   #运行结果:华晨马宝宝的颜色为bluedel bmw.color

  

转载于:https://www.cnblogs.com/bert227/p/9629355.html

你可能感兴趣的文章
DOM、SAX、DOM4J、JDOM、StAX生成XML并返回XML字符串形式
查看>>
Qt学习(14)
查看>>
NOIP2011T2 统计单词数
查看>>
每日5min分享-接口测试框架
查看>>
超好用超短的小程序请求封装
查看>>
PHP 解析Url 面向对象
查看>>
nodejs express route 的用法
查看>>
Python多线程
查看>>
java IO整理-File
查看>>
粗谈Springboot框架,众所周知Springboot是有spring推出的微服务框架,什么是微服务框架呢!...
查看>>
离钱越近,才能赚钱越‘稳’
查看>>
mapping.mapper.xml文件中的标签详解
查看>>
软件工程——理论、方法与实践⑦
查看>>
【转】Android 组件系列-----Activity保存状态
查看>>
批处理实现多线程执行命令列表文件
查看>>
跟牛牛老师学习python自动化的第六天
查看>>
利用Flume将本地文件数据中收集到HDFS
查看>>
Vim 加 Gmail 变身 Vmail
查看>>
P1294 高手去散步
查看>>
(5) Orchard 开发之 Localization and NullLocalizer
查看>>