学习python,从入门到放弃(25)


学习python,从入门到放弃(25)

面向对象编程

python中一切皆对象。

Python从设计之初就已经是一门面向对象的语言,正因为如此,在Python中创建一个类和对象是很容易的。

面向过程编程的核心思想便是将程序的执行流程化,即分步操作,分步的过程中解决问题。

面向对象编程的核心思想就是对象,对象其实就是一个容器将数据与功能整合到一起,只要是符合上述描述的事物都可以称之为是对象;模块文件内部含有数据和功能,也可以称之为面向对象编程。

面向过程与面向对象两者没有优劣之分,具体要结合实际情况。

类与对象的概念

对象是数据与功能的结合体,而类是用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。对象是类的实例。

类与对象的创建

创建类

class ClassName:
   '类的帮助信息'   #类文档字符串
   class_suite  #类体

类的帮助信息可以通过ClassName.__doc__查看。

class_suite 由类成员,方法,数据属性组成。

class ClassName:
   '类的帮助信息'   #类文档字符串
   class_suite  #类体
print(ClassName.__dict__)  # 返回值是一个字典
print(ClassName.__dict__['school'])  # 获取类中的属性
print(ClassName.__dict__['choose_course'])  # 获取类中的属性
'''类获取数据和功能有一个简便的方式>>>:句点符'''
print(ClassName.school)
print(ClassName.choose_course)

创建对象

obj1 = ClassName()  # 类名加括号就是在产生一个对象
print(obj1.__dict__)  # {}

类名加括号便可以产生对象。

对象的实例化

class Student:
    def __init__(self, name, age, gender):
        '''该方法就一个功能>>>:给对象添加独有的数据'''
        self.name = name  # obj.__dict__['name'] = name
        self.age = age  # obj.__dict__['age'] = age
        self.gender = gender  # obj.__dict__['gender'] = gender

类中的__init__方法会在类产生对象的时候自动执行,类产生对象的具体步骤如下:

  1. 先创建一个没有独有数据的空对象 {}
  2. 将空对象和类括号内传入的数据一并交给__init__执行,__init__的第一个参数就是对象本身,__init__(obj,name,age,gender)
  3. 将创建好的对象自动返回。

绑定方法

在类中定义的函数默认都是绑定给对象使用的,也就是说对象来调用时,会自动将对象当做第一个参数传入。这就是类中所有的函数第一个参数都是 self 的原因。

class Student:
    school = '清华大学'
    # __init__方法不要自己去调用 
    def __init__(self, name, age):
        self.name = name
        self.age = age

    def func(self):
        print('%s正在调用func方法'%self.name)

    def index(self):
        print('%s正在调用index方法'%self.name)

obj1 = Student('jason', 18)
# print(obj1)
obj2 = Student('kevin', 28)

相关