Python Basic day08

1,了解面向对象和面向过程的区别

面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了;面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。
https://blog.csdn.net/jerry11112/article/details/79027834

2,了解类和对象的区别

类:具有相似内部状态和运动规律的实体的集合(或统称为抽象)。
对象:某一个具体事物的存在 ,在现实世界中可以是看得见摸得着的。

具有同种属性的对象称为类,是个抽象的概念。比如“人”就是一类,期中有一些人名,比如小明、小红、小玲等等这些都是对象,类就相当于一个模具,他定义了它所包含的全体对象的公共特征和功能,对象就是类的一个实例化,小明就是人的一个实例化!我们在做程序的时候,经常要将一个变量实例化,就是这个原理!我们一般在做程序的时候一般都不用类名的,比如我们在叫小明的时候,不会喊“人,你干嘛呢!”而是说的是“小明,你在干嘛呢!”

3,(重点)定义一个类,创建一个对象:

定义一个类格式:
        class 类名(object):   # 定义一个类
        
            def 方法名(self):  # 定义一个方法
                pass
        
        注意:类名大驼峰式命名


    创建对象(实例)的格式:
        对象名 = 类名()   或者   类名()
        Wang_cai = dog()

    对象调用方法的格式:
        对象名.方法名()
        dog.eat()

    给对象添加属性:
        对象名.属性名 = 值
        xiao_tian.age = 10
        通过  对象名.属性名  可以访问到这个属性的值

4,(重点)self

Self是用来接收对象的
    对象名.方法名()

    wang_cai.say()  # 在调用这个say方法的时候,python解释器帮我们传递了前面这个对象作为实参被self接收了,所以谁在调用,self就是谁

# python解释器帮我们传递了前面这个对象的引用作为实参被self接收了,所以谁在调用,self就指向谁

class Test:
    def __init__(self):
        self.a = "abcdef"
    def test1(self, args1):
        print("test1----", args1)
        print("test1----", self.a)

t = Test()   # 创建对象

 t.test1("args1") ==>相当于test1(t,”args1”)  t调用了self, self就是t。

5,(重点)掌握init方法的使用

wang_cai = Dog("旺财", 10)
到底做了哪些事情:
1、创建一个对象
2、创建对象成功之后,自动调用init()方法
3、让wang_cai去指向这个创建出来的对象
作用:
我们用init方法来设置对象初始的属性,所以这个方法一般又称为初始化方法
“魔法”方法:在python中方法名如果是xxxx()的,那么就有特殊的功能,因此叫做“魔法”方法

6,def str(self):

美化直接打印对象名的结果(直接打印对象名得到的是一个地址)
1、这个方法里面一定要有return
2、return 返回值一定是字符串

直接打印打印对象名的时候就不再是地址了,而是return后面的这个字符串
所以直接打印对象名的时候,就会来执行这里的代码
return "我叫%s,今年%s岁了" % (self.name, self.age)

7,明白如何调用对象的方法

调用方法: 调用对象的方法
对象名.方法名()
wang_cai.drink()

8,能够给对象添加属性

对象名.属性名 = 值
wang_cai.name = "旺财"

9,能够获取对象的属性

在类里面:self.属性名
在类的外面:对象名.属性名

10,掌握init方法的使用

11,掌握str方法的使用

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 初识面向对象 楔子 你现在是一家游戏公司的开发人员,现在需要你开发一款叫做<人狗大战>的游戏,你就思考呀,人狗作战...
    go以恒阅读 948评论 0 6
  • 一、快捷键 ctr+b 执行ctr+/ 单行注释ctr+c ...
    o_8319阅读 5,868评论 2 16
  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,145评论 1 32
  • 这是16年5月份编辑的一份比较杂乱适合自己观看的学习记录文档,今天18年5月份再次想写文章,发现简书还为我保存起的...
    Jenaral阅读 2,860评论 2 9
  • 一、面向对象思想 1.面向对象思想设计 基于哲学观点:万物皆对象举例说明:案例一:我想吃大盘鸡面向过程 ...
    hollow_02f9阅读 1,632评论 0 0