Python类和对象实例化及方法调用代码分析
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中类、对象、实例化和方法调用的基本概念:
- 使用
class关键字定义类。 - 使用
__init__方法定义构造函数,用于初始化对象属性。 - 使用
self关键字引用实例自身及其属性和方法。 - 创建类的实例需要调用构造函数,并传递所需的参数。
- 调用实例方法需要使用点操作符
.,并加上括号()。
希望通过本篇解析,你对Python面向对象编程的基础知识有了更清晰的理解。
原文地址: https://www.cveoy.top/t/topic/f2DU 著作权归作者所有。请勿转载和采集!