什么是对象
对象是从类中出来的, 只要是类名加上括号(), 这就是一个实例化过程, 就会实例化一个对象
- class Student:
- daily = '学习'
- examination = '考试'
- def __init__(self):
- print(self)
- print(666)
- def work(self,n):
- self.color = n
- print(f'{self.n}每天上课')
- def homework(self):
- print('家庭作业')
- obj = Student()
- # <__main__.Student object at 0x0000022B93988E80>
- # 666
- # <__main__.Student object at 0x0000022B93988E80>
从上看出, 实例化一个对象总共发生了三件事:
在内存中开辟一个对象空间
自动执行类中的__init__方法, 并将这个对象空间 (内存地址) 传给了__init__方法的第一个位置参数 self.
在__init__方法中通过 self 给对空间添加了属性
- class Student:
- daily = '学习'
- examination = '考试'
- def __init__(self,name,sex):
- self.n = name
- self.s = sex
- obj = Student('小黑','男')
- print(obj.__dict__)
- # {'n': '小黑', 's': '男'}
什么是 self:self 其实就是类中方法 (函数) 的第一个位置参数, 只不过解释器会自动将调用这个函数的对象传给 self. 所以咱们把类中的方法的第一个参数约定俗成设置成 self, 代表这个就是对象.
来源: http://www.bubuko.com/infodetail-3114807.html