Python构建类函数 python类构造方法( 六 )


startswith(prefix[, start[, end]]), #是否以prefix开头
endswith(suffix[,start[, end]]),#以suffix结尾
备注:
这些函数都比较简单,顾名知义 。需要注意的是*with()函数族可以接受可选的 start, end 参数 , 善加利用,可以优化性能 。
另,自 Py2.5 版本起,*with() 函数族的 prefix 参数可以接受 tuple 类型的实参 , 当实参中的某人元素能够匹配,即返回 True 。
8、填充
字符串在输出时的对齐:
center(width[, fillchar]), 字符串中间对齐
ljust(width[, fillchar]), 字符串左对齐 , 不足部分用fillchar填充 , 默认的为空格
rjust(width[, fillchar]), 字符串右对齐,不足部分用fillchar填充 , 默认的为空格
zfill(width), 把字符串变成width长 , 并在右对齐,不足部分用0补足
expandtabs([tabsize])把字符串中的制表符(tab)转换为适当数量的空格 。
fillchar 参数指定了用以填充的字符,默认为空格
zfill的z为zero的缩写,顾名思义,是以字符0进行填充,用于数值输出
expandtabs()的tabsize 参数默认为8 。它的功能是把字符串中的制表符(tab)转换为适当数量的空格 。
9、编码
encode([encoding[,errors]]),
decode([encoding[,errors]])
这是一对互逆操作的方法,用以编码和解码字符串 。因为str是平台相关的,它使用的内码依赖于操作系统环境,
而unicode是平台无关的,是Python内部的字符串存储
Python构造函数 类是对象的模板,是抽象的 。
构造函数 init 是Python魔术方法之一 , 如图魔术方法
我们通过类模版去创建类的实例对象 , 然后再调用类定义的功能 。
那实例对象的属性是通过什么来初始化的?
这时候Python引入来构造函数 init
构造函数 , 会在创建实例对象之后Python会自动执行此方法,把初始化的属性特点放到实例对象里 。
通过前面的学习,我们知道一个python对象包含三个部分:id(识别码),type(对象类型) , value(对象的值)
那么我们进一步深入对象包含的三部分:
我们通过类创建实例对象后,需要定义构造函数 init ()方法 。
构造方法用于执行实例对象的初始化工作,即对象创建之后 , 初始化当前对象的相关的属性,无返回值
构造函数重点 :
我们通过栗子来学习构造函数的过程
构造函数初始化实例对象过程如下:
1.Animal类会通过默认的 new ()方法为实例对象在堆内存中为开辟一个空间
敲黑板,重点来啦~
拓展:
我们今天学习了构造函数 init () , 其在创建对象之后被Python自动调用初始化实例对象属性数据值,无返回值,并且构造函数不能被显示调用 。
创建对象时,如果需要,构造函数可以接受参数 。当创建没有构造函数的类时,Python会自动创建一个不执行任何操作的默认构造函数 。
每个类必须有一个构造函数,即使它只依赖于默认构造函数
好啦,以上是本期内容 , 欢迎大佬评论区指正~
核心解密Python函数在(类与函数之间)和(类与类之间)互相调用 首先来看一个函数间的调用
类方法:
执行结果:
metaclass能有什么用处,先来个感性的认识:
1.1 在wiki上面,metaclass是这样定义的:In object-oriented programming,
a metaclass is a class whose instances are classes.
Just as an ordinary class defines the behavior of certain objects,
a metaclass defines the behavior of certain classes and their instances.
也就是说metaclass的实例化结果是类,而class实例化的结果是instance 。我是这么理解的:

推荐阅读