Glenn Dickerson wrote: > class Student(): > > def__init__(self, name, major, gpa, is_on_probation): > self.name = name > self.major = major > self.gpa = gpa > self.is_on_probation = is_on_probation > > > import Student > student1 = Student('Jim', 'Business', 3.1, False) > student2 = Student('Pam', 'Art', 2.5, True) > print(student1.name) > print(student2.gpa) > > I entered this in IDLE and it failed. Any advice?
First of all, try to be as precise as you can with your error descriptions. What was the exact error, what looked the traceback like? Do not retype, use cut-and-paste to put them into your post. Was it something like File "Student.py", line 3 def__init__(self, name, major, gpa, is_on_probation): ^ SyntaxError: invalid syntax Then the problem is the missing space between the keyword "def" and the method name "__init__". Or was it Traceback (most recent call last): File "student.py", line 10, in <module> import Student ImportError: No module named 'Student' That's because Student is a class rather than a module, and you neither need to nor can import it directly. If you remove the import statement your code should work. But wait, there's another option. If you saw Traceback (most recent call last): File "Student.py", line 10, in <module> import Student File "Student.py", line 11, in <module> student1 = Student('Jim', 'Business', 3.1, False) TypeError: 'module' object is not callable then a "Student" module was imported successfully. However, as it has the same name as your class, the name "Student" is now bound to the module, and unlike the class a module cannot be called. The solution then is to rename the module, from Student.py to student.py, say, as lowercase module names are the preferred convention anyway. So there are at least three possible problems in your tiny and almost correct code snippet. In a script that does some actual work the number of possible problems explodes, and that's why most of us don't even start to debug a piece of code without a detailed error description and a traceback -- it's usually a waste of time. _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: https://mail.python.org/mailman/listinfo/tutor