day23 面向对象

一、面向对象

1、面向对象和面向过程

​ 面向过程:

​ 优点:复杂问题流程化,进而简单化

​ 缺点:可扩展性差

​ 面向对象:

​ 优点:可扩展性高

​ 缺点:编写复杂

2、类与对象

​ 对象:属性和方法的结合体

​ 类:一系列共同的属性和方法

​ 现实生活中:先有对象再有类

​ 程序中:先有类再有对象

# 定义类(类名建议用驼峰命名)
# class关键字 类名:

class Stutend:
    school = 'oldboy'
    
    def study(self):
        print('学习')

# 生成对象:类加括号,生成对象
stu_1 = Student()
# 获取属性和方法:通过.获取

print(stu_1.school)
print(stu_1.study)

# 查看类中的属性和函数
print(Student.__dict__)
# 类调用方法,需要传递self参数
Student.study(123)
# 对象调用方法,不许要传递self参数
stu_1.study

# 属性的查找顺序
# 先从对象自身找----->类中找----->没找到就报错

# 向对象放属性
# 方式一:
stu_1 = Student()
stu_1.name = 'nick'
# 方式二:通过__init__方法
class Student:
    school = '123'
    
    def __init__(self, name):
        self.name = name
    
    def study(self):
        print('学习')
        
# 产生对象
stu_1 = Student('nick')
# 当实例化对象的时候,会自动调用__init__方法,完成对象的初始化3、

3、绑定方法

# 绑定方法:
#       定义在类内部的方法:
#       如果类来调用:就是一个普通函数,有几个参数就需要传几个参数
#       对象来调用:他叫对象的绑定方法,第一个参数不需要传,自动传递

class Student:
    school = '123'
    
    def __init__(self, name):
        self.name = name
        
    def study(self):
        print(f'{self.name}学会了Python')
       
stu_1 = Student('nick')
stu_1.study()

4、Python中一切皆对象

Python中,字典,列表,字符串......等都是对象

类即类型

上一篇:「暑期集训day23」黑幕


下一篇:day23