今天记录的几乎没有消化,搜了好多教程,一点点啃,先简单记录一些,陆续补充
类的格式
class A (object)
类的定义
class StuentName(object): 这里要注意拼写
pass类里面一般都是由很多函数组成,函数的第一个参数默认都是self
如果需要全局变量,就在类的内部直接定义类的内部在调用函数或者调用变量的时候,必须使用self.变量 或者self.函数
self 代表的是类实例化以后的个体
4.类的实例化
实例化类的首字母小写作为实例,然后类实例化
studentName = StudentName();构造器
继承
构造器
类的构造器
就是类在初始化的时候,首先,必须要执行的函数
比如说:
class A(object):
#
def __init__(self, name):
self.name = name
print("init class A")
def hello(self):
print("hello {0}".format(self.name))
a = A("ajing") #这是把A实例化
a.hello()
在实例化以后,只有在调用后才会执行
继承
在python中继承中的一些特点:
1:在继承中基类的构造(init()方法)不会被自动调用,它需要在其派生类的构造中亲自专门调用。
2:在调用基类的方法时,需要加上基类的类名前缀,且需要带上self参数变量。区别在于类中调用普通函数时并不需要带上self参数
3:Python总是首先查找对应类型的方法,如果它不能在派生类中找到对应的方法,它才开始到基类中逐个查找。(先在本类中查找调用的方法,找不到才去基类中找)。
如果在继承元组中列了一个以上的类,那么它就被称作”多重继承”
单下划线”_”
在Python中,通过单下划线””来实现模块级别的私有化,一般约定以单下划线””开头的变量、函数为模块私有的,也就是说”from moduleName import *”将不会引入以单下划线”_”开头的变量、函数。
双下划线”__”
对于Python中的类属性,可以通过双下划线”__”来实现一定程度的私有化,因为双下划线开头的属性在运行时会被”混淆”(mangling)。
双下划线的另一个重要的目地是,避免子类对父类同名属性的冲突
“”和” _”的使用 更多的是一种规范/约定,不没有真正达到限制的目的:
“_”:以单下划线开头的表示的是protected类型的变量,即只能允许其本身与子类进行访问;同时表示弱内部变量标示,如,当使用”from moduleNmae import *”时,不会将以一个下划线开头的对象引入。
“__”:双下划线的表示的是私有类型的变量。只能是允许这个类本身进行访问了,连子类也不可以,这类属性在运行时属性名会加上单下划线和类名。
能力有限,还在理解,照猫画虎敲出来的代码到处报错,占时不贴图,后续补齐
菜鸟教程的讲解还是比较明朗的,慢慢消化
本节内容主要参考教程
http://www.runoob.com/python/python-object.html
http://python.jobbole.com/82297/