学习python的类与对象
一、类
类相同的事物叫做类,其中用相同的属性(其实就是变量)描述,里面封装了相同的方法。比如,汽车是一个类,它包括价格、品牌等属性。类名通常采用驼峰式命名方式,尽量让字面意思体现出类的作用。Python采用多继承机制,一个类可以同时继承多个父类。
定义类的方法(class 类名):
class Student:
classroom = '101'
address = 'beijing'
def __init__(self, name, age):
self.name = name
self.age = age
def print_age(self):
print('%s: %s' % (self.name, self.age))
实例化对象:
class Student:
stu_1 = Student("李四", 24)
stu_2 = Student("张三", 23)
二、面向对象
面向对象有三大特性,分别是:封装、继承和多态
继承:
class Parent: # 定义父类
parentAttr = 100
def __init__(self):
print "调用父类构造函数"
def parentMethod(self):
print '调用父类方法'
def setAttr(self, attr):
Parent.parentAttr = attr
def getAttr(self):
print "父类属性 :", Parent.parentAttr
class Child(Parent): # 定义子类
def __init__(self):
print "调用子类构造方法"
def childMethod(self):
print '调用子类方法'
python = Child() # 实例化子类
python .childMethod() # 调用子类的方法
python .parentMethod() # 调用父类方法
python .setAttr(200) # 再次调用父类的方法 - 设置属性值
python .getAttr() # 再次调用父类的方法 - 获取属性值
封装:
class Student:
def __init__(self,name,score):
self.name = name
self.__score = score
def getScore(self):
return self.__score
def setScore(self,score):
if 0 <= score <= 100 :
self.__score = score
else:
print("成绩输入错误")
def __str__(self):
return "姓名:"+self.name+",成绩"+str(self.__score)
stu = Student('李四',95)
print(stu.getScore())
print(stu)
stu.setScore(-1)
print(stu)