和其他语言一样,类的概念在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