1.面向对象定义
在讲面向对象之前,先来看看面向过程。
面向过程:将一个功能分解成一个一个小的步骤,通过完成一个个步骤来完成一个程序。
面向对象:关注的是对象,而不关注过程。它的编程思想是将所有的功能统一保存到对应的对象中,易于维护和复用。
class Person():
# 在类中可以定义变量和函数
name = 'swk' # 公共属性,所有实例都可以访问
def say_hello(self):
print('你好!%s' % self.name)
p1 = Person()
p2 = Person()
p1.name = '猪八戒'
# 调用方法,对象.方法名()
p1.say_hello()
2.类特殊方法
特殊方法都以__开头,__结尾的方法。
特征:特殊方法不需要我们自己调用。
学习特殊方法:1.特殊方法什么时候调用 2.特殊方法有什么作用。
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
# 当我们打印一个对象时,实际上打印的是对象中的特殊方法__str__返回值
def __str__(self):
return 'Person [name = %s, age = %s]'%(self.name, self.age)
# __repr__作用:指对象在’交互模式‘中直接输出的效果
def __repr__(self):
return 'hello'
# object.__lt__(self, other) 小于
# object.__le__(self, other) 小于等于
# object.__eq__(self, other) 等于
# object.__ne__(self, other) 不等于
# object.__gt__(self, other) 大于
# object.__ge__(self, other) 大于等于
def __gt__(self, other):
return self.age > other.age
def say_hello(self):
print('大家好!我是%s' % self.name)
# del是一个特殊方法,它会在对象被垃圾回收前调用
def __del__(self):
print('Person()对象被删除了~',self)
p1 = Person('孙悟空'