类定义最简单的形式如下:
classClassName:
进入类定义部分后,会创建出一个新的命名空间,作为局部作用域——因此,所有的赋值成为这个新命名空间的局部变量。特别是函数定义在此绑定了新的命名。类定义完成时(正常退出),就创建了一个类对象。基本上它是对类定义创建的命名空间进行了一个包装;原始的局部作用域(类定义引入之前生效的那个)得到恢复,类对象在这里绑定到类定义头部的类名(例子中是ClassName)。
类对象支持两种操作:属性引用和实例化。属性引用的使用和Python中所有的属性引用一样的标准语法:obj.name。类对象创建后,类命名空间中所有的命名都是有效属性名。类的实例化使用函数符号。只要将类对象看作是一个返回新的类实例的无参数函数即可。如下所示:
classMyClass:
"""Asimpleexampleclass"""
id=12345
def__init__(self,realpart,imagpart):
self.r=realpart
self.i=imagpart
deff(self):return'helloworld'
if__name__=="__main__":x=MyClass(3.0,-4.5)
那么MyClass.id和MyClass.f是有效的属性引用(MyClass.r不属于类对象的有效引用,属于实例的有效引用),分别返回一个整数和一个方法对象。也可以对类属性赋值,可以通过给MyClass.id赋值来修改它。MyClass()是一个新的类实例并将该对象赋给局部变量x。类的实例化操作会自动为新创建的类实例调用__init__()方法。
按照定义,类中所有(用户定义)的函数对象对应它的实例中的方法。在例子中,x.f是一个有效的方法引用,因为MyClass.f是一个函数。但x.id不是,因为MyClass.id不是函数。不过x.f和MyClass.f不同--它是一个方法对象,不是一个函数对象。而且x.f是一个方法对象,它可以存储起来以后调用。下面的例子会不断的打印helloworld。
xf=x.f
whileTrue:
printxf()
以上内容为大家介绍了python初始类以及一些说明,希望对大家有所帮助,如果想要了解更多Python相关知识,请关注IT培训机构:千锋教育。