以下摘抄于RUNOOB.com

Python 面向对象

Python从设计之初就已经是一门面向对象的语言,正因为如此,在Python中创建一个类和对象是很容易的。本章节我们将详细介绍Python的面向对象编程。

如果你以前没有接触过面向对象的编程语言,那你可能需要先了解一些面向对象语言的一些基本特征,在头脑里头形成一个基本的面向对象的概念,这样有助于你更容易的学习Python的面向对象编程。

接下来我们先来简单的了解下面向对象的一些基本特征。
面向对象技术简介

类(Class): 用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。对象是类的实例。

类变量: 类变量在整个实例化的对象中是公用的。类变量定义在类中且在函数体之外。类变量通常不作为实例变量使用。

数据成员: 类变量或者实例变量, 用于处理类及其实例对象的相关的数据。
方法重写: 如果从父类继承的方法不能满足子类的需求,可以对其进行改写,这个过程叫方法的覆盖(override),也称为方法的重写。
局部变量: 定义在方法中的变量,只作用于当前实例的类。
实例变量: 在类的声明中,属性是用变量来表示的。这种变量就称为实例变量,是在类声明的内部但是在类的其他成员方法之外声明的。
继承: 即一个派生类(derived class)继承基类(base class)的字段和方法。继承也允许把一个派生类的对象作为一个基类对象对待。例如,有这样一个设计:一个Dog类型的对象派生自Animal类,这是模拟"是一个(is-a)"关系(例图,Dog是一个Animal)。
实例化: 创建一个类的实例,类的具体对象。
方法: 类中定义的函数。
对象: 通过类定义的数据结构实例。对象包括两个数据成员(类变量和实例变量)和方法。

创建类

使用 class 语句来创建一个新类,class 之后为类的名称并以冒号结尾:

class ClassName:'类的帮助信息'   #类文档字符串class_suite  #类体

类的帮助信息可以通过ClassName.__doc__查看。print(类名.__doc__)
class_suite 由类成员方法数据属性组成。

Python的类成员函数、静态函数和成员的函数的比较

参考:Python的类成员函数、静态函数和成员的函数的比较
从声明方式来看:
普通成员函数是最一般的方法,即

class Foo:def plain_func():pass

类成员函数是

class Foo:@classmethoddef class_func():pass

静态函数是

class Foo:@staticmethoddef static_func():pass

从调用方式来看,普通函数与后两者区别较大,普通函数只能在类的实例中被调用,而后两者可以通过类名进行调用:

class Foo:def plain_func(self):print("plain_func")@classmethoddef class_func(cls):print("class_func")@staticmethoddef static_func():print("static_func")# 必须实例化进行调用
foo = Foo()
foo.plain_func()
# 通过类名进行调用
Foo.class_func()
Foo.static_func()

而后类方法class_func和静态的方法static_func最核心的区别就在于类方法class_func有cls参数,而静态方法static_func没有cls参数。cls可以理解为this指针,它引用了一个类实例。

Python-类的学习相关推荐

  1. python类的学习TypeError: Dog() takes no arguments

    在对python的类的学习中,出现以下报错 my_dog = Dog('oppo', 6) TypeError: Dog() takes no arguments 输入的代码如下: class Dog ...

  2. python 类的学习笔记

    一.建立一个对象 class Turtle: #约定对象首字母大写,多个单词应该使用CamelCasewidth = 10 # 宽height = 10 # 高weight = 10 # 重color ...

  3. 风变Python编程13类的学习2

    Python 类的学习2 上一关,我们知道了面向对象编程的重要性,也学习了类的基础知识(1.面向对象编程,2.类的创建和调用,3.创建类的两个关键点) 这一关,我们会拓展类的知识疆界,探索两个类的拓展 ...

  4. 菜菜的Python学习日记 | Python类实验代码分享

    系列索引:菜菜的Python学习日记 | Python从入门到入土详解 Python类实验代码分享 编写程序,实现以下功能. (1)创建员工类Employee,属性有姓名name.能力值ability ...

  5. python 类和对象 有必要学吗_Python学习——对类和对象的初步理解,初识,与

    大家好,今天跟大家简答介绍一下类的基础知识,主要有: Python中类和对象的概念 Python中的函数和普通函数的对比 python类语法的初识 一.Python中类和对象的概念 我们把一类相同的事 ...

  6. Python学习笔记(13)-Python类与对象示例

    点此查看 零基础Python全栈文章目录及源码下载 本文目录 1. 简介 2. Python类的定义 3. Python类的动态语言特性 4. Python类中属性的访问控制 1. 简介 Python ...

  7. python 类的各类设计、子类扩展、变化及继承学习笔记

    python 类的各类设计.子类扩展.变化及继承,边学边练,边练边记录. print("=============类的设计=======================") cla ...

  8. python 类中定义类_Python中的动态类定义

    python 类中定义类 Here's a neat Python trick you might just find useful one day. Let's look at how you ca ...

  9. 如何用 OpenCV、Python 和深度学习实现面部识别?

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达本文转自|新机器视觉 Face ID 的兴起带动了一波面部识别技术热 ...

  10. python类中的属性分为类属性和实例属性两种_python中类和实例如何绑定属性与方法示例详解...

    前言 python类与实例的方法的调用中觉得云里雾里,思考之后将自己的想法记录下,一来加深自己理解,巩固自己记忆,而来帮助一些想要学习python的朋友理解这门抽象的语言,由于Python是动态语言, ...

最新文章

  1. 使用云计算灾难恢复计划制定勒索软件恢复策略
  2. Spring内核研究-通过工厂注入
  3. python爬虫从入门到放弃(二)之爬虫的原理
  4. 利用Python进行简单的图像识别(验证码)
  5. html文字如何排布成圆形,css多个扇形怎么拼凑成圆?
  6. HTML源码-网页123算数题小游戏源码
  7. MarkerOpter marker操作类
  8. autojs toast 可以改变字体颜色吗_喃喃札记 | 你真的需要一部pad做笔记吗?
  9. 智能风控中的全场景化的模型组合包括哪些内容
  10. mysql-5.6.14.tar.gz_CentOS 6.4下编译安装MySQL 5.6.14
  11. Play framework 2.0 -应用程序全局设置(转)
  12. 基于python的测试报告自动化生成
  13. isupper函数python_C 库函数
  14. (c++课程设计)简单车辆管理系统(有五种类型的车辆)代码+报告
  15. 计算机修理工具包价格,电脑修复工具包#200多个联想工程师专用电脑修复小工具打包...
  16. 微博转载-是时候了,也该做个了结了。
  17. 汽车软件系统常用简称
  18. 00007__文本编辑器__UltraEdit
  19. Kubernetes基本概念和术语
  20. 机器人中欧拉角,偏航角、俯仰角、横滚角的自锁现象与四元数的来源于推导

热门文章

  1. python学习笔记之集合
  2. 搜索推荐系统根据用户搜索频率(热搜)排序
  3. 社交平台舆情分析项目的总结和感想(LU学习,EM,KNN)(二)
  4. haXe下体验jQuery
  5. Firefox不支持event解决方法
  6. C++ Q16: dereferencing
  7. python主进程 子进程_pool主进程捕获子进程异常
  8. 切换ip下的sql server用户权限丢失_Zabbix_server高可用之文件同步
  9. 关于六年级定格动画计算机教案,定格动画教案
  10. php 枚举cookie内容,php如何修改cookie内容?