类和实例
class MyNewObjectType(bases):
'define MyNewObjectType class'
class_suite
实例化
myFirstObject = MyNewObjectType()
方法
class MyDataWithMethod(object):
def printFoo(self):
print 'You invoked printFoo()!'
myObj = MyDataWithMethod() #创建实例
myObj.printFoo() #调用方法
You invoked printFoo()!
创建一个类
class AddrBookEntry(object):
'address book entry class'
def __init__(self, nm, ph):
self.name = nm
self.phone = ph
print 'Created instance for:', self.name
def updatePhone(self, newph):
self.phone = newph
print 'Updated phone# for:', self.name
john = AddrBookEntry('John Doe', '400-855-1212') #创建实例(实例化)
john.name #访问实例属性
john.updataPhone('415-533-4343') #方法调用(通过实例)
创建子类
继承是进行子类化是创建和定制新类类型的一种方式,新的类将保持已存在类所有的特性
class EmplAddrBookEntry(AddrBookEntry):
'Employee Address Book Entry class' #员工地址簿类
def __init__(self, nm, ph, id, em):
AddrBookEntry.__init__(self, nm, ph) #基类构造器显式写出
self.empid = id
self.email = em
def updateEmail(self, newem):
self.email = newem
print 'Update e-mail address for:', self.name
命名习惯:
- 类名:大写字母打头
- 数据属性:数据值的名字,使用名词作为名字
- 方法:对应对象或值的行为,使用谓词(动词加对象)
Python Style Guide
: 推荐使用 ++骆驼记法++ 的++下划线++方式。如:update_phone
、update_email