Python面向对象实现方法总结


Posted in Python onAugust 12, 2020

总结

类的定义

很久以前,语言都是面向过程的,经过计算机科学家的探索,出现了面向对象。面向对象可以解释生活中很多东西。比如人,人就是个对象,有参数,比如器官,身高啥的,有方法,比如跑步,学习等。不扯那么多了。
对象就是类,在python中用class定义类。类里面有两大部分,一部分是属性,一部分是方法。比如,定义一个人对象。这个人的属性就是身高,体重,方法就是说话。

#定义人
class Person:
  #定义属性
  height=0
  weight=0

  #构造函数
  def __init__(self,h,w):
    self.height=h
    self.weight=w
  
  #定义方法
  def speak(self):
    print('I can speak!')

上面的代码就定义了一个Person类.

继承

定义了类之后,就要牵扯到继承这个事。说白了就是儿子继承父亲的家产(属性,方法),但儿子也可对属性进行添加,方法进行重写或增加等。

python继承很简单,格式是这样的

class Son(Parent)

通过这样的定义就有了一个继承类son,他会继承parent的everything。写段代码例子。

class Parent:
  money=0
  def __init__(self,m):
    self.money=m
    
  def makeMoney(self):
    print('i can make money!')

class Son(Parent):
  height=0
  def __init__(self,m,h):
    Parent.__init__(self,m)
    self.height=h
    
  def makeMoney(self):
    print('So did i!')
son=Son(20,1)
print(son.makeMoney())

继承后你可能想调用父类的方法,可以用super(Son,son).makeMoney()调用。

上面是单继承的例子,多继承类似,在此就不再赘述

私有变量

这个东西只能在类里使用,不能通过实例化对象调用。

定义的时候在变量名字前加__

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
实例讲解Python中的私有属性
Aug 21 Python
Python实现从url中提取域名的几种方法
Sep 26 Python
跟老齐学Python之用while来循环
Oct 02 Python
python让图片按照exif信息里的创建时间进行排序的方法
Mar 16 Python
Python的Django框架中的Context使用
Jul 15 Python
详解Python 函数如何重载?
Apr 23 Python
python实现统计代码行数的小工具
Sep 19 Python
Python Process多进程实现过程
Oct 22 Python
浅谈pytorch torch.backends.cudnn设置作用
Feb 20 Python
pycharm运行程序时看不到任何结果显示的解决
Feb 21 Python
django xadmin 管理器常用显示设置方式
Mar 11 Python
python实现马丁策略的实例详解
Jan 15 Python
Python命名空间及作用域原理实例解析
Aug 12 #Python
python将字典内容写入json文件的实例代码
Aug 12 #Python
Python调用jar包方法实现过程解析
Aug 11 #Python
如何用python免费看美剧
Aug 11 #Python
Pythonic版二分查找实现过程原理解析
Aug 11 #Python
Python3合并两个有序数组代码实例
Aug 11 #Python
Python基于gevent实现文件字符串查找器
Aug 11 #Python
You might like
PHP初学者头疼问题总结
2006/07/08 PHP
简单PHP上传图片、删除图片实现代码
2010/05/12 PHP
php实现文件下载(支持中文文名)
2013/12/04 PHP
php中filter_input函数用法分析
2014/11/15 PHP
PHP Laravel中的Trait使用方法
2019/01/20 PHP
在线编辑器的实现原理(兼容IE和FireFox)
2007/03/09 Javascript
javascript各浏览器中option元素的表现差异
2011/04/07 Javascript
js取值中form.all和不加all的区别介绍
2014/01/20 Javascript
浅析javascript操作 cookie对象
2014/12/26 Javascript
在JavaScript中操作时间之getYear()方法的使用教程
2015/06/11 Javascript
javascript实现倒计时(精确到秒)
2015/06/26 Javascript
浅谈js数据类型判断与数组判断
2016/08/29 Javascript
Javascript 实现放大镜效果实例详解
2016/12/03 Javascript
在vue-cli的组件模板里使用font-awesome的两种方法
2018/09/28 Javascript
详解vue几种主动刷新的方法总结
2019/02/19 Javascript
详解Vue中的watch和computed
2020/11/09 Javascript
Pyramid将models.py文件的内容分布到多个文件的方法
2013/11/27 Python
在Python的Flask框架中使用模版的入门教程
2015/04/20 Python
解决python 无法加载downsample模型的问题
2018/10/25 Python
python 计算数据偏差和峰度的方法
2019/06/29 Python
Pytorch 保存模型生成图片方式
2020/01/10 Python
基于python3生成标签云代码解析
2020/02/18 Python
python实现引用其他路径包里面的模块
2020/03/09 Python
BeautifulSoup获取指定class样式的div的实现
2020/12/07 Python
HTML5视频支持检测(检查浏览器是否支持视频播放)
2013/06/08 HTML / CSS
英国拳击装备购物网站:RDX Sports
2018/01/23 全球购物
银行会计财务工作个人的自我评价
2013/10/29 职场文书
科室工作的个人自我评价
2013/10/30 职场文书
董事长秘书岗位职责
2013/11/29 职场文书
技术合作协议书范本
2014/04/18 职场文书
2014年学习厉行节约反对浪费思想汇报
2014/09/10 职场文书
2015年高三毕业班班主任工作总结
2015/10/22 职场文书
Python进度条的使用
2021/05/17 Python
Python还能这么玩之用Python修改了班花的开机密码
2021/06/04 Python
MySql 8.0及对应驱动包匹配的注意点说明
2021/06/23 MySQL
 分享一个Python 遇到数据库超好用的模块
2022/04/06 Python