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

不建议在创建实例变量后,直接 变量名.xxx来创建xxx变量,如下面的s01.name和s01.sex。下面代码中,left()和right()函数独立于类Vectors,是面向过程的思维。(1) 至少有一个形参,第一个参数绑定调用这个方法的对象,一般命名为"self"。不建议通过实例变量访问类成员,如下面的print(s01.count)(2) 无论创建多少对象,方法只有一份,并且被所有对象共享。(2) 调用: 对象地址.实例方法名(参数列表)(2) 调用:类名.方法名(参数列表)
摘要由CSDN通过智能技术生成

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
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值