概念
对象是内存中存储数据的一块区域,有以下3个结构。
id(唯一性,内存地址)
type(类型)
value(对象值)
>>> a = 1
>>> id(a) #对象在内存中的地址
1761242128
>>> type(a) #对象类型
<class 'int'>
>>> a #对象值
1
面向对象与面向过程
-
面向对象编程(Object Oriented Programming,OOP,面向对象程序设计)
将问题分解成一个个对象,每个对象是一个整体,有自己的属性和方法,调用各个对象属性或方法完成既定目标。 -
面向过程
根据对应功能,进行顺序,选择,循环完成各个模块
类class
- 关键字class
class MyClass([父类]): #一般用大驼峰来命名
def __init__(self,name): #初始化,实例化类时自动运行
self.name = name
def fn(self):#类中的函数称为方法,至少一个self参数
print('self.name = ',self.name)
mc = myClass('mc')# 类的实例化
mc.fn()
#self.name = mc
#self.name = <__main__.MyClass object at 0x0000015F26D6FC18>转为10进制与下相等
print(type(mc),id(mc))
#<class '__main__.MyClass'> 1508185144344
print(type(MyClass))
#<class 'type'> 称为元类
类实例化后,会将实例名传入类方法中的第一个作为参数,规范写为self
- isinstance() 用来判断一个对象是否是一个类的实例
>>> a
1
>>> isinstance(a,int)
True
-
类的属性和方法
会先从各自对象找属性和方法,有则返回
若无,从该类中找属性和方法,有则返回,无则报错。类中保存公共的属性和方法