Python基础语法07--面向对象

目录

1、编程的两大思想,面向过程 VS 面向对象

2、类与对象

1)类

2)数据类型

3)对象

3、类的创建

1)创建类

2)类的组成

4、对象的创建

5、类属性,类方法,静态方法

6、动态绑定属性和方法

1)动态绑定属性

2)动态绑定方法

7、总结

二、面向对象的三大特征

1、封装

属性不希望在类对象外部被访问,前边使用两个“_”

2、继承

多继承,一个子类可以有多个父类

3、方法重写

其他补充

Python子类执行构造方法的三种情况

4、object类

5、多态

6、特殊方法和特殊属性

1)特殊属性

2)特殊方法

7、类的浅拷贝与深拷贝

1)变量的赋值操作

2)浅拷贝

3)深拷贝

三、总结


1、编程的两大思想,面向过程 VS 面向对象

1)面向过程和面向对象的区别

  • 面向过程,事物比较简单,可以用线性的思维去解决;
  • 面向对象,事物比较复杂,使用简单的线性思维无法解决;

 

2)面向过程和面向对象的共同点

  • 都是解决实际问题的一种思维方式;

 

3)二者之间的关系:

  • 解决复杂问题,通过面向对象方式,便于从宏观把握事物之间复杂的关系,方便分析整个系统;
  • 具体到微观操作,仍然使用面向过程方式来处理;
  • 如:想吃西红柿炒蛋,自己购买材料去做是面向过程;外卖下单购买,厨房接单制作,是面向对象;

 

2、类与对象

1)类

  • 类别,多个类似事物组成的群体的统称,如人类,鸟类,动物类等;

 

2)数据类型

  • 不同的数据类型属于不同的类
  • 使用内置函数查看数据类型;
# 不同的数据类型属于不同的类
print(type(100))  # <class 'int'>
print(type(50))  # <class 'int'>
print(type(10))  # <class 'int'>

 

3)对象

  • 100,50,10都是int类之下包含的相似的不同个例,这个个例称为实例或对象
  • python中,一切皆对象;如字符串对象‘hello’,整数对象520,字典对象{'key':value},元组对象(10,20),列表对象[10,20]等;

 

3、类的创建

语法:

class Student:
    pass

 

1)创建类

  • Student为类的名称,由一个或多个单词组成,每个单词的首字母大写,其余小写;
  • 类也占用内存空间,也有类型,也有value值;
# 创建类对象
class Student:
    pass

print(id(Student))  # 占用了内存空间,1972126470016
print(type(Student))  # class类型,<class 'type'>
print(Student)  # value值是<class '__main__.Student'>

 

2)类的组成

  • 类属性,直接写在类里面的变量;
  • 实例方法,类外定义的是函数,在类内定义的是方法
  • 静态方法
  • 类方法

 

创建学生类

# 创建学生类
class Student:
    native_place = '吉林'  # 类属性

    def __init__(self, name, age):   # 初始化方法
        self.name = name  # self.name是实例属性
        self.age = age  # 将局部变量age的值,赋值给self.age实例属性

    # 实例方法
    def info(self):  # 传递的是类的对象self
        print('我的名字叫:', self.name, '年龄是:', self.age)

    # 类方法
    @classmethod
    def cm(cls):  # 传递的是class
        print('这是类方法')

    # 静态方法
    @staticmethod
    def sm():  # 静态方法不允许传递值
        print('这是静态方法')

 

 

类外定义的是函数,在类内定义的是方法

# 类的方法和函数
# 类的方法
class Student:
    def eat(self):
        print('这是类的方法')

# 函数
def drink():
    print('这是函数')

 

  • 3
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值