这篇主要是讲解类,Pythong类中私有属性、私有方法、动态添加属性、动态添加方法、多继承、静态方法写个存取款方法。

一、面向对象思想、简单的银行存取方法实现

class Bank:def __init__(self,name,money):self.__myMoney = moneyself.__name = namedef get_money(self,money):if self.__myMoney<money:print('您余额不足  当前余额为:',self.__myMoney)else:self.__myMoney -=moneyprint('取款成功 取款金额:{}元 余额为:{}元'.format(money,self.__myMoney))def save_money(self,money):self.__myMoney += moneyprint('存款成功 存款金额为{} 余额为{}'.format(money,self.__myMoney))myBank = Bank('张三',12)
myBank.get_money(1)
myBank.save_money(1000000)

二、私有方法

#  bank._Bank__getMoney() 私有方法调用class Bank():__money = 1000name = 'father'def __getMoney(self):print('money为',self.__money)def getMoney(self):self.__getMoney()bank = Bank()
bank.getMoney()
# print(bank._Bank__getMoney())

三、私有方法继承么?

class Father():age = 12__name = '陈旭恒'def __getName(self):print('father Name:',self.__name)def run(self):# self.__getName()print('每天跑步上班')
class Son(Father):def get(self):f = Father()print(f.age)
father = Father()
father.run()
print('-----------')
son = Son()
son.get()

四、多继承的小细节

#多继承 一个类继承多个类,继承类中共有方法,依照继承顺序,回执行左边第一个
class Cat():def __init__(self):print('I am Cat')def run(self):print('飞檐走壁')
class Dog():def __init__(self):print("I am Dog")def run(self):print('走走蹦蹦')class Zoo(Cat,Dog):def run(self):print('This is Zoo')zoo = Zoo()
zoo.run()
#结果
#I am Cat
#This is Zoo

五、类中的信息方法

#类的属性
class A:pass
class Demo(A):'''这是Demo类 继承A类'''name = '宏星'def speak(self):print(self.name,'闪闪')print(Demo.__doc__) #类的注释说明 只有一个 只识别多行注释
print(Demo.__name__)#类名
print(Demo.__bases__)#类的属性
print(Demo.__dict__)#类的素有信息

六、动态添加属性、方法

#动态添加属性
class Demo():#限制属性的动态添加  (元组中是范围)__slots__ = ('name','sex','money')
d = Demo()
print(hasattr(d,'name'))#判断属性是否存在
print(getattr(d,'sex',404))#判断属性是否可以获得到
# print(setattr(d,'name'))
# print(d.name)
d.name = '陈旭'
# d.a = 'a'#动态添加方法  绑定单个实例的方法#1、 导入 MethodType
from types import MethodType#2、 定义空类
class Demo():pass
#3、 实例化
demo = Demo()
#4、 定义方法
def run(self):print('我是外部方法')
demo2 = Demo()demo2.run = MethodType(run,demo2)
# demo.run()
demo2.run()

七、静态方法

#静态方法使用
class Demo:@staticmethoddef static_Dom():print('static')def run(self):self.static_Dom()print('你好陈旭恒')
Demo.static_Dom()

