学习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__方法会在类产生对象的时候自动执行,类产生对象的具体步骤如下:
- 先创建一个没有独有数据的空对象 {}
- 将空对象和类括号内传入的数据一并交给
__init__执行,__init__的第一个参数就是对象本身,__init__(obj,name,age,gender)。 - 将创建好的对象自动返回。
绑定方法
在类中定义的函数默认都是绑定给对象使用的,也就是说对象来调用时,会自动将对象当做第一个参数传入。这就是类中所有的函数第一个参数都是 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)