1、上帝的思想 ,什么是面向对象?

面向对象是一门编程思想

面向过程编程思想:

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

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

    缺点: 牵一发而动全身,程序的可扩展性差。

    注意: 编程思想仅仅是一门思想,与任何的技术无关。

  • 面向对象编程思想: 注意: 要将自己当做一个上帝!!! 核心是 “对象” 二字,对象指的是 “特征与技能” 的结合体。 基于该编程思想编写程序,就好比在创造世界,一种 “上帝式” 的思维方式。

    优点: 可扩展性高。

    缺点: 编写程序的复杂程度比面向过程高。

2、初始类和对象

  • 什么是类

    类指的是类型,类别。

    在两种角度去看待: - 现实世界中: - 先有一个个的对象,经过社会的文明发展,随之总结出类。

    对象是实际存在的,而类抽象产生的。

    在程序中: - 必须先有类,再通过“调用类,产生对象”。

     在python中,用变量表示特征,用函数表示技能,因而具有相同的特征和技能的一类事物就是‘类’, 
    
  • 如何定义类

    如何写类并产生对象: - 先从现实世界中通过一个个对象总结出类。 -

    然后再定义类,后调用类产生对象。

    类的定义:class  Person:  #class  类名:注意类名后面不要括号 
    
            类体
    
  • 对象的产生:

    调用类产生对象

    对象则是这一类事物中具体的一个

    类名 + () 调用类产生对象 类的名称空间在定义时产生,对象的名称空间在调用类时产生。

    调用类产生对象的过程称之为类的实例化,对象称之为类的一个实例。

由对象来调用类内部的函数,称之为对象的绑定方法。

类中数据属性(类中的变量): 类中属性是给对象使用的,对象引用类中的属性,指向的都是类中同一个内存地址。

类中的方法(类中的函数): 类中的方法是给对象使用的,

由不同的对象来调用就会将方法绑定给不同的对象, 并且会将对象当做第一个参数传入__init__

类的两种作用:属性引用和实例化

#属性引用
class Person:
    role = '中国人'  #类属性----静态属性
    def walk(self):  #这里的函数叫做方法-----动态属性
        #注意:self必须写
        print('person is walking ...')
print(Person.role) #查看类属性
print(Person.walk) #查看类方法 , 用类名去调用方法名,打印出来的是内存地址
#中国人
#<function Person.walk at 0x000001D109431378>

#实例化
class Person:
    role = '中国人'
    def __init__(self,name,sex):
        self.name=name
        self.sex=sex
    def walk(self):
        print('person is walking')

lt = Person('leiting',21) #实例化:类名(参数1,参数2)  类名()就等于在执行Person.__init__()
print(lt.name)  #直接查看属性   对象名.属性名
print(lt) #返回的是一个对象
lt.walk()  #调用方法  ,对象名.方法()
#leiting
#<__main__.Person object at 0x000002C679CA84E0>
#person is walking

对象的两种作用:查看属性和调用方法

  • 对象名字的查找顺序

1.对象.属性,会先找对象自己的。

2.若对象没有,会去找类的。

3.若类没有,则会报错。

查看类与对象的名称空间 类.__dict__ 对象.__dict__

print(People.__dict__)

print(p_obj.__dict__)

3、self

类的实例化对象本身

self:在实例化时自动将对象实例本身传给__init__的第一个参数

你也可以给它起个别的名字,但是一般正常人都不会这么做,因为你改了别人就不认识了。

注意:def  __init__(self):   这句话可以写也可以不写,只要有参数参进来的时候就必须得写
   def  方法名(self):这里的self必须得写
 posted on 2019-11-25 16:04  Rannie`  阅读(228)  评论(0编辑  收藏  举报
去除动画
找回动画