如何理解python面向对象编程?Python面向对象编程基础的示例分析

这篇文章主要为大家展示了“如何理解python面向对象编程,Python面向对象编程基础的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让我们一起研究并学习一下“如何理解python面向对象编程,Python面向对象编程基础的示例分析”这篇文章吧 。

如何理解python面向对象编程?Python面向对象编程基础的示例分析

文章插图
1、类的定义
Python中类的定义与对象的初始化,在python中所有类的父类都是object,需要继承 。
由于Python是动态语言,因此可以直接为对象添加属性并赋值而不用在类定义中声明
例如:
class person(object):  # 定义一个person类  passp = person()  # 初始化一个Person对象p.name="xiaoxiao"  # 对象属性赋值这里的person是直接在class中定义的变量我们称它为类属性,如果是在_init_中定义的就为对象属性,对象属性有权访问不能进行修改,而类属性则对所有对象共享 。请记住以_开头的类都是私有变量,无法被外部访问 。这时候就需要对象的实例方法进行操作,实例方法的第一个参数默认为self代表对象自己 。下面看一个例子:
lass person(object):  count = 0  # 类属性  @classmethod:  def get_count(cls):  # 类方法    return cls.count  def __init__(self,name,gender,birth,**kw):    person.count+=1  # 访问类属性    self.name = name    self.__gender = gender    self.birth = birth    for k, v in kw.iteritems():  # 遍历之后的键值对,设置属性      setattr(self, k, v)  def get_name(self):  # 定义实例方法    return self.__namexiaoxiao = person('XiaoXiao', 'famale', '2022-7-8', job='worker')xiaoxiao.count==9  # 为对象创建属性,不会修改person.countprint(xiaoxiao.job)  # 显示worker print(xiaoxiao.__gender)  # 无法访问,抛出异常AttributeErrorprint(xiaoxiao et_name())  # 通过实例方法访问内部变量2、类的继承
举个例子:
class person(object):  def __init__(self, name, gender):    self.name = name    self.gender = genderclass Teacher(person):  # 继承父类person  def __init__(self, name, gender, course):    super(Teacher,self).__init__(name,gender)  # 调用父类的初始化函数    self.course= course  # 完成子类变量的初始化t = Teacher('Alice', 'Female', 'English')print(isinstance(t, person))  # 结果为True,子类也是父类的类型print(dir(t))【如何理解python面向对象编程?Python面向对象编程基础的示例分析】# 显示对象的所有属性,dir()方法返回变量的所有属性和方法列表

以上代码需要注意的是在子类Teacher中是借助super(子类名,self)调用父类的初始化函数来完成对父类中参数的初始化,还可以直接通过父类名称调用父类的方法通过type()方法输出变量的类型,isinstance()可以判断变量是否是某个类型,dir()方法返回变量的所有属性和方法列表 。输出对象t的属性结果如下,其中带__的为默认属性,其余为自定义的属性 。
以上就是有关如何理解python面向对象编程,Python面向对象编程基础的示例分析”的讲解,想要学习更多的内容,可继续关注哦!

推荐阅读