python基础 类与对象

Posted zero1230

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python基础 类与对象相关的知识,希望对你有一定的参考价值。

类与对象的概念

  类即类别、种类,是面向对象设计最重要的概念,对象是特征与技能的结合体,而类则是一系列对象相似的特征与技能的结合体。

  • 在现实世界中:肯定是先有对象,再有类
  • 在程序中:务必保证先定义类,后产生对象

      在Python中程序中的类用class关键字定义,而在程序中特征用变量标识,技能用函数标识,因而类中最常见的无非是:变量和函数的定义

  

class Student:
    school=‘xxxxx‘
    def learn(self):
        print(‘is learning‘)

    def eat(self):
        print(‘is eating‘)

    def sleep(self):
        print(‘is sleeping‘)

注意:

  • 类中可以有任意python代码,这些代码在类定义阶段便会执行,因而会产生新的名称空间,用来存放类的变量名与函数名,可以通过Student.__dict__查看
  • 类中定义的名字,都是类的属性,点是访问属性的语法。
  • 对于经典类来说我们可以通过该字典操作类名称空间的名字,但新式类有限制

类的使用

  • 引用类的属性
OldboyStudent.school #查
OldboyStudent.school=‘Oldboy‘ #改
OldboyStudent.x=1 #增
del OldboyStudent.x #删
  • 调用类,或称为实例化,得到程序中的对象
s1=Student()
s2=Student()
s3=Student()

如此,s1、s2、s3都一样了,而这三者除了相似的属性之外还各种不同的属性,这就用到了__init__
  • __init__方法
该方法是在对象产生之后才会执行,只用来为对象进行初始化操作,可以有任意代码,但一定不能有返回值
class OldboyStudent:
    ......
    def __init__(self,name,age,sex):
        self.name=name
        self.age=age
        self.sex=sex
    ......

s1=Student(‘rain‘,‘男‘,28) #先调用类产生空对象s1,然后调用Student.__init__(s1,‘rain‘,‘男‘,28)
s2=OldboyStudent(‘王大智‘,‘女‘,38)
 

对象的使用

对象的名称空间可以用s2.__dict__查看,查看结果为
{‘name‘: ‘王大智‘, ‘age‘: ‘女‘, ‘sex‘: 38}

s2.name 查,等同于s2.__dict__[‘name‘]
s2.name=‘王三‘ 改,等同于s2.__dict__[‘name‘]=‘王三‘
s2.course=‘python‘ 增,等同于s2.__dict__[‘course‘]=‘python‘
del s2.course 删,等同于s2.__dict__.pop(‘course‘)


  

 





以上是关于python基础 类与对象的主要内容,如果未能解决你的问题,请参考以下文章

python基础 类与对象

Python基础-类与对象

python 基础类与对象函数实例

Python学习-基础篇5 常用模块+类与对象

Python基础学习第十五节 类与继承(类与继承,这一篇就足够了)

Python基础知识详解 从入门到精通类与对象