栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python类代码编写细节

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python类代码编写细节

一、class语句

python的class就和def一样,class语句是对象的创建者并且是一个隐含的赋值运算:当它执行时会产生类对象,并把其引用值存储到前面所使用的名称中。此外像def一样,class语句也是真正的可执行代码。直到python抵达并运行定义的class语句前,我们的类都不存在。

1.1 一般形式

class语句的一般形式如下(当列出一个以上的父类会触发多重继承):

class name(superclass,...):
	attr=value
	def method(self,...):
		self.attr=value

在class语句内,任何赋值语句都会产生类属性,并且还有特殊名称方法重载运算符。例如,如果定义了名为__init__的构造函数就会在实例对象创建时调用。

1.2 示例

待补充 96

二、方法

方法是位于class语句的主体内,由def语句创建的函数对象。从抽象的角度来看,方法为示例对象提供了要继承的行为。从程序设计的角度来看,方法的工作方式与简单函数完全一致,只是有一个重要差异:方法的第一位参数总是接受方法调用的隐含主体,也就是当前的实例对象。

换句话说,python会自动把实例方法的调用映射为类的方法函数,如下所示。方法调用需通过实例,就像这样:

instance.method(args...)

这会被自动翻译成以下形式的类方法调用:

class.method(instance,args...)

除了方法属性名称是正常被继承的之外,第一位参数就是方法调用背后唯一的神奇之处。在一个类的方法中,按惯例第一位参数通常都称为self(从技术上来讲,只有其位置重要,名称不重要)。这个参数给方法提供了一个钩子,从而返回调用的主体也就是实例对象:因为类可以产生许多实例对象,所以需要这个参数管理每个实例彼此各不相同的数据。

2.1 示例


2.2 调用父类构造函数

方法一般是通过实例来调用的,不过也有一些通过类调用的特殊函数,其中一个就是构造函数。正如所有其他属性,__init__方法也是由继承来查找的。也就是说,在构造时,python会找出并且只调用一个__init__。如果要保证子类的构造函数也会执行父类构造时的逻辑,那么一般都必须通过类显式地调用父类的__init__方法:

class super:
	def __init__(self,x):
		'''default code'''

class sub(super):
	def __init__(self,x,y):
		super.__init__(self,x)
		'''custom code'''

test=sub(1,2)

2.3 其他方法调用的可能性


三、继承

3.1 属性树的构造


3.2 定制被继承的方法


3.3 类接口技术


3.4 抽象父类



3.5 python3中的抽象父类:预览


四、命名空间:结论
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/313611.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号