python学习面向对象Day10(P107~~115)

b站达内python课学习笔记

P107 Python面向对象-2.1 课程内容回顾01

一、day09复习:函数部分

"""
    day09 复习
        购物车,体会重构。
        2048算法,体会降为思想,锻炼逻辑思维.

内存图

在这里插入图片描述

P108 Python面向对象-2.2 课程内容回顾02

一、day09复习:面向对象部分

"""
面向对象
            概述:
                面向过程:关注过程(细节)   “干”
                        例如:购物车
                        选择菜单-->购买-->打印商品信息-->创建订单--> ...
                               |->结算-->...
                面向对象:关心解决问题的人  “找”


            类与对象:
                类:类别

                对象:个体

                类与类区别:行为(函数/方法)不同
                对象与对象区别:数据不同

            语法:
                创建类:
                  class 类名:
                        def __init__(self,参数):
                            #数据成员
                            self.数据1 = 参数

                        #行为成员
                        def 方法名称():
                            方法体

               创建对象:
                    变量名 = 类名(参数)
"""

塔防游戏:面向对象思想举例

在这里插入图片描述

P109 Python面向对象-2.3 实例成员01

一、练习1

"""
# 练习:参照day06/exercise07.py
1. 创建学生类
    -- 数据:姓名,年龄,成绩,性别
   -- 行为:在控制台中打印个人信息的方法
2. 在控制台中循环录入学生信息,如果名称是空字符,退出录入。
3. 在控制台中输出每个学生信息(调用打印学生类的打印方法)
4. 打印第一个学生信息
"""
class Student:
    def __init__(self, name, age, score, sex):
        self.name = name
        self.age = age
        self.score = score
        self.sex = sex

    def print_self_info(self):
        print("%s的年龄是%d,成绩是%d,性别是%s" % (self.name, self.age, self.score, self.sex))


# s01 = Student("赵敏",26,100,"女")
# s01.print_self_info()

"""
[ 
     {
        "name": "赵敏", 
        "age": 23, 
        "score": 100, 
        "sex": “女”
     }
]
"""
list_student_info = []
while True:
    name = input("请输入姓名:")
    if name == "":
        break
    age = int(input("请输入年龄:"))
    score = int(input("请输入成绩:"))
    sex = input("请输入性别:")
    # 之前使用字典表达一个具体学生信息
    # dict_info = {"name": name, "age": age, "score": score, "sex": sex}
    stu = Student(name, age, score, sex)
    list_student_info.append(stu)

for stu in list_student_info:
    stu.print_self_info()

# 获取第一个学生信息
info = list_student_info[0]
info.print_self_info()

P110 Python面向对象-2.4 实例成员02

一、实例变量

语法

(1) 定义:对象.变量名
(2) 调用:对象.变量名

说明

(1) 首次通过对象赋值为创建,再次赋值为修改.
w01 = Wife()
w01.name = “丽丽”
w01.name = “莉莉”
(2) 通常在构造函数(init)中创建。
w01 = Wife(“丽丽”,24)
print(w01.name)
(3) 每个对象存储一份,通过对象地址访问。

作用

描述所有对象的共有数据。

__ dict__

对象的属性,用于存储自身实例变量的字典。

二、实例方法

语法

(1) 定义: def 方法名称(self, 参数列表):
方法体
(2) 调用: 对象地址.实例方法名(参数列表)
不建议通过类名访问实例方法

说明

(1) 至少有一个形参,第一个参数绑定调用这个方法的对象,一般命名为"self"。
(2) 无论创建多少对象,方法只有一份,并且被所有对象共享。

作用

表示对象行为。

三、示例代码

class Student:
    def __init__(self, name, age, score, sex):
        # 创建实例变量
        self.name = name
        self.age = age
        self.score = score
        self.sex = sex

    def print_self_info(self):
        # 读取实例变量
        print("%s的年龄是%d,成绩是%d,性别是%s" % (self.name, self.age, self.score, self.sex))


list01 = [
    Student("赵敏", 28, 100, "女"),
    Student("苏大强", 68, 62, "男"),
]

s01 = list01
  • 0
    点赞
  • 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
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值