Python: 加一的方法returns None
Python: Method to increment by one returns None
由于缺乏经验,我找不到代码中的错误。我定义了两个方法,当我调用它们时都定义了 return None 。这是我的代码:
class User:
def __init__(self, fname, lname, age):
self.fname = fname
self.lname = lname
self.age = age
self.login_attempts = 0
def describe_user(self):
print("The user's name is {} {} and he or she is {} old".format(self.fname, self.lname, self.age))
def greet_user(self):
print(f"Hello {self.fname}!")
def increment_login_attempts(self):
self.login_attempts += 1
def reset_login_attempts(self):
self.login_attempts = 0
user1 = User("Rita", "Jones", 19)
user1.describe_user()
user1.greet_user()
print("")
user2 = User("Ben", "Holmes", 26)
user2.describe_user()
user2.greet_user()
print(user2.increment_login_attempts())
print(user2.increment_login_attempts())
print(user2.increment_login_attempts())
print(user2.reset_login_attempts())
最后四张打印None
任何不以显式 return
语句结束(或以显式普通 return
或 return None
结束)的方法或函数 returns None
默认情况下。如果你想 return 新值,只需添加:
return self.login_attempts
视情况而定。
函数 的作用 与函数 returns 的作用是有区别的。
在你的例子中, increment_login_attempts 方法做了一件事。它将 login_attempts 属性增加 1。但它不会 return 任何东西。
如果你想让它成为 return 一个值,你必须像这样使用 return 关键字:
return self.login_attempts
这就是函数 做的事情 和它 returns.
的区别
由于缺乏经验,我找不到代码中的错误。我定义了两个方法,当我调用它们时都定义了 return None 。这是我的代码:
class User:
def __init__(self, fname, lname, age):
self.fname = fname
self.lname = lname
self.age = age
self.login_attempts = 0
def describe_user(self):
print("The user's name is {} {} and he or she is {} old".format(self.fname, self.lname, self.age))
def greet_user(self):
print(f"Hello {self.fname}!")
def increment_login_attempts(self):
self.login_attempts += 1
def reset_login_attempts(self):
self.login_attempts = 0
user1 = User("Rita", "Jones", 19)
user1.describe_user()
user1.greet_user()
print("")
user2 = User("Ben", "Holmes", 26)
user2.describe_user()
user2.greet_user()
print(user2.increment_login_attempts())
print(user2.increment_login_attempts())
print(user2.increment_login_attempts())
print(user2.reset_login_attempts())
最后四张打印None
任何不以显式 return
语句结束(或以显式普通 return
或 return None
结束)的方法或函数 returns None
默认情况下。如果你想 return 新值,只需添加:
return self.login_attempts
视情况而定。
函数 的作用 与函数 returns 的作用是有区别的。 在你的例子中, increment_login_attempts 方法做了一件事。它将 login_attempts 属性增加 1。但它不会 return 任何东西。 如果你想让它成为 return 一个值,你必须像这样使用 return 关键字:
return self.login_attempts
这就是函数 做的事情 和它 returns.
的区别