Python学习之面向对象基础

目录

1、概念

2、语法

3、 init方法

4、del 方法

5、str 方法


1、概念

1.1 面向函数的编程方式

1、把某个需求的所有步骤,比如加减乘除,从头到尾逐步实现;

2、根据开发需求,将某些功能独立的代码。比如加法,封装成一个又一个函数。

3、最后,我们就是有顺序的调用不同的函数就可以了。

1.2 ⾯向对象的编程方式

相⽐较函数,⾯向对象是更⼤的封装,根据职责在⼀个对象中封装多个⽅法

  1. 在完成某⼀个需求前,首先确定职责 —— 要做的事情(⽅法) ;

  2. 根据职责确定不同的对象,在对象内部封装不同的⽅法;

  3. 最后完成的代码,就是顺序地让不同的对象调⽤不同的⽅法。

1.3 类和对象的概念

类和对象是⾯向对象编程的两个核⼼概念。

类:类是对⼀群具有相同特征或者⾏为的事物的⼀个统称,是抽象的,不能直接使⽤ 。

比如,人相当于一个类:身高,性别,年龄。这些特征称为属性,而吃饭,跑步,喝水,这些行为则称为方法。

对象:对象是由类创建出来的⼀个具体存在,可以直接使⽤。

由哪⼀个类创建出来的对象,就拥有在哪⼀个类中定义的 属性 和⽅法 。

1.4 类和对象的关系

类是模板,对象是根据类这个模板创建出来的,应该先有类,再有对象 ;

  • 类只有⼀个,⽽对象可以有很多个 ;

  • 不同的对象之间属性可能会各不相同 ;

  • 类中定义了什么属性和⽅法,对象中就有什么属性和⽅法,不可能多,也不可能少 。

1.5 类的设计

在程序开发中,要设计⼀个类,通常需要满⾜⼀下三个要素:

  1. 类名 这类事物的名字 ; 人

  2. 属性 这类事物具有什么样的特征 ; 身高,年龄。性别

  3. ⽅法 这类事物具有什么样的⾏为。 吃,喝,玩,乐。

1.6 属性和⽅法的确定

  1. 对于对象的特征描述,通常可以定义成属性 ,属性的具体实现可以是一个 变量;

  2. 对象具有的⾏为(动词),通常可以定义成⽅法,方法的具体实现可以是一个类里面的函数 ;

注:需求中没有涉及的属性或者⽅法在设计类时,不需要考虑。

2、语法

2.1、 class 关键字

class 关键字用于创建一个类,语法如下:

class 类名: 
    def ⽅法 1(self, 参数列表): 
    pass

⽅法的定义格式和之前学习过的函数⼏乎⼀样 ;

区别在于第⼀个参数必须是 self 。

示例:

class Cat:
    def eat(self, name):
        print(name + "吃饭")

    def drink(self, name):
        print(name + "喝水")

2.2 创建一个对象

  1. 实例------通过类创建出来的对象叫做类的实例;

  2. 实例化------创建对象的动作叫做实例化 。

语法:

对象名 = 类名(参数列表)

# 定义Cat类
class Cat:
    def eat(self, name):
        print(name + "吃饭")

    def drink(self, name):
        print(name + "喝水")


# 创建Cat 类
cat = Cat();
# 调用Cat 吃饭的方法
cat.eat("小白");
# 调用Cat 喝水的方法
cat.drink("小黑")

2.3 方法中的 self 参数

  1. 在类封装的⽅法内部, self 就表示调用方法的对象自己 ;

  2. 调⽤⽅法时,不需要传递 self 参数 ;

  3. 在方法内部可以通过 self. 访问对象的属性;

    • 通过在方法内部使用 self.属性名 = 值,为类添加属性

  4. 在方法内部可以通过 self. 调⽤对象的⽅法;

  5. 在类的外部,通过 对象名. 访问对象的属性和⽅法 。

# 定义Cat类
class Cat:
    def set_name(self, name):
        self.name = name

    def eat(self):
        print(self.name + "吃饭")

    def drink(self):
        print(self.name + "喝水")


# 创建Cat 类
cat = Cat();
# 调用 set_name 方法
cat.set_name("小白")
# 调用Cat 吃饭的方法
cat.eat();
# 调用Cat 喝水的方法
cat.drink()

3、 init方法

3.1 iniit 初始化方法

init就是对象的初始化⽅法, init 是对象的内置⽅法。

当使⽤ 类名() 创建对象时,会自动执⾏以下操作:

  1. 为对象在内存中分配空间 —— 创建对象 ;

  2. 系统自动调用⽅法(__ init__ ) .

# 定义Cat类
class Cat:
    def __init__(self):
        self.name = '小白'

    def eat(self):
        print(self.name + "吃饭")

    def drink(self):
        print(self.name + "喝水")


# 创建Cat 类 初始化方法被自动调用
cat = Cat();
# 调用Cat 吃饭的方法
cat.eat();
# 调用Cat 喝水的方法
cat.drink()

