Maison > Article > développement back-end > Une explication détaillée explique en détail l'héritage des classes Python
Qu'est-ce que l'héritage en python :
Nouvelles classes n'ont pas besoin d'être écrit à partir de zéro
La nouvelle classe hérite de la classe existante et possède automatiquement toutes les fonctions de la classe existante
La nouvelle classe seulement Besoin d'écrire de nouvelles fonctions qui manquent aux classes existantes >
Posséder automatiquement toutes les fonctions des classes existantesLa fonction isinstance() peut déterminer le type d'un. variable. Elle peut être utilisée dans les types de données intégrés de Python tels que str, list et dict, ainsi que dans nos classes personnalisées, ce sont essentiellement des types de données.
4. Polymorphisme en pythonclass Person(object): def init(self, name, gender): self.name = name self.gender = gender class Teacher(Person): def init(self, name, gender, course): super(Teacher, self).init(name, gender) self.course = course t = Teacher('Alice', 'Female', 'English') print t.name print t.courseEn plus d'hériter d'une classe parent, Python permet d'hériter de plusieurs parents. L'héritage de classe est appelé héritage multiple. Java ne peut pas avoir d'héritage multiple
6. Obtention d'informations sur les objets en python
class Person(object): def init(self, name, gender): self.name = name self.gender = gender class Student(Person): def init(self, name, gender, score): super(Student, self).init(name, gender) self.score = score class Teacher(Person): def init(self, name, gender, course): super(Teacher, self).init(name, gender) self.course = course t = Teacher('Alice', 'Female', 'English') print isinstance(t, Person) print isinstance(t, Student) print isinstance(t, Teacher) print isinstance(t, object)En plus d'utiliser isinstance() pour déterminer s'il s'agit d'une instance d'un certain type, existe-t-il une autre instance comment l'obtenir ? Et si vous aviez plus d'informations ? Tout d'abord, vous pouvez utiliser la fonction type() pour obtenir le type de la variable, qui renvoie un objet Type
class Person(object): def init(self, name, gender): self.name = name self.gender = gender def whoAmI(self): return 'I am a Person, my name is %s' % self.name class Student(Person): def init(self, name, gender, score): super(Student, self).init(name, gender) self.score = score def whoAmI(self): return 'I am a Student, my name is %s' % self.name class Teacher(Person): def init(self, name, gender, course): super(Teacher, self).init(name, gender) self.course = course def whoAmI(self): return 'I am a Teacher, my name is %s' % self.name import json class Students(object): def read(self): return r'["Tim", "Bob", "Alice"]' s = Students() print json.load(s)
dir() a renvoyé les attributs C'est une liste de chaînes si un nom d'attribut est connu, pour obtenir ou définir les attributs de l'objet, vous devez utiliser les fonctions getattr() et setattr()
class A(object): def init(self, a): print 'init A...' self.a = a class B(A): def init(self, a): super(B, self).init(a) print 'init B...' class C(A): def init(self, a): super(C, self).init(a) print 'init C...' class D(B, C): def init(self, a): super(D, self).init(a) print 'init D...' class Person(object): pass class Student(Person): pass class Teacher(Person): pass class SkillMixin(object): pass class BasketballMixin(SkillMixin): def skill(self): return 'basketball' class FootballMixin(SkillMixin): def skill(self): return 'football' class BStudent(BasketballMixin): pass class FTeacher(FootballMixin): pass s = BStudent() print s.skill() t = FTeacher() print t.skill()
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!