类和对象01-介绍及init方法

一.给大家介绍对象:

 

  (一)python一切皆对象

  • 面向对象关注点是“人”。例如:团队协作,这件事情让谁做。
  • 面向过程关注点是“事件”。例如:一个人做,这件事我怎么做。
  • 为什么要学习面向对象?
  • 因为这就像学开车,作为大众司机,并不需要理解汽车为何会跑,但作为赛车手你必须要懂的其原理,因为这有助于你能把车开的更好。
  • 之前学的都是面向过程,之后学习的都是面向对象。

    (二)回顾:

  • 数据封装:把乱七八糟的数据扔进 。         列表。
  • 语句封装:把常用的代码段打包成一个。   函数。
  • 本章:数据与代码结合的封装。                 类。

  (三)对象 = 属性 + 方法

  • 特征 <=> 属性
  • 行为 <=> 方法

  (四)类 = 代码  ;对象 = 类的落地

  • 类 = 模具 = 图纸 = 规划 = 看不见的东西
  • 类的构成:
  1. 定义:把一系列具有相同的特征和方法的事件整合在一起就称作类。
  2. 类名:class name:
  3. 属性:一组数据:变量名 =(str / int)
  4. 方法:函数:def 函数名(self,..):
  • 类名格式:首字母大写,并无需加“()”。
  • 调用:
  1. 若像函数那样(整块)调用,返回的是类名的地址。只能调用具体(def)方法。
  2. 调用类的具体方法(函数):tt.climbs();tt.sleep()
  3. 调用格式:类名.函数名()
  • 父类和子类的关系:
  1. 子类是父类的细分,子类从属父类。
  2. 继承:属性方面:子类是父类的继承。
  3. 多态:父类细分的子类名称千奇百态。
    • 例如:鸟类属于父类;鸟类品种千奇百态。
  • 三大编程范式:类的门派:
  1. 面向过程:捂档派
  2. 面向对象:少林派
  3. 函数式编程:峨嵋派
  • 门派并没有高低之分,习武之人方有高低之分。

  (五)面向对象:OO (object oriented)

  • 特征:
  1. 封装:信息隐蔽技术
  2. 继承:属性传承(继承的新对象与老对象具有相同的方法)
  3. 多态:不同对象对同一方法响应不同的行动。
  4. self :等于对象的“门牌号”。作用:调用函数自身方法的对象本身。
  • 执行流程:
  1. 制造模板(类):class + 类名:=> 添加细分函数(不调用)
  2. 对象获取指定类的属性:对象名 = 类名()=> a = ball()
  3. 执行类的所属细分方法:对象名.函数名()/  其他方法名  => b . kick()
  • __init__():
  1. 方法:构造方法
  2. 作用:自动调用对象
  3. 适用范围:限量:对象一枚
  4. 格式:def __init__(self,name)
  • 练习:
  1. 利用类的方法,打印“小甲鱼”。
  2. 做一个星球大战的简易方法:需求:需要三个星球分别给星球命名、和被玩家“踢”的方法。
  3. 做一个星球大战的简易方法:需求:需要一个星球并且给星球命名、和被玩家“踢”的方法。

二.类的创建:

  (一)属性:

  1. 对象:c = Car()
  2. 属性:c.name = “google”
  3. 属性:c.colour = “white”

   以上的对象与属性的从属关系叫做“封装”。

  (二)__init__方法:

  1. 称作“专门封装数据的方法”。
  2. 注意:常规定义函数一定要加“self”。
  3. 但__init__后面可加可不加。也可以加其他的属性,即:def __init__(self,name,age... ...)
  4. 对象名 = 类名()。
  5. __init__方法添加属性:self.变量名 = (str / int)即“数据”,括号内的可以是新增的数据也可以是形参。
  6. __init__方法打印属性:需要添加对象再打印。属性可以在里面和外面访问。
  7. step1:创建对象:对象名 = 类名();step2:print(对象名.对应属性名称)

  

作业:做骰子。

 

 

 

 

 

 

 

posted @ 2018-05-28 12:34  西北狼2018  阅读(176)  评论(0编辑  收藏  举报