类中定义的方法分为四类:公有方法,私有方法,静态方法,类方法

公有方法、私有方法都属于对象,私有方法的名字以"__"开始

每个对象都有自己的公有方法和私有方法,这两类方法可以访问属于类和对象的成员

公有方法通过对象名直接调用,私有方法不能通过对象名直接调用,只能在属于对象的方法中通过self调用或在外部通过python支持的特殊方式调用

class Root:
__total = 0
def __init__(self,v):
self.__value = v
Root.__total += 1
def show(self):
print('self.__value:',self.__value)
print('Root.__total:',Root.__total) @classmethod
def classShowTotal(cls): #类方法
print(cls.__total) @staticmethod
def staticShowTotal(): #静态方法
print(Root.__total) r = Root(3)
r.classShowTotal() # 通过对象来调用类方法 out :
1 r.staticShowTotal() # 通过对象来调用静态方法 out :
1 r.show() out:
self.__value: 3
Root.__total: 1 rr = Root(5)
Root.classShowTotal() # 通过类名调用类方法 out:
2 Root.staticShowTotal() # 通过类名调用静态方法 out:
2 Root.show(r) # 调用方法并访问实例成员
self.__value: 3
Root.__total: 2

python程序设计——面向对象程序设计:方法的更多相关文章

  1. Python之面向对象:方法

    一.类的三种方法 1.实例方法 def func(self): 由对象调用:至少一个self参数:执行普通方法时,自动将调用该方法的对象赋值给self: 只能通过实例调用   2.静态方法 @stat ...

  2. python程序设计——面向对象程序设计:类

    理解面向对象 基本原则是,计算机程序由多个能够起到子程序作用的单元或对象组合而成 关键性观念是,数据以及对数据的操作封装在一起,组成一个相互依存.不可分割的整体,即对象 python面向对象特性 完全 ...

  3. python程序设计——面向对象程序设计:继承

    继承是为代码复用和设计复用而设计的 在继承关系中,已有的.设计好的类称为父类或基类,新设计的类为子类或派生类 派生类可以继承父类的公有成员,但不能继承其私有成员 如果需要在派生类中调用基类的方法,可以 ...

  4. python程序设计——面向对象程序设计:属性

    python 3.x 的属性 可以将属性设置为 可读,可修改,可删除 # 只读属性,不允许修改和删除 class Test: def __init__(self,value): self.__valu ...

  5. C++基本程序设计——面向对象程序设计课堂笔记

    主要对老师上课的ppt的笔记整理 C++基本程序设计 1.c++的输入输出 使用cin,cout和流运算符,开头须有 #include<iostream> (1)cin语句:cin> ...

  6. Python入门-面向对象-特殊方法

    调用拦截功能 class Message: def send(self,info): print("消息发送:",info) class Me: def __getattribut ...

  7. 你好,C++(31)我终于找到对象啦!6.1 从结构化设计到面向对象程序设计

    第6章 当C++爱上面向对象 很多第一次进入C++世界的人都会问:C++中的那两个加号到底是什么意思啊? C++是由C语言发展而来的,它比C语言多出的两个加号,实际上是C语言的自增操作符,表示C++语 ...

  8. (C/C++学习笔记) 十七. 面向对象程序设计

    十七. 面向对象程序设计 ● 面向对象程序设计的基本概念 ※ 类实际上是一种复杂的数据类型,它不仅包含不同类型的数据,还包含对这些数据的一些必要的操作. 而对象则是这种复杂的数据类型的一个变量. 类是 ...

  9. [Python学习笔记][第六章Python面向对象程序设计]

    1月29日学习内容 Python面向对象程序设计 类的定义与使用 类定义语法 使用class关键词 class Car: def infor(self): print("This is ca ...

随机推荐

  1. ListView 中的TextView实现跑马灯效果

    案例:怎么样在一个ListView中含有TextView的item中实现字母滚动呢.这个在一些特定的场合经常用得到.如下图,当焦点位于某个item的时候其内容就自动滚动显示 要实现这样的效果,废话不多 ...

  2. 【题解】洛谷P1073 [NOIP2009TG] 最优贸易(SPFA+分层图)

    次元传送门:洛谷P1073 思路 一开始看题目嗅出了强连通分量的气息 但是嫌长没打 听机房做过的dalao说可以用分层图 从来没用过 就参考题解了解一下 因为每个城市可以走好几次 所以说我们可以在图上 ...

  3. sdn测量综述

    一 文章名称:A Survey on Security-Aware Measurement in SDN 发表时间:2018 来源:<Security & Communication N ...

  4. 书单list

    2018年对我来说是个踩到狗屎的一年,不能说运气差,只能说过去所有的不良决策后果都集中到2018年爆发了,希望新的一年,都好起来.书单很短,买的确实很多,真的惭愧. 昨日世界 南渡北归 上学记 回忆录 ...

  5. Go语言之旅:包

    每个 Go 程序都是由一些包组成的. 原文地址:https://golang-book.readthedocs.io 欢迎关注我们的公众号:小菜学编程 (coding-fan) 程序从 main 包开 ...

  6. JavaScript互斥锁案例

    朋友今天问起来关于JS中多个函数共享同一个全局变量时,顺序调用执行的函数,前者修改了全局变量值,后调用的函数访问时却为undefined. 前不久开发项目过程中,队友也遇到了同样的问题,索性就写份博客 ...

  7. html中的meta元素及viewport属性值

    <meta name="viewport" content="width=device-width , initial-scale=1.0, maximum-sca ...

  8. Ext JS 6和Sencha CMD 6 快速入门

    Ext JS 6和Sencha CMD 6的入门很简单.一个命令,即可生成一个功能完整的“通用”应用程序,可以运行在本地服务器上. 这个“通用”的应用程序包含一组核心的stores,模型(models ...

  9. Unbnutu下安装Apache,Mysql,php,phpmyadmin

    先写一键部署脚本,肯定是先要知道如何手动安装Apache,Mysql,php,phpmyadmin 一  Apache2的安装 apt install apache2 安装好之后,手动看一下apach ...

  10. ETL项目1:大数据采集,清洗,处理:使用MapReduce进行离线数据分析完整项目

    ETL项目1:大数据采集,清洗,处理:使用MapReduce进行离线数据分析完整项目 思路分析: 1.1 log日志生成 用curl模拟请求,nginx反向代理80端口来生成日志. #! /bin/b ...