对象的简介:
1.python是一个面向对象的编程语言
2.对象就是内存中用来存储指定数据的一块区域
3.对象的结构 每个对象当中都保存了3中数据
id (标识) id是由解析器生成的Cpython中 id就就是对象的内存地址
type(类型) 用来标识当前对象所属的类型,类型就决定了对象有什么功能
value(值) 就是对象中存储的具体数据
对象分为两大类:可变对象 值可以改变
和不可变对象 值不可以改变
内置对象:int str list dict .....
如果多个对象是通过一个类创建出来的,我们称这些对象是一类对象
类也是一个对象,类一个用来创建对象的对象
类是type类型的对象,定义类实际上是定义一个type类型对象
方法调用和函数调用的区别
如果是函数调用,有几个形参,就会传递几个实参
如果是方法调用,默认指定一个形参,所以方法中至少要有一个形参
实例对象可以访问到类对象中的属性和方法
属性和方法的查找流程
当我们调用一个对象的属性时,解析器会先从当前对象寻找是否含有该属性
在类中定义方法会默认传递一个参数,通过现象,如果是p1调用,self就是p1对象
如果是p2 调用,self就是p2对象
例如:
class Person():
name = '小明'
def speak(self):
print('您好:我是 %s' %self.name)
print(self)
p1 = Person()
p2 = Person()
p1.name = 'hahha'
p2.name = 'kekke'
p1.speak() # 你好我是hahah
print(p1)
p2.speak() # 你好我是kekke
print(p2)