博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【第8章】 如何使用类和对象
阅读量:6604 次
发布时间:2019-06-24

本文共 1600 字,大约阅读时间需要 5 分钟。

8.1 把事务拆分成类

  • 对象是由“类”定义的,我们可以把“类”当成一种把对象分类归组分类的方法
  • 我们用class关键字来定义类,后面跟一个名字。我们把这个类命名为Things并用pass语句告诉我们不会给出更多的信息了。当我们想提供,但是却不想立即提供一个类或者函数,却暂时不想填入具体信息的时候就可以使用pass
  • >>> class Thing:    pass

    Python一个类是另一个类的孩子,就在新类的名字后面用括号加上父亲类(父类)

  • >>> class Inanimate(Thing):    pass

    增加属于类的对象:把Reginald“引入”到Python中,创建一个属于Giraffes类的对象,并把它赋值给变量reginald。

  • reginald = Giraffes()

    要想对象有用,在创建类的时候我们还要定义函数,这样这个类的对象就可以使用这些函数

  • 用函数来表示类的特征
    • “特征”就是一个类家族中的所有成员(还有它的子类)共同特点,比如Animals类
  • class Animals(Animate):    def breath(self):        pass    def move(self):        pass    def eat_food(self):        pass

    要操作Reginald我们用运算符“.”,和函数的名字来调用对象的函数

  • reginald = Giraffes()reginald.move()reginald.eat_leaves_from_trees()

     


 

8.2 对象和类的另一些实用功能

  • 函数继承:任何在父类中定义过的函数在子类中都可以用
  • 从函数里调用其他函数:
    • 想要从Giraffes类的某个函数调用move函数,我们则要用到self参数。self参数可以用来从类中的一个函数调用另外一个函数,假设我们要给Giraffes类增加一个叫find_food的函数的话:
    • class Giraffes(Mammals):    def find_food(self):        self.move()        print("I love food")        self.eatfood()

 

8.3初始化对象

  • 我们创建对象的时候,有时我们会设置一些值以便将来使用(这些值也叫“属性”,property)初始化对象是为奖励啊使用它做准备

  • 创立一个__init__函数,两边各有两个下划线,一共四个下划线

  • 用def __init__(self,spots):我们定义了一个有两个参数的__init__函数,init函数也需要把self当成第一个参数,接下来我们把参数spots设置给self参数的一个叫giraffe_spots的对象变量(也就是他的属性,可以理解为把参数spots的值(用对象变量giraffe_spots)保存下来以后用

  • >>> class giraffres:    def __init__(self,spots):        self.giraffe_spots = spots

    初始化函数工作方法

  • ozwald = Giraffes(100)gertrude = Giraffes(150)print(ozwald.giraffe_spots)print(gertrude.giraffe_spots)

    当我们在一个类的内部创建函数时,我么用self参数来指向这些变量或函数(self.giraffe_spots)

  • 学到了什么:
    • 创建一系列事物的类
    • 用类来生成对象,也叫实例
    • 子类是如何继承父类中的函数的
    • 如何调用对象中的函数
    • 对象变量是一种把值保存到对象中的方法

 

转载于:https://www.cnblogs.com/jiaqianghan/p/8343671.html

你可能感兴趣的文章
2015 成长计划
查看>>
沈阳一饭店凌晨爆燃,燃气报警器时刻预防
查看>>
Redis 与 数据库处理数据的两种模式
查看>>
VUE2中axios的使用方法
查看>>
assert 断言
查看>>
CS 229 notes Supervised Learning
查看>>
2018.10.27-dtoj-3996-Lesson5!(johnny)
查看>>
DataTable转换成json字符串
查看>>
iOS网络协议----HTTP/TCP/IP浅析
查看>>
ubuntu 12.04 安装 redis
查看>>
IOS_CGRect
查看>>
Sql Server中不常用的表运算符之APPLY(1)
查看>>
【DM642】ICELL Interface—Cells as Algorithm Containers
查看>>
linux所有命令失效的解决办法
查看>>
力扣算法题—085最大矩阵
查看>>
svs 在创建的时候 上传文件夹 bin obj 这些不要提交
查看>>
mysql-用命令导出、导入表结构或数据
查看>>
Tinkphp
查看>>
EntityFrameworkCore 一对一 && 一对多 && 多对多配置
查看>>
How to temporally disable IDE tools (load manually)
查看>>