类的定义
1. 说明
万物皆对象
类:是对现实事物的属性和行为的抽象
对象:是类的实例化,是真实存在的
类与对象的关系
类由三个部分组成:类的名称,属性,行为(方法)
2. 类的定义格式
'''
几种类的定义方式
类的定义采用大驼峰的命名方式
'''
# 经典类的定义方式
class Hero:
#定义一个方法
def show(self):
print('ok')
class Dtu():
def show(self):
print('ooo')
# 现在3以后的版本使用的都是这种方式
class Stu(object):
def show(self):
print('new')
3. 实例化对象以及使用
3.1 实例化对象
class Person(object):
# 第一个方法
def eat(self):
print('一个人再吃')
# 第二个方法
def sleep(self):
print('sleep')
# 实例化对象
# 就是会在内存空间分配一个第一给这个对象位置,然后把地址返回个这个对象的引用<__main__.Person object at 0x0000017A65634550>
tom = Person()
print(tom)
tom.eat()
tom.sleep()
方法的应用:
class Person(object):
# 第一个方法
def eat(self,food):
print('一个人再吃',food)
# 第二个方法
def sleep(self,t):
print('sleep',t)
tom = Person()
jack = Person()
print(tom)
tom.eat('螃蟹')
tom.sleep(4)
jack.eat('juce')
jack.sleep(9)
3.2 对象动态绑定属性
class Person(object):
# 第一个方法
def eat(self,food):
print(self.name,'再吃',food)
# 第二个方法
def sleep(self,t):
print(self.name,'sleep',t)
tom = Person()
jack = Person()
print(tom)
print(jack)
tom.name='Tom'
jack.name='Jack'
tom.eat('juce')
tom.sleep(10)
jack.eat('苹果')
jack.sleep(2)
3.3 __init__方法
实例化对象的时候自动的调用
'''
__init__方法
实例化对象的时候自动调用
'''
class Person(object):
def __init__(self,name,age):
self.name = name
self.age = age
def eat(self,food):
print(self.name,'eat',food)
tom = Person('tom',12)
print(tom.name)
print(tom.age)
tom.eat('haixain')
3.4 __str()__方法:格式化输出,必须有返回值return
'''
__str__方法
必须要有返回值
'''
class Person(object):
def __init__(self,name,age,height):
self.name = name
self.age = age
self.height = height
def __str__(self):
s = self.name.ljust(10) +str(self.age).ljust(5)+self.height.ljust(10)
return s
tom = Person('tom',12,'182cm')
print(tom)
s = 'tom'
print(s.center(10))
3.5 del资源自动的释放
class Student(object):
def __init__(self,name):
self.name = name
def __del__(self):
del self.name
print('del start ')
s = Student('n')
# del s
print('over')