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. lucene 学习之编码篇

    本文环境:lucene5.2     JDK1.7   IKAnalyzer 引入lucene相关包 <!-- lucene核心包 --> <dependency> <g ...

  2. Android基础------SQLite数据库(一)

    1.SQLite介绍 SQLite是一款非常流行的嵌入式数据库,它支持SQL操作,并且只用很少的内存. Android在运行时集成了SQLite,所有每个Android应用程序都可以使用SQLLite ...

  3. 操作 使用XML的方法

    XmlHelper是一个工具类 public static class XMLHelper { /// <summary> /// XML的编码方式,默认是UTF-8 /// </s ...

  4. asp.net mvc4中Json的应用

    做一个简单的 Json实例,从页面获取后台的Json数据 1.控制台: public class HomeController : Controller { // // GET: /Home/ pub ...

  5. Activiti5工作流笔记二

    流程变量 import java.util.HashMap; import java.util.Map; import java.util.Map.Entry; import org.activiti ...

  6. bzoj4278[ONTAK2015]Tasowanie & bzoj1692[USACO 2007Dec]队列变换(Best Cow Line) 贪心正确性证明

    做法网上到处都有就不说了. 这题其实是之前做的….不过由于人太傻现在才想明白比较字典序进行贪心的正确性…. 方便起见,在两个串的最右端都加上很大但不相同的字符,避免第lcp+1个字符不存在的边界. 如 ...

  7. 三个月死磕Python是种什么样的体验?

    3个月的死磕Python后,参加「 楼+ Python实战 · 第4期 」的学员们感想如何?下面带来他们的真实评价. 作为实验楼的网红课程——「 楼+ Python实战 」已经走过了第四期,经过了三个 ...

  8. LOJ6388:[THUPC2018]赛艇——题解

    https://loj.ac/problem/6388 如果你做过BZOJ5217:[Lydsy2017省队十连测]航海舰队的话,那么恭喜你,这道题就是大水题. 如果你做过BZOJ4259:残缺的字符 ...

  9. Educational Codeforces Round 6 C

    C. Pearls in a Row time limit per test 2 seconds memory limit per test 256 megabytes input standard ...

  10. POJ 2112 二分+最大流

    Optimal Milking Time Limit: 2000MS   Memory Limit: 30000K Total Submissions: 17297   Accepted: 6203 ...