目录

1、加强训练

题目1 [加强训练]

题干

训练目标

训练提示

参考方案

操作步骤

参考答案

题目2 [加强训练]

题干

训练目标

训练提示

参考方案

参考步骤

参考答案

题目3 [加强训练]

题干

训练目标

训练提示

参考方案

参考步骤

参考答案

题目4 [加强训练]

题干

训练目标

训练提示

参考方案

参考步骤

参考答案

题目5 [加强训练]

题干

训练目标

训练提示

参考方案

参考步骤

参考答案

题目6 [加强训练]

题干

训练目标

训练提示

参考方案

参考步骤

参考答案

2、综合训练

题目7 [综合训练]

题干

训练目标

训练提示

参考方案

参考步骤

参考答案


1、加强训练

题目1 [加强训练]

题干

定义一个Star类(明星类), 通过明星类创建一个zhou_xing_chi对象。

训练目标

  1. 类的定义
  2. 创建对象

训练提示

  1. 如何定义类?
  2. 类名要满足什么规则?
  3. 如何创建对象
  4. 类的三大构成是什么?

参考方案

  • 定义类关键字 class

        class 类名(object):
            pass

  • 类名要满足标识符规则和大驼峰规范
  • 可以通过变量 = 类名()来创建对象
  • 类的构成是:类名, 属性,方法

操作步骤

  1. 使用class关键字创建类
  2. 使用类创建对象

参考答案

class Star(object):
    pass

zhou_xing_chi = Star()

题目2 [加强训练]

题干

  1. 定义一个Star类(明星类), 通过明星类创建一个zhou_xing_chi对象;
  2. 给对象添加属性;
  3. 明星姓名= “周星驰”;
  4. 明星的电影 = “功夫”。

训练目标

给对象添加属性

训练提示

如何给对象添加属性?

参考方案

添加属性方法:对象名.属性名 = 值

参考步骤

  1. 定义类
  2. 创建对象
  3. 添加属性

参考答案

class Star(object):
    pass

zhou_xing_chi = Star()
zhou_xing_chi.name = '周星驰'
zhou_xing_chi.movie = "功夫"

题目3 [加强训练]

题干

  1. 定义一个star类(明星类), 通过明星类创建一个zhou_xing_chi对象;
  2. 使用init方法给对象添加name 和 movie属性。

训练目标

  1. init的使用
  2. 带有参数的init

训练提示

  1. init方法的作用?
  2. init方法在什么时候调用?
  3. init的参数都代表什么?

参考方案

使用init方法给对象添加属性

参考步骤

  1. 创建对象
  2. 定义init方法,并且重新赋值

参考答案

class Star():
    def __init__(self, name, movie):
         = name
        self.movie = movie

zhou_xing_chi = Star('周星驰', "功夫")

题目4 [加强训练]

题干

  1. 定义一个star类(明星类), 通过明星类创建一个zhou_xing_chi对象;
  2. 使用init方法给对象添加属性;
  3. 定义方法playing(),打印“xxx出演了yyy,非常好看”。

训练目标

self的使用

训练提示

  1. 如何在类中定义方法?
  2. 方法的参数都有哪些?
  3. self指的是什么?
  4. 如何调用方法?

参考方案

  1. 使用self保存私有属性
  2. 调用方法打印结果

参考步骤

  1. 创建对象
  2. 初始化
  3. 定义方法
  4. 创建对象
  5. 打印结果

参考答案

class Star(object):
    def __init__(self, name, movie):
         = name
        self.movie = movie
    def playing(self):
        print("%s出演了%s,非常好看。" % (, self.movie))

zhou_xing_chi = Star('周星驰', "功夫")
zhou_xing_chi.playing()

题目5 [加强训练]

题干

  1. 定义一个star类(明星类), 通过明星类创建一个zhou_xing_chi对象;
  2. 使用init方法给对象添加属性;
  3. print输出对象时打印"xxx是我的偶像,我非常喜欢他的电影yyy";
  4. xxx为明星姓名,yyy是电影的名字。

训练目标

str方法的使用

训练提示

  1. str方法的作用是什么?
  2. str方法的参数有哪些?
  3. str是否有返回值?

