1类 2方法 3__init__方法 4类变量 与 对象变量 5继承
1:类
class Person:
pass # 一个空的代码块
p = Person()
print(p)
2:方法
class Person:
def say_hi(self):
print('Hello, how are you?')
p = Person()
p.say_hi()
# 前面两行同样可以写作
# Person().say_hi()
3:__init__方法
class Person:
def __init__(self, name):
self.name = name
def say_hi(self):
print('Hello, my name is', self.name)
p = Person('Swaroop')
p.say_hi()
# 前面两行同时也能写作
# Person('Swaroop').say_hi()
4:类变量 与 对象变量
类变量(Class Variable)是共享的(Shared)它们可以被属于该类的所有实例访问。
对象变量(Object variable)由类的每一个独立的对象或实例所拥有。
# coding = UTF-8
class Robot:
population = 0
def __init__(self,name):
self.name = name
print("(Initializing {})".format(self.name))
Robot.population += 1
def die(self):
print("{} is being destroyed!".format(self.name))
Robot.population -= 1
def say_hi(self):
print("Greetings,my masters call me {}".format(self.name))
def how_many(cls):
print("we have {:d} robots.".format(cls.population))
droid1 = Robot("R2-D2")
droid1.say_hi()
# Robot.how_many()
droid1.how_many()
print('-------------------------')
droid2 = Robot("C-3P0")
droid2.say_hi()
# Robot.how_many()
#Robot.how_many()
5:继承
# coding = UTF - 8
class SchoolMember:
def __init__(self,name,age):
self.name = name
self.age = age
print('(initialized schoolmember: {})'.format(self.name))
def tell (self):
print('name:"{}" age:"{}"'.format(self.name,self.age),end = "")
class Teacher(SchoolMember):
def __init__(self,name,age,salary):
SchoolMember.__init__(self,name,age)
self.salary = salary
print('(Initialized Teacher: {})'.format(self.name))
def tell(self):
SchoolMember.tell(self)
print('salary: "{:d}"'.format(self.salary))
class Student(SchoolMember):
def __init__(self, name, age, marks):
SchoolMember.__init__(self, name, age)
self.marks = marks
print('(Initialized Student: {})'.format(self.name))
def tell(self):
SchoolMember.tell(self)
print('Marks: "{:d}"'.format(self.marks))
t = Teacher('Mrs. Shrividya', 40, 30000)
s = Student('Swaroop', 25, 75)
print('——————————————————————————')
members = [t, s]
for member in members:
member.tell()