Python中类的创建与使用及Python构造器

定义:类是一种数据结构,可用于创建实例,一般情况下,类封装了数据和用于该数据的方法
注意点:方法中self参数
类属性是供所有对象共享的。只有实例内部的数据才由实例自己内部使用。因此方法中必须有self参数且必须是第一个,他隐含当前实例之意。在方法内对self属性做赋值运算会产生每个实例自己的属性,如下图中会产生x,y实例自己的属性。

class Myclass():
    gender = 'Male'
    def setName(self,name):
        self.name = name
x = Myclass()
y = Myclass()
print(x.gender)
print(y.gender)

x.setName('tom')
y.setName('ierry')
print(x.gender,x.name)
# name是一个实例属性,而gender是类属性。

Python构造器#

构造方法是一个很奇特的名字,代表着类似于以前例子中使用过的那种名为init的初始化方法,但和其他普通方法不同的地方在于,当一个对象被创建后,会立即调用构造方法。
创建实例时,Python会自动调用类中的init方法,以隐形的为实例提供属性。
init(注意是两个下划线)方法被称为构造器
如果类中没有定义init方法,实例创建之初仅是一个简单的名称空间,像上图中因为没有定义构造器方法,所以实例属性name仅是一个名称空间,必须先用setName方法为其赋值再调用。
如果直接定义init方法,则可以直接使用,如下:

class Myclass(object):
    gender = 'Male'
    def __init__(self,who):
        self.name = who 
x = Myclass('tom')
print(x.name)

class Myclass:
    gender = 'Male'
    def __init__(self, who):
        self.name = who
x = Myclass('tom')
print(x.name)
# 用了构造器以后即可直接在定义类对象的同时对实例进行创建。
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容