Python代码分析:类定义、对象实例化和方法调用

思考下面这段代码,哪个选项能够正常执行?

class Hello():
  def __init__(self, name):
    self.name = name

  def showInfo(self):
    print(self.name)

# 选项 A
h = Hello('张三')
h.showInfo()

# 选项 B
h = Hello()
h.showInfo('张三')

# 选项 C
h = Hello
h.showInfo()

# 选项 D
h = Hello('admin')
showInfo

正确答案:A

解析:

在Python中,定义一个类时,可以使用 __init__ 方法作为构造函数,用于初始化对象的属性。在本例中,Hello 类需要一个 name 参数才能创建实例。

  • 选项A: 正确创建了 Hello 类的实例 h,并将 '张三' 传递给构造函数,成功将 '张三' 赋值给 self.name 属性。然后调用实例方法 showInfo,打印出 self.name 的值,因此选项A能够正常执行。
  • 选项B: 创建 Hello 实例时缺少 name 参数,会导致报错。同时,showInfo 方法不接收参数,传入 '张三' 也会引发错误。
  • 选项C: 没有调用构造函数 Hello() 创建实例,直接将类 Hello 赋值给 h 是错误的,会导致 h 无法调用类方法。
  • 选项D: 虽然成功创建了 Hello 实例,并将 'admin' 传递给构造函数,但调用 showInfo 方法时缺少括号,会被解释为对方法的引用而非调用,因此会报错。

总结:

通过这道题,我们可以学习到Python中类、对象、实例化和方法调用的基本概念:

  1. 使用 class 关键字定义类。
  2. 使用 __init__ 方法定义构造函数,用于初始化对象属性。
  3. 使用 self 关键字引用实例自身及其属性和方法。
  4. 创建类的实例需要调用构造函数,并传递所需的参数。
  5. 调用实例方法需要使用点操作符 .,并加上括号 ()

希望通过本篇解析,你对Python面向对象编程的基础知识有了更清晰的理解。

Python类和对象实例化及方法调用代码分析

原文地址: https://www.cveoy.top/t/topic/f2DU 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录