博客
关于我
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/

你可能感兴趣的文章
python3处理json文件中含有中文dumps的应用
查看>>
Python3子进程输出
查看>>
Python3学习笔记3,变量、运算符
查看>>
Python3学习笔记(urllib模块的使用)
查看>>
python3安装scapy_Linux下安装scapy-python3
查看>>
python3实现socket通信
查看>>
Python关于numpy.transpose函数详细解析附代码
查看>>
Python3导入自定义模块的3种方式
查看>>
python3打开txt文件_使用Python 3从文本文件读取句子并添加到列表中
查看>>
python3爬虫抓取智联招聘职位信息代码
查看>>
Python3爬虫数据入数据库---把爬取到的数据存到数据库,带数据库去重功能
查看>>
python3的 pymysql把mysqldb库取代了,让python 3支持mysqldb的解决方法
查看>>
Python3笔记——IDE的选择
查看>>
python3简单使用requests 用户代理,cookie池
查看>>
Python3组播通信编程实现教程(发送者+接收者)
查看>>
Python3编写网络爬虫10-数据存储方式三-CSV文件存储
查看>>
python3读取redis返回数据带有'b'的问题
查看>>
Python3连接MySQL
查看>>
Python关于isinstance函数的解析 | 附Demo(全)
查看>>
Python3:setup.py:完成所有任务的PIP安装(Build_ext+Install)
查看>>