python可以面向对象,即类;也可以面向过程,就是直接定义方法,不定义类
- # 直接类名.方法来调用 如果类中定义了__init__方法,则必须用实例化来调用
- 在不同类文件里,,需要引入外部类,或者类文件中进行了初始化,需先实例化类的一个对象,然后调用
class Student:
"""docstring for Student"""def __init__(self,name,score): #__init__方法的第一个参数永远是self,表示创建的实例本身,因此在__init__内部可以把各种属性绑定到self,即绑定到实例本身
self.name = name
self.score = score
def getName(self):
return self.name
#有了__init__方法,创建实例的时候就不能传入空的参数了,必须传入与__init__方法匹配的参数,但是self不需要传,python解释器自己会把实例变量传进去
if __name__ == '__main__':
stu = Student("yanghui",99)
print(stu.getName()) #此处实例化了stu,而类Student中有__init__函数,所以调用类中的方法时,python解释器自己会把实例变量传进去
总结:
类是创建实例的模板,而实例则是一个一个具体的对象,各个实例拥有的数据都互相独立,互不影响;
方法就是与实例绑定的函数,和普通函数不同,方法可以直接访问实例的数据;
通过在实例上调用方法,我们就直接操作了对象内部的数据,但无需知道方法内部的实现细节。
和静态语言不同,Python允许对实例变量绑定任何数据,也就是说,对于两个实例变量,虽然它们都是同一个类的不同实例,但拥有的变量名称都可能不同:每个实例可以自己添加属性,另外一个实例不能共享这个属性