一、概念
1.注重对象和职责,不同的对象承担不同的职责。
2.适合应对复杂的需求变化,是专门应对复杂项目开发。
二、类和对象
类:是对一群具有相同特征或者行为的事物的一个统称,是抽象的,不能直接使用,特征也被称为属性,行为也被称为方法。类相当于是一个模块,是负责创建具体对象的。
对象:对象是由类创建出来的一个具体存在,可以直接使用。
两者之间的关系:
类是模块,对象是根据类这个模块创建出来的,应该先有类,再有对象。类只有一个,而对象可以有多个。类中定义了什么属性和方法,对象中就有什么属性和方法。
三、内置函数
方法 |
作用 |
__new__ |
创建对象时,会被自动调用 |
__init__ |
对象被初始化时,会被自动调用 |
__del__ |
对象被从内存中销毁前,会被自动调用 |
__str__ |
返回对象的描述信息 |
四、类的操作
创建类语法:
class 类名:
def 方法1(self, 参数列表):
pass
def 方法2(self, 参数列表):
pass
类名的命名规则要符合大驼峰命名。
创建对象语法:
对象变量 = 类名()
代码示例如下:
# 创建类
class Dog:
def eat(self):
print('吃')
def sleep(self):
print('睡')
# 创建对象
wancai = Dog()
wancai.eat()
wancai.sleep()
输出:
吃
睡
创建对象后,wancai这个变量记录的是对象在内存中的地址,也就是引用了新建的对象。
self参数:
由哪一个对象调用,方法内的self就是哪一个对象的引用,表示当前调用方法的对象自己,在方法内部可以通过self.访问对象的属性也可以通过self.调用其他对象方法。
代码示例如下:
# 创建类
class Dog:
def eat(self):
print('吃')
# 调用对象中里其他方法
self.sleep()
def sleep(self):
print('睡')
# 创建对象
wancai = Dog()
wancai.eat()
#wancai.sleep()
输出:
吃
睡
初始化方法:
当使用类名()创建对象时,会自动执行以下操作:
1.为对象在内存中分配空间-创建对象
2.为对象的属性设置初始值-初始化方法(init)
代码示例如下:
# 创建类
class Dog:
name = ''
def __init__(self):
print('初始化方法')
self.name = 'aa'
def eat(self):
print('%s吃骨头' % (self.name))
# 调用对象中里其他方法
self.sleep()
def sleep(self):
print('睡')
# 创建对象
wancai = Dog()
wancai.eat()
输出:
初始化方法
aa吃骨头
睡
创建对象的时候回调用__init__方法,在这个方法里面我们可以进行初始化的操作。
初始化同时设置初始化值:
可以对__init__方法进行改造,加上自定义参数
代码示例如下:
# 创建类
class Dog:
name = ''
def __init__(self, name):
print('初始化方法')
self.name = name
def eat(self):
print('%s吃骨头' % (self.name))
# 调用对象中里其他方法
self.sleep()
def sleep(self):
print('睡')
# 创建对象
wancai = Dog('wancai')
wancai.eat()
输出:
初始化方法
wancai吃骨头
睡
__del__方法:
当一个对象呗销毁前,会自动调用__del__方法。我们可以在对象被销毁前处理一些事情,就可以在__del__方法加上自己的逻辑。
代码示例如下:
# 创建类
class Dog:
name = ''
def __init__(self, name):
print('初始化方法')
self.name = name
def __del__(self):
print('对象被销毁处理一些操作..')
def eat(self):
print('%s吃骨头' % (self.name))服务器托管网
# 调用对象中里其他方法
self.sleep()
def sleep(self):
print('睡')
# 创建对象
wancai = Dog('wancai')
wancai.eat()
# 销毁对象
del wancai
str方法:
如果我们希望使用print输出对象变量时,能够打印自定义内容,我们可以利用__str__这个方法实现我们的自定义输出。
代码示例如下:
# coding=utf-8
# 创建类
class Dog:
name = ''
def __init__(self, name):
print('初始化方法')
self.name = name
def __str__(self):
return '我是:%s' % self.name
def eat(self):
print('%s吃骨头' % (self.name))
# 调用对象中里其他方法
self.sleep()
def sleep(self):
print('睡')
# 创建对象
wancai = Dog('wancai')
wancai.eat()
# 打印对象 调用__str__方法
print(wancai)
输出:
初始化方法
wancai吃骨头
睡
我是:wancai
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
机房租用,北京机房租用,IDC机房托服务器托管网管, http://www.fwqtg.net
一般我们对缓存读操作的时候有这么一个固定的套路:
一般我们对缓存读操作的时候有这么一个固定的套路: 如果我们的数据在缓存里边有,那么就直接取缓存的。 如果缓存里没有我们想要的数据,我们会先去查询数据库,然后将数据库查出来的数据写到缓存中。 最后将数据返回给请求 代码例子: 1 @Override 2 publ…