Python入门篇(二)相关推荐

  1. Python入门篇-匿名函数

    Python入门篇-匿名函数 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.匿名函数概述 1>.什么是匿名函数 匿名,即没有名字 匿名函数,即没有名字的函数 2>. ...

  2. Python入门篇-数据结构堆排序Heap Sort

    Python入门篇-数据结构堆排序Heap Sort 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.堆Heap 堆是一个完全二叉树每个非叶子结点都要大于或者等于其左右孩子结点的 ...

  3. Python入门篇-functools

    Python入门篇-functools 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.partial方法 1>.partial概述 偏函数,把函数部分的参数固定下来,相当 ...

  4. Python入门篇-高级数据类型集合(set)和字典(dict)

    Python入门篇-高级数据类型集合(set)和字典(dict) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.集合(set) 1>.集合的特点 约定set 翻译为集合c ...

  5. Python入门篇-生成器函数

    Python入门篇-生成器函数 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.生成器概述 1>.生成器generator 生成器指的是生成器对象,可以由生成器表达式得到, ...

  6. 【SSRS】入门篇(二) -- 建立数据源

    原文:[SSRS]入门篇(二) -- 建立数据源 通过 [SSRS]入门篇(一) -- 创建SSRS项目 这篇,我们建立了一个SSRS项目: 接下来,我们以 AdventureWorks2012 示例 ...

  7. 运动控制器编程_快速入门 | 篇二十一:运动控制器ZHMI组态编程简介一

    点击上方"正运动小助手",随时关注新动态! 运动控制器ZHMI组态编程简介一  今天我们来学习一下,运动控制器的ZHMI组态编程简介.本文主要从产品概述.控制器连接触摸屏使用.HM ...

  8. 单片机stm32LED流水灯C语言,STM32单片机入门 篇二:单片机编程:从点亮LED灯开始(二)...

    STM32单片机入门 篇二:单片机编程:从点亮LED灯开始(二) 2019-04-26 13:21:48 19点赞 73收藏 19评论 写在前面的话:本篇是承接上一篇文章,属于小白向. 没看过的朋友点 ...

  9. 入门篇(二)模型:逻辑回归(一步步从原理到实现)

    <老饼讲解机器学习>专注于机器学习的学习网站http://ml.bbbdata.com/teach#187 目录 一.问题 二.逻辑回归的思想 三.模型表达式 四.损失函数 (一) 单个 ...

  10. 编程小白学python知乎周刊_在知乎上学 Python - 入门篇

    写在前面 本文对知乎上关于Python入门方面的问答.文章.专栏做了一定的收集和整理,希望对各位Python学习者能有帮助,至少可以节省大家一点时间. 这一篇主要针对的是零基础或初学Python,包括 ...

最新文章

  1. 面向完全初学者的Unity和C#游戏开发学习教程
  2. Linux下ps -ef和ps aux的区别及格式详解
  3. postgresql - mac 启动 关闭 postgresql
  4. 多个iis的进程w3wp
  5. 机器学习和人工智能的初学指南
  6. SLAM Cartographer(17)分支定界闭环检测
  7. 第三周练习 part3 --- 文件的操作
  8. 一手云端,一手终端:比特大陆发布两款AI芯片,大步迈进AI领域
  9. liferay控制面板--网页内容时间不一致问题解决思路
  10. Windows Server 2008 R2远程用户数设置
  11. 【LabView小剧场】用LabView做个计算器
  12. 对九个超级程序员的采访
  13. 车辆属性最近一次入库时间初始化生成sql脚本文件
  14. Mac安装MongoDB
  15. 浏览器兼容video视频播放的多种方法
  16. [魔改整合] [Mod整合包] [1.12.2][Mod整合包]幸运贪婪超级整合-超多好玩的mod
  17. 空间点集的三角剖分工具——四面体生成器(TetGen)和三维三角剖分包(CGAL)
  18. Mybatis:Mapper method attempted to return null from a method with a primitive return type (int)
  19. 【新书推荐】【2018】有源集成天线的设计与应用
  20. c语言boll函数,布林线学习(二) 布林线的公式为:BOLL:MA(CLOSE,M); UB:BOLL+2*STD(CLOSE,M); LB:BOLL-2*... - 雪球...

热门文章

  1. PHP绘制99的棋盘,JS canvas绘制五子棋的棋盘
  2. JAVA中计算五子棋平局的算法_输入五子棋棋盘判断输赢或平局—程序设计(C语言)...
  3. 捣乱姬使用说明 版本0.0.2
  4. C语言中p, *p, p, *p, **p的理解-初级
  5. *p++、*(p++)、(*p)++、*++p、++*p的区别
  6. Curator实现分布式锁的基本原理
  7. 惠安高考状元2021成绩查询,2021年惠州高考成绩排名查询,成绩什么时候可以查询...
  8. 告别“停车难”,条形智能停车场导视牌推动城市智能停车建设
  9. 超宽带 DW1000 API --- dwt_configure (频道,脉冲重复频率,数据速率等)
  10. 如何查询一个 app 的 Android 和 iOS 下载量?