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实现基于HTTP文件传输实例
Nov 08 Python
Centos7 Python3下安装scrapy的详细步骤
Mar 15 Python
python3+PyQt5使用数据库表视图
Apr 24 Python
Django 路由控制的实现代码
Nov 08 Python
安装Pycharm2019以及配置anconda教程的方法步骤
Nov 11 Python
浅谈python累加求和+奇偶数求和_break_continue
Feb 25 Python
Python scrapy爬取小说代码案例详解
Jul 09 Python
pip已经安装好第三方库但pycharm中import时还是标红的解决方案
Oct 09 Python
Python-typing: 类型标注与支持 Any类型详解
May 10 Python
pytorch 一行代码查看网络参数总量的实现
May 12 Python
python基于机器学习预测股票交易信号
May 25 Python
Python爬虫之用Xpath获取关键标签实现自动评论盖楼抽奖(二)
Jun 07 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
叶罗丽:为什么大家对颜冰这对CP非常关心,却对金茉两人十分冷漠
2020/03/17 国漫
php 运行效率总结(提示程序速度)
2009/11/26 PHP
UCenter中的一个可逆加密函数authcode函数代码
2010/07/20 PHP
PHP获取windows登录用户名的方法
2014/06/24 PHP
PHP中使用file_get_contents抓取网页中文乱码问题解决方法
2014/12/17 PHP
Laravel登录失败次数限制的实现方法
2020/08/26 PHP
JS模拟面向对象全解(一、类型及传递)
2011/07/13 Javascript
Extjs Gird 支持中文拼音排序实现代码
2013/04/15 Javascript
javascript 上下banner替换具体实现
2013/11/14 Javascript
简介JavaScript中的getUTCFullYear()方法的使用
2015/06/10 Javascript
JavaScript中的toUTCString()方法使用详解
2015/06/12 Javascript
Bootstrap表单制作代码
2017/03/17 Javascript
浅谈react受控组件与非受控组件(小结)
2018/02/09 Javascript
微信小程序自定义轮播图
2018/11/04 Javascript
Vue.js实现开发购物车功能的方法详解
2019/02/22 Javascript
JS实现的排列组合算法示例
2019/07/16 Javascript
layui 表单标签的校验方法
2019/09/04 Javascript
JS实现基本的网页计算器功能示例
2020/01/16 Javascript
微信小程序实现限制用户转发功能的实例代码
2020/02/22 Javascript
mpvue网易云短信接口实现小程序短信登录的示例代码
2020/04/03 Javascript
python+pyqt实现12306图片验证效果
2017/10/25 Python
Python标准模块--ContextManager上下文管理器的具体用法
2017/11/27 Python
DataFrame中的object转换成float的方法
2018/04/10 Python
Python要如何实现列表排序的几种方法
2020/02/21 Python
python实现录屏功能(亲测好用)
2020/03/02 Python
python实现井字棋小游戏
2020/03/04 Python
Python使用plt.boxplot() 参数绘制箱线图
2020/06/04 Python
python的setattr函数实例用法
2020/12/16 Python
全球速卖通法国在线交易平台:AliExpress法国
2017/07/07 全球购物
将n个数按输入顺序的逆序排列,用函数实现
2012/11/14 面试题
华三通信H3C面试题
2015/05/15 面试题
仓管岗位职责范本
2014/02/08 职场文书
分居协议书范本
2014/11/03 职场文书
Python基础知识之变量的详解
2021/04/14 Python
Oracle设置DB、监听和EM开机启动的方法
2021/04/25 Oracle
通过feDisplacementMap和feImage实现水波特效
2022/04/24 HTML / CSS