1。类的内置方法
Python内部类:
所谓内部类,就是在类的内部定义的类,主要目的是为了更好的抽象现实世界。
例子:
汽车是一个类,汽车的底盘轮胎也可以抽象为类,将其定义到汽车内中,而形成内部类,
更好的描述汽车类,因为底盘轮胎是汽车的一部分。
内部类实例化方法:
方法1:直接使用外部类调用内部类
方法2:先对外部类进行实例化,然后再实例化内部类
out_name=outclass_name ()
in_name=out_name.inclass_name ()
in_name.method ()
<代码> # !/usr/bin/env python # - * -编码:utf - 8 - * 阶级(对象): 颜色=盎粕? __age=30 #私有属性 中国类(对象): print(“我是中国人”) def认为(自我): 自我。颜色="黑色" 打印”我是% s”% self.color 打印(“我是一个思想者”) 打印self.__age def __talk(自我): 打印“我与汤姆交谈” @classmethod #调用类的方法 def测试(自我): 打印(“这是类方法”) @staticmethod #调用类的方法 def test1 (): 打印(“这是静态方法”) 杰克=People.Chinese() 代码>
<代码> # !/usr/bin/env python # - * -编码:utf - 8 - * 阶级(对象): 颜色=盎粕? __age=30 #私有属性 中国类(对象): name="我是一个中国人。” def认为(自我): 自我。颜色="黑色" 打印”我是% s”% self.color 打印(“我是一个思想者”) 打印self.__age def __talk(自我): 打印“我与汤姆交谈” @classmethod #调用类的方法 def测试(自我): 打印(“这是类方法”) @staticmethod #调用类的方法 def test1 (): 打印(“这是静态方法”) 杰克=People.Chinese() #外部类调用内部类 打印jack.name #外部类调用内部类对象代码>
另一种方法,外部类调用内部类对象
<代码> # !/usr/bin/env python # - * -编码:utf - 8 - * 阶级(对象): 颜色=盎粕? __age=30 #私有属性 中国类(对象): name="我是一个中国人。” def认为(自我): 自我。颜色="黑色" 打印”我是% s”% self.color 打印(“我是一个思想者”) 打印self.__age def __talk(自我): 打印“我与汤姆交谈” @classmethod #调用类的方法 def测试(自我): 打印(“这是类方法”) @staticmethod #调用类的方法 def test1 (): 打印(“这是静态方法”) 任=人()#实例化外部类 杰克=ren.Chinese() #实例化内部类 打印jack.name #打印内部类属性 或 打印People.Chinese.name 打印People.Chinese () . name 代码>
魔术方法:
str(自我)
构造函数与析构函数
构造函数:
<代码>用于初始化类的内部状态,Python提供的构造函数是__init__ (): __init__():方法是可选的,如果不提供,python会给出一个默认的__init__方法。代码>
析构函数:
<代码>用于释放对象占用的资源,python提供的析构函数是__del__ (): __del__():也是可选的,如果不提供,则python会在后台提供默认析构函数。代码>
构造函数<强> str 强>
<代码> # !/usr/bin/env python # - * -编码:utf - 8 - * 阶级(对象): 颜色=盎粕? __age=30 #私有属性 中国类(对象): name="我是一个中国人。” def __str__(自我): 返回“这类人” def认为(自我): 自我。颜色="黑色" 打印”我是% s”% self.color 打印(“我是一个思想者”) 打印self.__age def __talk(自我): 打印“我与汤姆交谈” @classmethod #调用类的方法 def测试(自我): 打印(“这是类方法”) @staticmethod #调用类的方法 def test1 (): 打印(“这是静态方法”) 任=人()#实例化外部类 打印任#默认执行__str__ 代码>
<强> init 强>(自我)初始化类:
<代码> # !/usr/bin/env python # - * -编码:utf - 8 - * 阶级(对象): 颜色=盎粕? __age=30 #私有属性 中国类(对象): name="我是一个中国人。” def __str__(自我): 返回“这类人” def __init__(自我,c=住?:#类实例化时自动执行 自我。颜色=c self.think () def认为(自我): 自我。颜色="黑色" 打印”我是% s”% self.color 打印(“我是一个思想者”) 打印self.__age def __talk(自我): 打印“我与汤姆交谈” @classmethod #调用类的方法 def测试(自我): 打印(“这是类方法”) @staticmethod #调用类的方法 def test1 (): 打印(“这是静态方法”) 杰克=人(“绿色”) 任=人()#实例化外部类 打印任。颜色#通过对象访问属性是初始化后的值 打印的人。颜色#通过类访问还是原来的值 python test1.py (root@localhost 20180110) # 我是一个黑人 我是一个思想家 30. 黑色的 黄色的Python的内置方法和类的继承举例