1.理解面向对象思想
-
面向过程思想: 遇到问题,分析步骤.按照步骤解决问题.(复杂,重复)
-
面向对象思想: 遇到问题,找到能解决问题的对象去解决.(简单,复用)
2.类和对象
# 定义类的格式: # class 类名(): # 代码 # ......class Student(): def study(self): print('学生好好学习') def eat(self): print('学生大鱼大肉,好好吃.') if __name__ == '__main__': #创建对象格式: # 对象名 = 类名() xiaoming = Student() #使用对象的格式: #对象名.函数名() xiaoming.eat() xiaoming.study()
3.self关键字
# self指的是调用该函数的对象 # 调用函数我们不需要给self传参.因为python解释器会把调用者当成参数传递给selfclass Student(): def study(self): print('学生好好学习') # 谁来调用eat()-- self就是谁. def eat(self): print(self)#<__main__.Student object at 0x00000240B39B8460> print(id(self))#2476914476128 print('学生大鱼大肉,好好吃.') if __name__ == '__main__': xiaoming = Student() print(xiaoming) #<__main__.Student object at 0x00000240B39B8460> print(id(xiaoming)) #2476914476128 -- id()函数时对内存地址的封装. xiaoming.eat() print("*"*30) laowang = Student() print(laowang)
4.添加和获取属性
-
类的外部 操作 属性
类的外部可以给类添加属性.class Student(): def study(self): print('学生好好学习') # 谁来调用eat()-- self就是谁. def eat(self): print('学生大鱼大肉,好好吃.') if __name__ == '__main__': s1 = Student() # 类的外部>>>添加属性 #格式: 对象名.属性名 = 值 s1.name = 'tom' print(s1.name) s1.age = 19 print(s1.age) s2 = Student() # 类以外的属性.定义后方能使用. # print(s2.name)#AttributeError: 'Student' object has no attribute 'name'
-
类的内部添加属性