Python学习笔记之类(二)

版权声明:本文为博主原创文章,未经博主允许不得转载。 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();

运行后如下图所示:

以上内容仅供大家学习参考,谢谢!

猜你喜欢

转载自blog.csdn.net/u012561176/article/details/81982440