面向对象:
一种基于面向过程的新的编程思想,顾名思义该思想是站在对象角度思考问题,我们把多个功能合理放到不同对象里,强调的是具备某些功能的对象。类:
实际上是对某种类型的对象定义变量和方法的原型。它表示对现实生活中一类具有共同特征的事物的抽象,是面向对象编程的基础。
类是对某个对象的定义。它包含有关对象动作方式的信息,包括它的名称、方法、属性和事件。实际上它本身并不是对象,因为它不存在于内存中。
当引用类的代码运行时,类的一个新的实例,即对象,就在内存中创建了。虽然只有一个类,但能从这个类在内存中创建多个相同类型的对象。
一.类的设计:
在程序开发过程中,设计一个类,通常需要满足三个要求:
1.类名:这类事物的名字,满足大驼峰命名法
2.属性:这类事物具有的特征
3.方法:这类事物具有的行为
当一个类定义完成后,要使用这个类来定义对象,语法格式: 对象名 = 类名()
class student():
def study(self): # 定义的方法study
print '%s要好好学习!' % self.name
# 哪一个对象调用的方法,self就是哪一个对象的引用
def dohomework(self): #定义的方法dohomework
print '学生每天都要写作业!'
def dosport(self): # 定义的方法dosport
print '学生每天都要锻炼身体!'
jay = student() # 利用student类创建出一个对象jay
jay.name = 'jay'
jay.dohomework() # 调用三种方法
jay.dosport()
jay.study()
二.类中常用的三个内置方法
1.init()方法 当使用类名()创建对象时,Python解释器会自动执行以下操作:
(1).为对象在内存中分配空间———创建对象
(2).调用初始化方法为对象的属性设置初始值——初始化方法(init)
这个初始化方法是对象的内置方法,是专门用来定义一个类具有哪些属性的方法
class cat():
def __init__(self):
print 'hello!'
# 使用类名()创建对象时,自动调用__init__()初始化方法
tom = cat()
2.del()内置方法
在整个程序结束后,将一个对象从内存中撤销
class Cat():
def __init__(self, name):
self.name = name
print '%s is coming!' % self.name
def __del__(self):
print '%s is leaving!' % self.name
tom = Cat('tom')
# 如果调用del方法,则在调用del时立即删除该对象的内存
# del tom
print '*' * 50
3.str() 在Python中,如果直接输出创建的对象,会输出这个变量引用的对象是由哪一个,类创建的对象以及在内存中的地址(十六进制)
如果希望使用print输出对象变量,能够打印自定义的内容,就可以利用str内置方法
class cat():
def __init__(self, name):
self.name = name
def __str__(self):
# 必须返回一个字符串
return 'i am %s' % self.name
tom = cat('tom')
print tom