Maison >développement back-end >Tutoriel Python >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!