类和对象
学习笔记
类就是一个模板,模板可以包含多个函数,函数里实现一些功能
对象则是根据模板创建的实例,通过实例对象可以执行类中的函数
可以表现为利用车的设计图纸(类)制造、实现出真车(对象)
类:类是具有一组相同或者相似特征【属性】和行为【方法】的一系列对象的结合
现实世界 计算机世界
行为-------------->方法
特征-------------->属性
对象:对象是实实在在的一个东西,类的实例化,具象化。
类是对象的抽象化 对象是类的一个实例
# 定义类和对象
# 类结构 类名 属性 方法
# class 类名:
# 属性
# 方法
class Person: #类名
'''
对应人的特征
'''
# name='小明' #类属性
age=20
'''
对应人的行为
'''
def __init__(self): # 魔术方法 主要用于实例的说明和初始化的工作
self.name='小明' # '小明'为初始值 该属于实例属性
def eat(self): #实例方法
print('大口的吃')
def run(self): #实例方法
print('快速的跑')
pass
pass
#创建一个对象【类的实例化】
#规则格式 对象名=类名()
xm=Person()
xm.eat() #调用函数
#使用这种实例方法的时候是不需要参数的,直接用好了。因为实例化对象的内存地址与self指向的内存地址一样。**可以得到self就是实例对象本身(此处为xm)**
# xm.run()
# print('{}的年龄是{}岁'.format(xm.name,xm.age))
#-----------------------------------------------------------------------------------
#__init__传参 通过参数的传递
class animal:# 创建一个动物类
#创建一个初始化方法
def __init__(self,name,sex,age):
self.name=name
self.sex=sex
self.age=age
pass
pass
am=animal('猪','母','10') #实例化对象
cat=animal('猫','公','15') #实例化对象
print('{}是{}的,年龄{}岁'.format(am.name,am.sex,am.age))
print('{}是{}的,年龄{}岁'.format(cat.name,cat.sex,cat.age))
init
1.python内置的函数。
2.是一个初始化的方法,用来定义实例属性和初始化数据的,在创建对象的时候自欧东调用 不用手动去调用。
3.利用传参的机制可以让我们定义功能更加强大并且方便的类。
self传参问题
所谓的self,可以理解为对象自己,某个对象调用其方法时,解释器会把这个对象作为第一个参数传递给self。
class Person:
def __init__(self,pro):
self.pro=pro
pass
'''
定义类
'''
def eat(self,name,food):
'''
实例方法
:return:
'''
# print('self={}'.format(id(self)))
# print('self=%s'%(id(self)))
print('%s喜欢吃%s,专业是%s'%(name,food,self.pro))
pass
pass
xw=Person('电子信息工程')
print('xw={}'.format(id(xw)))
xw.eat('小王','蔬菜')
# 小结 self特点
#self 只有在类中 实例方法的时候才有意义,在调用的时候不用传入相应的参数,而是由解释器直接去给
# self 的名字是可以更改的 可以定义成其他的名字,只是约定俗成的定义成self
# self指的是 类实例对象本身,相当于Java中的this