python - E1120: 构造函数调用中的参数没有值
问题描述
我对 Python 类很陌生,我想测试一个简单的代码:
class information:
def __init__(self,fname,lname):
self.fname = fname
self.lname = lname
def first(self):
print ("First name :", self.fname)
def last(self):
print ("Last name :",self.lname)
firstname = information("Name")
lastname = information("Test")
但是,Pylint 给了我一个错误:
E1120:No value for argument 'lname' in constructor call (11,13)
E1120:No value for argument 'lname' in constructor call (12,12)
这里有什么问题?我想我已将 lname 定义为“self.lname = lname”
解决方案
__init__()
期待两个位置参数,但给出了一个。
查看您的__init__()
:
def __init__(self,fname,lname):
您应该创建该类的对象并使用该对象来调用该类的函数,如下所示:
class information:
def __init__(self,fname,lname):
self.fname = fname
self.lname = lname
def first(self):
print ("First name :", self.fname)
def last(self):
print ("Last name :",self.lname)
obj = information("Name", "Test") # <-- see two arguments passed here.
firstname = obj.first()
lastname = obj.last()
# First name : Name
# Last name : Test
注意:当您创建一个类的对象时,会自动调用该类的构造函数。创建对象时传递的参数必须与构造函数中的参数数量相匹配。
推荐阅读
- python - Flask 在处理另一个需要很长时间加载的 fx 时返回 html 页面
- django - 使用 jwt 令牌的 Django API Rest Framework 和 Angular 7 身份验证
- python - 如果循环并保存布尔结果
- html - 调整大小时垂直居中的引导 div 溢出窗口 - 如何防止?
- python - 在 Python 中使用 Pandas 从 CSV 文件中读取特定数据
- javascript - javascript:在字符串中查找重复的(相邻和不相邻的)字符
- java - 将 java.util.List 用于单个元素列表的开销是多少?
- google-chrome - Golang Gorilla Session 在 Chrome 浏览器中不工作但在 Safari 和 Firefox 上工作
- python - 在python中获取一个字符后的字符串
- javascript - 如何从 HTML 中的用户输入在表格中添加新行