参考方案

  • 使用str方法用来显示信息;
  • 该方法需要 return 一个数据,并且只有self一个参数,当在类的外部 print(对象) 则打印这个数据。

参考步骤

  1. 定义类
  2. 初始化属性
  3. 定义str方法
  4. 创建对象
  5. 打印对象

参考答案

class Star(object):
    def __init__(self, name, movie):
         = name
        self.movie = movie
    def __str__(self):
        return "%s是我的偶像,我非常喜欢他的电影%s。" % (, self.movie)

zhou_xing_chi = Star('周星驰', "功夫")
print(zhou_xing_chi)

题目6 [加强训练]

题干

  1. 定义一个star类(明星类), 通过明星类创建一个zhou_xing_chi对象;
  2. 使用init方法给对象添加属性;
  3. 删除创建的对象,打印“我不喜欢xxx了”。

训练目标

del方法的使用

训练提示

  • del方法的作用是什么?
  • del方法什么时候调用?

参考方案

  1. 当删除对象时,python解释器也会默认调用一个方法,这个方法为__del__()方法;
  2. 当有变量保存了一个对象的引用时,此对象的引用计数就会加1;
  3. 当使用del() 删除变量指向的对象时,则会减少对象的引用计数。如果对象的引用计数不为1,那么会让这个对象的引用计数减1,当对象的引用计数为0的时候,则对象才会被真正删除(内存被回收)。

参考步骤

  1. 创建类
  2. 初始化
  3. 定义del方法
  4. 创建对象
  5. 调用del方法

参考答案

class Star(object):
    def __init__(self, name, movie):
         = name
        self.movie = movie
    def __del__(self):
        print("我不喜欢%s了。" % )

zhou_xing_chi = Star('周星驰', "功夫")
print(zhou_xing_chi)
del (zhou_xing_chi)

2、综合训练

题目7 [综合训练]

题干

a.定义一个Star类(明星类),包含初始化init方法:

        成员属性:明星姓名

        明星的电影

        成员方法:playing()

        打印:“xxx出演了yyy,非常好看”

        打印对象时显示“xxx是我的偶像,我非常喜欢他的电影yyy”

        删除对象提示“xxx我不再喜欢了”

        xxx为明星姓名,yyy是电影的名字

b.键盘循环输入五个Star对象的姓名和电影名。

c.分别调用输入Star对象的playing方法和打印对象

        请输入你喜欢的明星:周星驰
        请输入电影名功夫
        请输入你喜欢的明星:刘德华
        请输入电影名狄仁杰
        请输入你喜欢的明星:周润发
        请输入电影名赌神
        周星驰出演了功夫,非常好看
        周星驰是我的偶像,我非常喜欢他的电影功夫
        刘德华出演了狄仁杰,非常好看
        刘德华是我的偶像,我非常喜欢他的电影狄仁杰
        周润发出演了赌神,非常好看
        周润发是我的偶像,我非常喜欢他的电影赌神
        我不喜欢周星驰了
        我不喜欢刘德华了
        我不喜欢周润发了

训练目标

类的基本使用

训练提示

  1. 创建类
  2. init初始化
  3. str打印对象
  4. del删除对象
  5. 使用列表保存创建的类对象

参考方案

  1. 循环保存对象到一个列表中
  2. 每次循环创建对象
  3. 遍历列表,取出每次保存的对象,调用对象方法

参考步骤

  1. 创建类
  2. 初始化
  3. 定义方法
  4. 重写str方法
  5. 重写del方法
  6. 创建一个空列表
  7. 循环创建类对象,并将对象保存到列表中
  8. 遍历列表,调用方法

参考答案

class Star(object):
    def __init__(self, name, movie):
         = name
        self.movie = movie
    def playing(self):
        print("%s出演了%s,非常好看" % (, self.movie))
    def __str__(self):
        return "%s是我的偶像,我非常喜欢他的电影%s" % (, self.movie)
    def __del__(self):
        print("我不喜欢%s了" % )

mov_l = []
for i in range(3):
    name = input("请输入你喜欢的明星:")
    movie = input("请输入电影名")
    s = Star(name, movie)
    mov_l.append(s)

for i in mov_l:
    i.playing()
    print(i)