python是一种面相什么语言_Python面相对象编程的知识总结
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面相对象编程的知识总结相关推荐
- python属于哪种类型的语言_Python是什么类型的编程语言,有什么特性
由于近几年人工智能的不断发展,Python也跟着火了,因为Python是深度学习技术的主流应用编程语言.同时它的应用场景很多,被称为"胶水语言".下面给大家科普一下Python这门 ...
- python语言有哪两个系列_(转)Python学习笔记系列——Python是一种纯粹的语言
在摸索适合自己的语言学习方法,看到一篇好文章,转之,侵删. Python的语法范式相当多.知识点相当细,但是Python是一种内在一致性很好的语言,理解了几条基本的规则,就很容易理解大部分语法与现象. ...
- 运行python的两种方式磁盘式_python计算机基础-Day1
计算机基础-Day1 一.计算机基础 首先Python是一门编程语言 语言: 那什么是语言?语言就是一种事物与另一种事物沟通的介质. 所以说编程语言是程序员跟计算机沟通的介质,那么为什么要跟计算机沟通 ...
- python是一门面向过程的语言_python是面向对象还是面向过程?
python是面向对象的,第一个公开发行版发行于1991年,Python语法简洁而清晰,具有丰富和强大的类库. Python是一种面向对象.解释型计算机程序设计语言,由Guido van Rossum ...
- python是一种什么类型语言-Python还是一种
[判断题]Python不允许使用关键字作为变量名,允许使用内置函数名作为变量名,但这会改变函数名的含义 [填空题]Python还是一种 类型语言, 变量的类型也是可以随时变化的. [填空题]Pytho ...
- python适合多大小孩学好拼音_Python 适合初学编程的人学吗?
机械专业,自学编程,同样由C(C++)开始,有编程基础后转学Python 个人认为,Python非常适合编程入门 作为一种解释性语言,Python的特点之一就是简单.易学.让程序员可以关注与算法本身而 ...
- python是一种解释型面向_Python是一种解释型、面向对象、动态数据类型的高级程序设计语言。...
[多选] <汽车制动传动装置修理技术条件气压传动>(GB/T18275.1-2000)中,对贮气筒()提出了要求. [多选] 按<商用汽车发动机大修竣工出厂技术条件第1部分:汽油发动 ...
- 为什么python是解释型面向对象的语言_python为什么是面向对象的
Python虽然是解释型语言,但从设计之初就已经是一门面向对象的语言,对于Python来说一切皆为对象.正因为如此,在Python中创建一个类和对象是很容易的,当然如果习惯面向过程或者函数的写法也是可 ...
- python是哪种类型的语言-Python到底是强类型语言,还是弱类型语言?
Python实战社群 Java实战社群 长按识别下方二维码,按需求添加 扫码关注添加客服 进Python社群▲ 扫码关注添加客服 进Java社群▲ 作者丨豌豆花下猫 来源丨Python猫 0.前言 有 ...
最新文章
- [物理学与PDEs]第2章习题参考解答
- Golang简单写文件操作的四种方法
- HBase 默认配置项详细解读
- nssl1193-地主【dp】
- linux raw socket 例子,raw socket编程例子
- windows:(1)xmind常用快捷键
- c++数据结构队列栈尸体_数据结构-第三章:栈和队列(栈的应用、括号匹配、表达式转换)...
- Java String转int、float、double
- 列出搜索过的数据(类似京东顶部搜索框)
- C# Global定时执行Global文件aTimer处理
- [转]关于java的动态代理
- Maven无法下载com.oracle:ojdbc14:jar解决方法
- 计算机网络TETP功能和作用,常见tftp命令及用法
- ipv4的地址位数_ipv4
- Road Extraction by Deep Residual U-Net
- 百度商桥修改服务器,百度商桥在线客服设置的操作步骤
- 讯飞AIUI集成语音语义的21003错误
- 2016 Micu课堂王铎UI图标设计特训班高级高清原版教程
- LEADTOOLS V20,史无前例荣耀归来!!!
- Django 入门教程
热门文章
- Java:节点流和处理流的理解
- 让你python代码更快的3个小技巧
- 缓存击穿、缓存失效及热点key的解决方案
- jQuery框架学习第四天:使用jQuery操作元素的属性与样式
- 设置随机种子之后,网络训练结果仍然不同的解决方法(针对随机采样的数据集)torch设置随机种子,num_worker对数据采样的影响。
- 【C++】C++类的学习(三)——运算符重载与友元函数
- 面试题 08.09. 括号
- leetcode - 5. 最长回文子串
- Author Topic Model[ATM理解及公式推导]
- Redis(数据类型及操作指令、Java连接Redis)