类的学习
班级管理
https://www.nowcoder.com/practice/e5539db11767449ab2fb68ed3c2446d0
类的例子
class Student(object): def __init__(self, name,number,grade,level): self.name = name self.number = number self.grade = grade self.level = level self.times = len(level.split(' ')) def p(self): return "{}'s student number is {}, and his grade is {}. He submitted {} assignments, each with a grade of {}".format(self.name,self.number,self.grade,self.times,self.level) name = input() number = input() grade = int(input()) level = input() student = Student(name,number,grade,level) print(student.p())
class Person: def __init__(mysillyobject, name, age): mysillyobject.name = name mysillyobject.age = age def myfunc(abc): print("Hello my name is " + abc.name) p1 = Person("Bill", 63) p1.myfunc()
应用时直接添加类的属性
class Employee: def __init__(self,name,salary): self.name = name self.salary =salary def printclass(self): try: print("{}'salary is {}, and his age is {}".format(self.name,self.salary,self.age)) except: print("Error! No age") name = input() salary =int(input()) age = int(input()) e =Employee(name,salary) e.printclass()#没有找到age e.age = age #添加类的属性 e.printclass()
hasattr(obj,name)
- obj 指的是某个类的实例对象
- name 表示指定的属性名或方法名
- return True 或者 False
class Employee: def __init__(self, name, salary): self.name = name self.salary = salary def printclass(self): try: print( "{}'salary is {}, and his age is {}".format( self.name, self.salary, self.age ) ) except: print("Error! No age") name = input() salary =int(input()) age = int(input()) e = Employee(name,salary) print(hasattr(e,"age")) #hassttr用法 e.age =age e.printclass()
pass 语句
类定义不能为空,但是如果您处于某种原因写了无内容的类定义语句,请使用 pass 语句来避免错误。
实例
class Person: pass