繁体   English   中英

TypeError: 'NoneType' object 不可调用 - python

[英]TypeError: 'NoneType' object is not callable - python

我一直在阅读有关此错误的信息,我知道这是因为我希望 function 返回结果,但实际上并非如此,我检查了我的代码,但我没有发现它可能是错误的

class Estudiante:
   def __init__(self):
      self.nombre = ""
      self.cedula = 0
      self.apellido = ""
      self.asignatura = ""
      self.cantidadDeNotas = 0
      self.notas = []

   @property
      def obtenerDatos(self):
         print("ingrese los datos del estudiante")
         self.cedula = int(input("Cedula del estudiante: "))
         self.nombre = input("Nombre del estudiante: ")
         self.apellido = input("Apellido del estudiante: ")
         self.asignatura = input("Asignatura: ")
         while True:
            self.cantidadDeNotas = int(input("¿cual es la cantidad de notas que desea ingresar?(más de 4): "))
            if self.cantidadDeNotas > 4:
                break
            else:
                print("ingrese una cantidad mayor a 4")
    
estudiante = Estudiante()
estudiante.obtenerDatos()

当您将方法装饰为@property时,它将自动成为以其命名的属性的 getter 方法。 然后它不是作为object.method()而是作为object.method访问的(它仍然会在下面调用相同的方法,并评估其返回值)。

在您的情况下,您声明obtenerDatos为属性获取器,然后调用estudiante.obtenerDatos() 这就像在没有@property标记时调用estudiante.obtenerDatos()() - 您调用该方法然后尝试将其返回值调用为 function。

由于该方法不返回值,这意味着您的代码尝试将 None 作为 function 调用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM