类与对象

一、面向对象编程

1、面向过程编程

    核心是”过程“二字,过程指的是解决问题的步骤,即先干什么再干什么
    基于该思想编写程序就好比在编写一条流水线,是一种机械式的思维方式

    优点:复杂的问题流程化、进而简单化
    缺点:可扩展性差

2、面向对象
    核心”对象“二字,对象指的是特征与技能的结合体,
    基于该思想编写程序就好比在创造一个世界,你就是这个世界的上帝,是一种
    上帝式的思维方式

    优点:可扩展性强

    缺点:编程的复杂度高于面向过程

二、类与对象

1、类
    对象是特征与技能的结合体,那类就是一系列对象相同的特征与技能的结合体

2、在现实世界中:一定先有对象,后来随着人类文明的发展总结出的类
            对象是具体存在的,而类只是一种抽象概念

3、在程序中,务必保证:先定义类,后调用类来产生对象



3、在程序中,务必保证:先定义类,后调用类来产生对象


#1、程序中的类
class OldboyStudent:
    # 用变量表示特征
    school="Oldboy"

    #  用函数表示技能
    def learn(self):
        print('is learning...')

    def choose(self):
        print('choose course...')

    # print('======>')

注意:在定义类的阶段会立刻执行类体内的代码,然后将产生的名字存放于类名称空间中
类的本身其实就是一个容器/名称空间,是用来存放名字的,这是类的用途之一
print(OldboyStudent.__dict__)            # . 表示从一个名称空间里面调用一个名字
print(OldboyStudent.__dict__['school'])
print(OldboyStudent.__dict__['learn'])
OldboyStudent.__dict__['learn'](123)

print(OldboyStudent.school) # OldboyStudent.__dict__['school']
print(OldboyStudent.learn) # OldboyStudent.__dict__['learn']
OldboyStudent.learn('xxx')
OldboyStudent.learn('xxx')

OldboyStudent.country='China'   # 增
OldboyStudent.school='偶的博爱' # 增
OldboyStudent.country='CHINA'   # 改
del OldboyStudent.country       # 删
print(OldboyStudent.__dict__)


# 2、调用类,产生程序中的对象
OldboyStudent()     # 加括号不是执行而是调用,定义阶段已经执行
调用类会得到一个返回值,该返回值就是类的一个具体存在的对象/实例,如下:
stu1=OldboyStudent()
stu2=OldboyStudent()
stu3=OldboyStudent()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值