1.静态方法:

#!/usr/bin/env python
# _*_ coding:utf-8 _*_
# Author:CarsonLi class 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.colour bmw=Car("华晨马宝宝","BMW")
#属性方法中属性的设置 触发@drop.setter
bmw.setdrop="180" #运行结果:当前速度是180
#属性方法的调用不用括号
bmw.drop #运行结果:180千米每小时
#触发 @drop.deleter
del bmw.deldrop bmw.color="blue" #运行结果:设置华晨马宝宝的颜色为blue
bmw.color #运行结果:华晨马宝宝的颜色为blue
del bmw.color

  

Python3 面向对象编程高级语法的更多相关文章

  1. 大数据技术之_16_Scala学习_06_面向对象编程-高级+隐式转换和隐式值

    第八章 面向对象编程-高级8.1 静态属性和静态方法8.1.1 静态属性-提出问题8.1.2 基本介绍8.1.3 伴生对象的快速入门8.1.4 伴生对象的小结8.1.5 最佳实践-使用伴生对象解决小孩 ...

  2. js面向对象编程-高级内容

    JavaScript面向对象 一.为每个对象动态添加属性或方法 功能:返回对象类型原型的引用 prototype的使用 格式:class.prototype 场景: 比如说:A写了一个类,交给B,B在 ...

  3. Python面向对象编程高级特性

    ***这里还是根据网上资料,主要是廖雪峰老师的教程学习的笔记,主要介绍python面向对象的高级特性,笔记不全,只是记录自己觉得容易出错的地方*** 1.python作为一种动态语言,他的动态绑定机制 ...

  4. Python3面向对象编程实例

    /*认真研究完这个实例,理解python面向对象编程的方法*/class Person: """人员信息""" # 姓名(共有属性) nam ...

  5. Python3 面向对象编程

    小案例: #!/usr/bin/env python # _*_ coding:utf-8 _*_ # Author:Bert import sys class Role(object): n=&qu ...

  6. 8. Scala面向对象编程(高级部分)

    8.1 静态属性和静态方法 8.1.1 静态属性-提出问题 有一群小孩在玩堆雪人,不时有新的小孩加入,请问如何知道现在共有多少人在玩?请使用面向对象的思想,编写程序解决 8.1.2 基本介绍 -Sca ...

  7. python学习笔记1 -- 面向对象编程高级编程1

    说起高级其实也就是些基础的东西,但是活用和熟用肯定会大幅度提升代码质量 首先要记录的是面向对象的灵活性,及如何去控制其灵活性,她允许你在实例中新增属性和方法,允许你给类新增属性和方法,也支持在定义类时 ...

  8. python3 面向对象编程--类的封装和继承

    #python3import refrom urllib import requestimport os class PosterSpider(object):     def __init__(se ...

  9. python学习20之面向对象编程高级

    '''''''''1.动态绑定:对于一个类,我们可以对它的实例动态绑定新的属性或方法.为了使所有的实例均可以使用动态绑定的属性和方法,我们也可以采用对类直接动态绑定'''class Student() ...

随机推荐

  1. matlab中滤波函数

    matlab自带滤波器函数小结(图像处理)   1 线性平滑滤波器 用MATLAB实现领域平均法抑制噪声程序: I=imread(' c4.jpg '); subplot(231) imshow(I) ...

  2. Java取两个变量不为空的变量的简便方法!

    一.需求 最近在项目中遇到一个小问题,即从数据库取两个变量,判断取出的变量是否为空,取不为空的变量:若两个变量都不为空,取两个变量:两个变量都为空,则跳过: 二.解决方案(这里提供两种思路) 1.第一 ...

  3. Spring事务管理Transaction

    Spring提供了许多内置事务管理器实现: DataSourceTransactionManager:位于org.springframework.jdbc.datasource包中,数据源事务管理器, ...

  4. 第26天:js-$id函数、焦点事件

    一.函数return语句定义函数的返回值,在函数内部用return来设置返回值,一个函数只能有一个返回值.同时,终止代码的执行.所有自定义函数默认没有返回值return后面不要换行 var a=10, ...

  5. 【Python】从1<2<3的语法糖说起

    python有一个很有意思的语法糖你可以直接写1<2<3. 这复合我们通常意义上的数学不等式,但对学过C等语言其实是有疑惑的. 我们知道不等式返回的其实是个Bool值,在C中是1,0因此C ...

  6. 安装FastDFS+Nginx

    安装FastDFS FastDFS开发者的GitHub地址为:https://github.com/happyfish100 打开上述链接,我们点击fastdfs–>release,发现最新版的 ...

  7. CSS3 边框 圆角 背景

    CSS3用于控制网页的样式布局. CSS3是最新的CSS标准.   关于transform: transform:rotate(10deg);//顺时针方向旋转10° 浏览器支持情况:低版本的IE浏览 ...

  8. 前台界面(2)---CSS 样式

    目录 1. 内联样式 2. 层叠样式表CSS 2.1. 类选择器 2.1.1. 颜色设置 2.1.2. 字号设置 2.1.3. CSS边框属性 2.1.4. 设置背景颜色 2.1.5. 设置布局边框 ...

  9. 【转】Unity+单例模式的依赖注入

    http://www.cnblogs.com/floyd/archive/2009/06/17/1505117.html

  10. 【题解】Atcoder ARC#83 E-Bichrome Tree

    哈哈~自己做出来的E题!(虽然这题被机房大佬强D极水).最开始神经错乱,写了个完全不对的贪心,竟然只错了4个点(。•ˇ‸ˇ•。) 可以发现,一个节点的子树内部和他颜色相同的节点权值和 是固定的,那么不 ...