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

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

3、数据成员:类变量或者实例变量, 用于处理类及其实例对象的相关的数据。

4、方法重载:如果从父类继承的方法不能满足子类的需求,可以对其进行改写,这个过程叫方法的覆盖(override),也称为方法的重写。

5、实例变量:定义在方法中的变量,只作用于当前实例的类。

6、继承:即一个派生类(derived class)继承基类(base class)的字段和方法。继承也允许把一个派生类的对象作为一个基类对象对待。

7、实例化:创建一个类的实例,类的具体对象。

8、方法:类中定义的函数。

9、对象:通过类定义的数据结构实例。对象包括两个数据成员(类变量和实例变量)和方法。

10、多继承:Python支持多继承。

class User:

height=1.65

weight=120

def __init__(self,name,height,weight):

self.name=name

self.height=height

self.weight=weight

def info(self):

print(self.__class__)

print("姓名:",self.name,",身高:",self.height,",体重:" ,self.weight)

zhangsan = User("张三",1.65,120)

zhangsan.info()

lisi = User("李四",1.55,140)

lisi.info()

print(id(zhangsan), id(lisi))

print(zhangsan==lisi)

print(isinstance(zhangsan,User))

print(isinstance(lisi,User))

print(type(zhangsan)==User)

print(type(lisi)==User)

输出:

姓名: 张三 ,身高: 1.65 ,体重: 120

姓名: 李四 ,身高: 1.55 ,体重: 140

35704904 35707816

False

True

True

True

True

结论:

1、_init__()方法是一种特殊的方法,被称为类的构造函数或初始化方法,当创建了这个类的实例时就会调用该方法

2、self代表类的实例,self在定义类的方法时是必须有的。

class User:

height=1.65

weight=120

def __init__(self,name,height,weight):

self.name=name

self.height=height

self.weight=weight

def info(self):

print(self.__class__)

print("姓名:",self.name,",身高:",self.height,",体重:" ,self.weight)

class Admin(User):

def setName(self,name):

User.name = name;

def setHeight(self,height):

User.height = height;

def setWeight(self,weight):

User.weight = weight;

def info(self):

print(self.__class__)

print(User.__class__)

print("姓名:", User.name, ",身高:", User.height, ",体重:", User.weight)

zhangsan = Admin("",0,0);

zhangsan.setName("张三")

zhangsan.setHeight(1.65)

zhangsan.setWeight(120)

zhangsan.info()

lisi = Admin("李四",1.55,140)

lisi.info()

输出:

姓名: 张三 ,身高: 1.65 ,体重: 120

姓名: 张三 ,身高: 1.65 ,体重: 120class P1:

def foo(self):

print('p1-foo')

class P2:

def foo(self):

print('p2-foo')

def bar(self):

print('p2-bar')

class C1(P1, P2):

pass

class C2(P1, P2):

def bar(self):

print( 'C2-bar')

class D(C1, C2):

pass

d=D()

d.foo()

d.bar()

输出:

p1-foo

C2-bar

结论:

1、实例d调用foo()时,搜索顺序是:D => C1 => C2 => P1

2、实例d调用bar()时,搜索顺序是:D => C1 => C2

3、可以看出,新式类的搜索方式是采用“广度优先”的方式去查找属性。

4、pass关键字,不做任何事情,一般用做占位语句。

其中:

1、共有变量,直接字母开头。

2、私有变量,使用__开头。

3、@classmethod,装饰器函数。