带有参数的初始化方法。

4、del 方法

  1. del方法只能有一个参数 self;

  2. 当对象在内存中被销毁的时候,del方法被系统自动调用;

  3. 当使⽤ 类名() 创建对象时,为对象分配完空间后,⾃动调⽤ init ⽅法 ;

  4. 当⼀个对象被从内存中销毁前,会⾃动调⽤ del ⽅法 ;

  5. ⼀个对象的 del ⽅法⼀旦被调⽤,对象的生命周期结束 。

# 定义Cat类
class Cat:
    def __init__(self,name = "小白"):
        self.name = name

    def __del__(self):
        print(self.name+"活动已结束,已回窝睡觉")

    def eat(self):
        print(self.name + "吃饭")

    def drink(self):
        print(self.name + "喝水")


# 创建Cat 类
cat = Cat();
# 调用Cat 吃饭的方法
cat.eat();
# 调用Cat 喝水的方法
cat.drink()
  • 在函数内定义的变量,函数执行完毕,变量就被销毁了;

  • 在函数外部定义的变量,程序执行完毕,变量就被销毁了;

5、str 方法

在 Python 中,使⽤ print 输出 对象变量,默认情况下,会输出这个变量 引⽤的对象是由哪⼀个类创建的对象,以及在内存中的地址(⼗六进制表示)

# 定义Cat类
class Cat:
    def __init__(self,name = "小白"):
        self.name = name


# 创建Cat 类
cat = Cat();
# 打印
print(cat)

#显示的结果  <__main__.Cat object at 0x000001FCB5A49668>

如果在开发中,希望使⽤ print 输出对象变量时,能够打印⾃定义的内容, 就可以利⽤ str 这个内置⽅法了。

注: str ⽅法必须返回⼀个字符串

# 定义Cat类
class Cat:
    def __init__(self,name = "小白"):
        self.name = name

    def __str__(self):
        return "我是一只猫,名字叫"+self.name


# 创建Cat 类
cat = Cat();

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 学习 Python 面向对象编程需要掌握以下几个方面: 1. 理解类和对象的概念:类是一种模板或者蓝图,用来定义对象的属性和方法,而对象则是类的实例。理解类和对象之间的关系,以及如何定义类和创建对象是学习 Python 面向对象编程的基础。 2. 熟悉类的属性和方法:类的属性是描述对象特征的变量,而类的方法是描述对象行为的函数。了解如何定义和使用类的属性和方法是学习 Python 面向对象编程的关键。 3. 理解继承和多态的概念:继承是一种重用代码的方式,它允许派生类继承基类的属性和方法。多态是一种能力,允许不同对象对相同的消息作出不同的响应。理解继承和多态是学习 Python 面向对象编程的高级话题。 4. 熟练掌握 Python 面向对象编程的语法:学习 Python 面向对象编程需要熟悉类的定义、属性和方法的访问、继承、多态等语法。需要多写代码练习,加深理解。 5. 阅读优秀的 Python 面向对象编程的代码:阅读优秀的 Python 面向对象编程的代码可以让你了解 Python 面向对象编程的最佳实践和设计模式。 总之,要学习 Python 面向对象编程,需要理解类和对象、属性和方法、继承和多态的概念,熟练掌握 Python 面向对象编程的语法,同时不断练习和阅读优秀的代码。 ### 回答2: 学习Python面向对象编程首先需要了解面向对象的概念和原则。面向对象是一种编程范式,它将数据和操作数据的代码封装在一起,以实现模块化、可重用的代码。 在学习Python面向对象编程之前,需要先掌握Python的基本语法、数据类型和函数。接下来,可以按照以下步骤学习面向对象编程: 1. 了解类和对象:类是用来创建对象的模板,而对象则是类的实例。学习如何定义类以及如何创建和使用对象,可以通过阅读相关的Python教程和文档来掌握。 2. 学习封装和继承:封装是将数据和对数据的操作封装在一起,以实现信息隐藏和代码复用;而继承是通过创建一个新的类来继承已有类的属性和方法。通过使用封装和继承,可以提高代码的可维护性和可扩展性。 3. 掌握类的特殊方法:在Python中,类可以定义一些特殊方法,例如__init__()用于初始化对象、__str__()用于返回对象的字符串表示等。了解和使用这些特殊方法,可以让类的行为更加符合预期。 4. 学习多态:多态是面向对象编程的重要特性之一,它允许不同的对象对相同的消息做出不同的响应。学习多态可以提高代码的灵活性和可维护性。 5. 进一步练习:通过编写实际的程序来巩固所学的知识。可以从简单的小项目开始,逐渐增加难度和复杂性。 此外,还可以参考其他编程语言的面向对象编程的教程和资料,以扩大对面向对象编程的理解。 总之,学习Python面向对象编程需要勤于练习和实践,通过不断的编码和思考,才能真正掌握和应用面向对象编程的技巧。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

叫我阿杰好了

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值