类的定义
在 Python 中,定义一个类是通过 class 关键字。例如,我们定义一个存储学生信息的类:
class Student(object):
pass
类名后面是类名,即Student。类名通常是一个大写的单词,后跟(object),表示该类是从哪个类继承而来的。通常,如果没有合适的继承类,则使用对象类,即所有类最终都将从中继承的类。
定义Student类后,可以基于Student类创建一个Student实例。实例的创建是通过类名+()实现的:
>>> bart = Student()
>>> bart
<__main__.Student object at 0x10a67a590>
>>> Student
<class '__main__.Student'>
可以看出变量bart指向一个Student的实例,后面的0x10a67a590就是内存地址。每个对象的地址都不一样,Student本身就是一个类。
你可以自由地将属性绑定到实例变量,例如,将 name 属性绑定到实例 bart:
>>> bart.name = 'Bart Simpson'
>>> bart.name
'Bart Simpson'
这与C++等静态语言不同。我们可以随时为对象添加属性。
在python中,类的属性相当于C++类的成员变量,类的方法相当于C++类的成员函数。
class Student(object):
def __init__(self, name, score):
self.name = name
self.score = score
与 C++ 相比,__init__ 函数相当于 C++ 类的构造函数。注意:特殊方法“init”前后有两个下划线。
注意init方法的第一个参数总是self,代表创建的实例本身。因此,在init方法中,可以将各种属性绑定到self,因为self指向创建的实例本身。
使用init方法,在创建实例时,不能传入空参数,必须传入与init方法匹配的参数,但不需要传入self,Python解释器会将实例变量传入by本身:
>>> bart = Student('Bart Simpson', 59)
>>> bart.name
'Bart Simpson'
>>> bart.score
59
与普通函数相比,类中定义的函数只有一个区别,即第一个参数始终是实例变量self,调用时不传递此参数。除此之外,类方法与普通函数没有什么不同,因此你仍然可以使用默认参数、可变参数、关键字参数和命名关键字参数。
我们可以给我们定义的Student类增加新的方法,比如get_grade:
class Student(object):
...
def get_grade(self):
if self.score >= 90:
return 'A'
elif self.score >= 60:
return 'B'
else:
return 'C'
本文为原创文章,版权归知行编程网所有,欢迎分享本文,转载请保留出处!
你可能也喜欢
- ♥ 大学生入门Python最好的书是什么?12/21
- ♥ python中if和try的区别11/03
- ♥ 中文在python中占几个字节11/07
- ♥ 如何查看python的库09/05
- ♥ 如何在 python 中安装 talib11/23
- ♥ 如何在python3中创建一个集合01/14
内容反馈