Python面向对象、类的抽象、类的定义、类名遵循大驼峰的命名规范创建对象、类外部添加和获取对象属性

1,155 阅读3分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

@[toc]

1.概念介绍[了解]

==面向对象和面向过程,是两种编程思想.== 编程思想是指对待同一个问题,解决问题的套路方式.

  • 面向过程: 注重的过程,实现的细节.亲力亲为.

    • 函数
  • 面向对象: 关注的是结果, 偷懒.

    • 封装, 继承 和多态(三大技术)

2.类和对象[理解]

类和对象,是面向对象中非常重要的两个概念

    • 类是泛指的,指代多个, 是由对的抽象来的
    • 在代码中, 是通过关键字class定义的
  • 对象
    • 对象是特指的,指代一个,是具体存在的
    • 在代码中, 对象是由类创建的

3.类的组成

  • 类名
  • 属性: 特性, 变量
    • 一个类的属性有很多,值关注需要使用的,没有用到的不用管
  • 方法: 行为, 函数

4.类的抽象

  • 名词提炼法
  • 所见即所得

5.类的定义

随后的代码,使用狗类进行演示说明 类名: Dog(狗类) 属性: 姓名 name 年龄 age .... 方法: 吃 eat() 玩 play() .....

5.1类名遵循大驼峰的命名规范

  • object 是所有的类基类,即最初始的类

  • class 类名(object): 类中的代码

  • PEP8代码规范:类定义的前后,需要两个空行

在这里插入图片描述

  • 新式类: 直接或者间接继承object的类, 在python3中,所有的类默认继承object类,即python3中所有的类都是新式类
  • 旧式类(经典类): 已经过时,不推荐使用

6.创建对象

# 定义类
class Dog(object):
    # 在类中定义的函数,称为方法, 函数的所有知识都可以使用
    def play(self):  # 暂时不管self ,
        print('萨摩耶在睡觉......')


# 创建对象 变量 = 类名()
# 定义类
class Dog(object):
    # 在类中定义的函数,称为方法, 函数的所有知识都可以使用
    def play(self):  # 暂时不管self ,
        print('萨摩耶在睡觉......')


# 创建对象 变量 = 类名()
dog = Dog()  # 创建一个对象,dog
print(id(dog))  # 2378043254528

dog1 = Dog()  # 创建一个对象 dog1
print(id(dog1))  # 2378044849840

# 可以使用对象调用类中的方法.  对象.方法名()
dog.play()  # 萨摩耶在睡觉......
dog1.play()  # 萨摩耶在睡觉......

创建的对象地址值都不一样如dog和dog1的地址就不一样,dog的地址为2378043254528dog1的地址为2378044849840

7.类外部添加和获取对象属性

class Dog(object):
    def play(self):
        print('萨摩耶在睡觉.....')


# 创建对象
dog = Dog()
dog.play()  # 萨摩耶在睡觉.....

# 给对象添加属性  对象.属性名 = 属性值
dog.name = '萨摩耶0'  # 给dog对象添加name属性,属性值是 萨摩耶0
dog.age = 1   # 给dog对象添加age属性,属性值是 1

# 获取对象的属性值  对象.属性名
print(dog.name)  # 萨摩耶0
print(dog.age)  # 1

# 修改属性值 和添加一样,存在就是修改,不存在,就是添加
dog.age = 3  # age 属性已经存在,所以是修改属性值
print(dog.age)  # 3

dog1 = Dog()  # 新创建一个对象 dog1
dog1.name = '萨摩耶1'
print(dog1.name)  # 萨摩耶1