11. Object-Oriented Programming
(1) Introduction
Slightly
(2) Self
Suppose you have a class called MyClass
and an instance of this class MyObject
.
When you call the method MyObject.method(arg1, arg2)
of this object,
This will be automatically converted MyClass.method(MyObject, arg1, arg2)
by Python-that's how it self
works .
(3) class
Slightly
(4) Methods of the object
Slightly
(5) __init__ method
Slightly
(6) Variables for classes and objects
A variable of a class is shared by all objects (instances) of a class. There is only one copy of the class variable, so when an object changes the variables of the class, the change is reflected on all other instances.
variable of Object owned by each object/instance of the class. So each object has its own copy of the domain, that is, they are not shared, and in different instances of the same class, although the variables of the object have the same name, they are unrelated.
1 #Coding=utf-82 classPerson (object):3 """represents a person."""4Population = 0#class Variables5 6 def __init__(self, name):7 """initializes the person ' s data."""8Self.name = Name#instance Variable9 Print "(Initializing%s)"%Self.nameTen One #When this is created, he/she A #adds to the population -Person.population + = 1 - the def __del__(self): - """I am dying.""" - Print "%s says bye."%Self.name - +Person.population-= 1 - + ifPerson.population = =0: A Print "I am the last one." at Else: - Print "There is still%d people left."%person.population - - defSay_hi (self): - """greeting by the person. - in really, that's all it does.""" - Print "Hi, my name is%s."%Self.name to + defHow_many (self): - """Prints the current population.""" the ifPerson.population = = 1: * Print "I am the only person here." $ Else:Panax Notoginseng Print "We havve%d persons here."%person.population - the + if __name__=="__main__": A Print "*"* 20 +"Swaroop Begin"+"*"* 20 theSwaroop = Person ("Swaroop") + Swaroop.say_hi () - Swaroop.how_many () $ $ Print "*"* 20 +"Kalam Begin"+"*"* 20 -Kalam = person ("Abdul Kalam") - Kalam.say_hi () the Kalam.how_many () - Wuyi Print "*"* 20 +"Say_hi && How_many"+"*"* 20 the Swaroop.say_hi () - Swaroop.how_many () Wu - Print "*"* 20 +"End"+"*"* 20
Object Methods
Output:
(7) Inheritance
1 #-*-coding:utf-8-*-2 3 4 classSchoolmember (object):5 """represents any school member."""6 7 def __init__(self, Name, age):8Self.name =name9Self.age = AgeTen Print "(Initialized schoolmember:%s)"%Self.name One A defTell (self): - """Tell my details.""" - Print "name:\ "%s\" age:\ "%s\ ""%(Self.name, Self.age) the - - classTeacher (schoolmember): - """represents a teacher.""" + - def __init__(self, name, age, salary): +Schoolmember.__init__(Self, name, age)#calling the initialization of the parent class ASelf.salary =Salary at Print "(Initialized teacher:%s"%Self.name - - defTell (self): -Schoolmember.tell (self)#calling the method of the parent class through the class, no need to create an object - Print "salary:\ "%d\""%self.salary - in - classStudent (schoolmember): to """represents a student.""" + - def __init__(self, name, age, marks): theSchoolmember.__init__(self, name, age) *Self.marks =Marks $ Print "(Initialized student:%s)"%Self.namePanax Notoginseng - defTell (self): the Schoolmember.tell (self) + Print "marks:\ "%d\""%Self.marks A the + if __name__=="__main__": - Print "**"* 20 +"Teacher"+"**"* 20 $t = Teacher ("Mrs.shrividya", 40, 30000) $ - Print "**"* 20 +"Student"+"**"* 20 -s = Student ("Swaroop", 22, 75) the - Print "**"* 44WuyiMembers =[T, S] the forMemberinchMembers : -Member.tell ()
Inheritance
Output:
Concise Python Tutorial Learn note 7