博客
关于我
python3面向对象--python3中类方法的特殊性与self
阅读量:611 次
发布时间:2019-03-12

本文共 547 字,大约阅读时间需要 1 分钟。

类方法的特殊性

在面向对象编程的语言中,类方法的定义通常遵循特定的规则。而在Python中,这些规则与其他语言有所不同,值得特别关注。

类方法的定义在Python中必须包含参数self,并且它是参数列表中的第一个参数。self表示类实例,与Java中的this概念相似。尽管self不是限定关键字,但在Python中习惯上统一使用self作为参数名。

例如,在类Persion中:

class Persion:    def sayHello(self):        print("hello world!")    persison2 = Persion()    persion2.sayHello()  # 正确调用方式

如果方法定义不包含self参数,即使在调用时传递参数,也会导致错误:

def sayHello():    print("hello world!")persion2 = Persion()persion2.sayHello()  # 会抛出TypeError:sayHello() takes 0 positional arguments but 1 was given

因此,在定义类方法时,必须将self作为第一个参数,正确地将实例作为方法的第一参数传递。

转载地址:http://hbtxz.baihongyu.com/

你可能感兴趣的文章
python 基础第七篇
查看>>
Python编程:Tkinter图形界面设计(1)
查看>>
Python 基础语法:None
查看>>
Python 基础语法:基本数据类型(一)
查看>>
python编程读取写入excel_Python读取txt内容写入xls格式excel中的方法
查看>>
Python 基础语法:基本数据类型(字典)
查看>>
Python 基础语法:基本数据类型(字符串)
查看>>
Python 基础语法:基本数据类型(集合)
查看>>
Python编程的终极十大工具
查看>>
python 堆排序
查看>>
python编程方式之一-函数式编程
查看>>
python 复习计划
查看>>
Python 多处理 apply_async 永远不会在 Windows 7 上返回结果
查看>>
Python 多处理 Numpy 随机
查看>>
Python 多处理 >= 125 列表永远不会完成
查看>>
Python 多处理:在第一个子错误时中止映射
查看>>
Python 多处理不断产生 pythonw.exe 进程而不做任何实际工作
查看>>
Python 多处理从不加入
查看>>
Python 多处理如何优雅地退出?
查看>>
Python 多处理将子进程的标准输出重定向到 Tkinter 文本
查看>>