版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u012561176/article/details/81982440
使用类和实例
1、给属性指定默认值,类中的每个属性都必须有初始值,哪怕这个值是0或空字符串。在有些情况下,如设置默认值时,在方法__init__()内指定这种初始值是可行的;如果你对某个属性这样做了,就无需包含为它提供初始值的形参。简单示例代码如下:
class Student:
"""一个学生类"""
def __init__(self,name,age,number):
self.name = name;
self.age = age;
self.number = number;
self.sex = 'male';
def getSex(self):
print("The Student " + self.name + "'s sex is:" + self.sex);
student = Student('Jenny',21,'2012131725');
student.getSex();
其中我们在__init__()方法中添加了一个sex属性并赋值为'male',然后getSex()方法来获取学生的性别,运行后如下图所示:
2、修改属性的值,可以以三种不同的方式修改属性的值:直接通过实例进行修改;通过方法进行设置;通过方法进行递增(增加特定的值)。
(1)、直接修改属性的值,通过实例直接进行修改,修改上面示例代码后如下:
class Student:
"""一个学生类"""
def __init__(self,name,age,number):
self.name = name;
self.age = age;
self.number = number;
self.sex = 'male';
def getSex(self):
print("The Student " + self.name + "'s sex is:" + self.sex);
student = Student('Jenny',21,'2012131725');
student.name = 'John';
student.sex = 'Fmale';
student.getSex();
运行后如下图所示:
(2)、通过方法修改属性的值,如果有替你更新属性的方法,将大有裨益。这样,你就无需直接访问属性,而可将值传递给 一个方法,由它在内部进行更新。示例代码如下:
class Student:
"""一个学生类"""
def __init__(self,name,age,number):
self.name = name;
self.age = age;
self.number = number;
self.sex = 'male';
def getInfo(self):
print("The Student's name:" + self.name + ",age is:" + str(self.age) + ",number is:" + self.number + ",sex is:" + self.sex);
def updateInfo1(self):
self.name = 'Amy';
self.age = 25;
self.number = '2012131729';
self.sex = 'Fmale';
def updateInfo2(self,name,age,number):
self.name = name;
self.age = age;
self.number = number;
student = Student('Jenny',21,'2012131725');
student.getInfo();
student.updateInfo1();
student.getInfo();
student.updateInfo2('Honny',19,'2012131737');
student.getInfo();
运行后如下图所示:
(3)、通过方法对属性的值进行递增,示例代码如下:
class Student:
"""一个学生类"""
def __init__(self,name,number):
self.name = name;
self.age = 21;
self.number = number;
self.sex = 'male';
def getInfo(self):
print("The Student's name:" + self.name + ",age is:" + str(self.age) + ",number is:" + self.number + ",sex is:" + self.sex);
def updateAge(self,age):
self.age = age;
def incrementAge(self,age):
self.age += age;
student = Student('Jenny','2012131725');
student.updateAge(23);
student.incrementAge(1);
student.getInfo();
运行后如下图所示:
以上内容仅供大家学习参考,谢谢!