目录[-]
1、Python中一切皆为对象
面向过程和面向对象是两大编程方式,其中面向对象的编程方式又有着类和对象两个核心概念。类是抽象的存在,不能直接使用,但类中包含属性和方法,对象则是由类创建出来的一个具体实例,在程序中先有类,然后才有对象。
面向对象的三大特性:封装,继承和多态。
2、对象常用的方法
• 内置函数 dir(),则可以查看对象内的所有属性及方法
• __方法名 格式的方法是python的内置方法或属性
3、定义简单的类模版
class Animal:
# 实例化一个类时,调用 __init__(self)方法
def __init__(self, name):
# 为类定义一个属性:name
self.name = name
# 为类定义一个私有属性:__age
self.__age = 10
# 在对象销毁前,自动调用 __del__(self)方法
def __del__(self):
self.name = ""
self.__age = ""
# 返回对象的描述信息,表现在print(Animal)时返回的信息
def __str__(self):
print("this is a test method!")
# 定义一个公有的方法
def bark(self):
print("bark!!!")
# 定义一个私有的方法
def __dogbark(self):
print("dog!!!")
# 继承
class Dog(Animal):
# 重写
def bark(self):
print("汪汪!!!")
4、类属性的作用
类属性通常用来记录与这个类相关的特征,不会用于记录对象的特征.类属性直接定义在class下方在类内,而非Init方法内。定义在Init中的则为对象属性。在内存中类只有一份,也是一种对象,而对象则有多个。
class Dog:
count = 0
def __init__(self):
Dog.count += 1
xiaohuang = Dog()
xiaohei = Dog()
print(Dog.count)
5、定义类方法
@classmethod
def 类方法名(cls):
pass
在方法内调用类其他属性:cls.count
在方法内调用类其他方法:cls.—
6、静态方法
如果一个类方法既不访问实力化属性和实例化方法,也不访问类属性和类方法,则可以将这个方法定义为静态方法。静态方法定义无须传递参数。
class Dog:
@staticmethod
def run():
print("running...")
Dog.run()
通过类名.静态方法名字直接调用即可,不需要创建对象。
本文探讨了Python中面向对象编程的核心概念,包括类的定义、对象的创建与方法,以及封装、继承和多态三大特性。通过实例演示了如何定义简单类模板,理解类属性和类方法,并展示了继承和静态/静态方法的使用。
475

被折叠的 条评论
为什么被折叠?



