python 类

和其他语言一样,类的概念在python中也是存在的,下面我们就通过一些实例来学习在Python中如何使用类。

class Student:
    def __init__(self, name,age):
        self.name = name
        self.age = age

    def show_student_info(self):
        print('学生姓名:'+self.name.title())
        print('学生年龄:'+ str(self.age))

在python中定义类的时候需要使用关键字:class来标识,其后书写类名.
除了上面的写法,下面这种写法也是有效的(python2.7):

class Student(object):

在类中申明的函数称之为方法。其中init 这个方法是一个特殊的方法,它会在创建类的实例的时候自动调用,它的写法是前后各两个下划线,这也是一种约定吧,一定程度可以避免和普通的方法重复。

学习过c++或者java等其他语言的朋友估计很好理解这个方法,这就是一个构造函数。

大家可能注意到了,在上面的例子里面,不管是init 这个特殊方法还是show_student_info这个普通方法,它们的第一个参数都是self,那么这个self又是何方神圣呢?
self这个东西只有在类中才能看到,它是指向实例本身的引用,之所以要传入这个实参,就是为了让实例能够访问类中的属性和方法。

在调用函数的过程中,self程序会自动传入实参,我们只需要处理我们自定义的实参就好。

我们在看下init 中定义的两个变量:

   self.name = name
   self.age = age

赋值就不说了,这里单独提出来是为了告诉大家:在init 中用self为前缀的变量是可供类中所有方法使用的,我们也可以通过任何实例来访问这些属性。

创建类实例
创建一个类的实例很简单:

student = Student('zhangsan',15)

其中student就是我们创建的学生实例,这里一般约定类名是大写,而实例采用小写。

那么如何访问类的属性和方法呢?

很简单,我们可以使用句点表示法:

student.show_student_info()
student.name = 'zhaosi'
student.age = 20
student.show_student_info()

使用实例名+句点+方法/属性名称来访问或者修改对应的方法/属性,这个和其他语言类似。

试着运行一下程序,我们会得到如下输出:

学生姓名:Zhangsan
学生年龄:15
学生姓名:Zhaosi
学生年龄:20
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章