python是一种面相什么语言_Python面相对象编程的知识总结相关推荐

  1. python属于哪种类型的语言_Python是什么类型的编程语言,有什么特性

    由于近几年人工智能的不断发展,Python也跟着火了,因为Python是深度学习技术的主流应用编程语言.同时它的应用场景很多,被称为"胶水语言".下面给大家科普一下Python这门 ...

  2. python语言有哪两个系列_(转)Python学习笔记系列——Python是一种纯粹的语言

    在摸索适合自己的语言学习方法,看到一篇好文章,转之,侵删. Python的语法范式相当多.知识点相当细,但是Python是一种内在一致性很好的语言,理解了几条基本的规则,就很容易理解大部分语法与现象. ...

  3. 运行python的两种方式磁盘式_python计算机基础-Day1

    计算机基础-Day1 一.计算机基础 首先Python是一门编程语言 语言: 那什么是语言?语言就是一种事物与另一种事物沟通的介质. 所以说编程语言是程序员跟计算机沟通的介质,那么为什么要跟计算机沟通 ...

  4. python是一门面向过程的语言_python是面向对象还是面向过程?

    python是面向对象的,第一个公开发行版发行于1991年,Python语法简洁而清晰,具有丰富和强大的类库. Python是一种面向对象.解释型计算机程序设计语言,由Guido van Rossum ...

  5. python是一种什么类型语言-Python还是一种

    [判断题]Python不允许使用关键字作为变量名,允许使用内置函数名作为变量名,但这会改变函数名的含义 [填空题]Python还是一种 类型语言, 变量的类型也是可以随时变化的. [填空题]Pytho ...

  6. python适合多大小孩学好拼音_Python 适合初学编程的人学吗?

    机械专业,自学编程,同样由C(C++)开始,有编程基础后转学Python 个人认为,Python非常适合编程入门 作为一种解释性语言,Python的特点之一就是简单.易学.让程序员可以关注与算法本身而 ...

  7. python是一种解释型面向_Python是一种解释型、面向对象、动态数据类型的高级程序设计语言。...

    [多选] <汽车制动传动装置修理技术条件气压传动>(GB/T18275.1-2000)中,对贮气筒()提出了要求. [多选] 按<商用汽车发动机大修竣工出厂技术条件第1部分:汽油发动 ...

  8. 为什么python是解释型面向对象的语言_python为什么是面向对象的

    Python虽然是解释型语言,但从设计之初就已经是一门面向对象的语言,对于Python来说一切皆为对象.正因为如此,在Python中创建一个类和对象是很容易的,当然如果习惯面向过程或者函数的写法也是可 ...

  9. python是哪种类型的语言-Python到底是强类型语言,还是弱类型语言?

    Python实战社群 Java实战社群 长按识别下方二维码,按需求添加 扫码关注添加客服 进Python社群▲ 扫码关注添加客服 进Java社群▲ 作者丨豌豆花下猫 来源丨Python猫 0.前言 有 ...

最新文章

  1. [物理学与PDEs]第2章习题参考解答
  2. Golang简单写文件操作的四种方法
  3. HBase 默认配置项详细解读
  4. nssl1193-地主【dp】
  5. linux raw socket 例子,raw socket编程例子
  6. windows:(1)xmind常用快捷键
  7. c++数据结构队列栈尸体_数据结构-第三章:栈和队列(栈的应用、括号匹配、表达式转换)...
  8. Java String转int、float、double
  9. 列出搜索过的数据(类似京东顶部搜索框)
  10. C# Global定时执行Global文件aTimer处理
  11. [转]关于java的动态代理
  12. Maven无法下载com.oracle:ojdbc14:jar解决方法
  13. 计算机网络TETP功能和作用,常见tftp命令及用法
  14. ipv4的地址位数_ipv4
  15. Road Extraction by Deep Residual U-Net
  16. 百度商桥修改服务器,百度商桥在线客服设置的操作步骤
  17. 讯飞AIUI集成语音语义的21003错误
  18. 2016 Micu课堂王铎UI图标设计特训班高级高清原版教程
  19. LEADTOOLS V20,史无前例荣耀归来!!!
  20. Django 入门教程

热门文章

  1. Java:节点流和处理流的理解
  2. 让你python代码更快的3个小技巧
  3. 缓存击穿、缓存失效及热点key的解决方案
  4. jQuery框架学习第四天:使用jQuery操作元素的属性与样式
  5. 设置随机种子之后,网络训练结果仍然不同的解决方法(针对随机采样的数据集)torch设置随机种子,num_worker对数据采样的影响。
  6. 【C++】C++类的学习(三)——运算符重载与友元函数
  7. 面试题 08.09. 括号
  8. leetcode - 5. 最长回文子串
  9. Author Topic Model[ATM理解及公式推导]
  10. Redis(数据类型及操作指令、Java连接Redis)