找回密码
 会员注册
查看: 28|回复: 0

python----class类详解

[复制链接]

2万

主题

0

回帖

6万

积分

超级版主

积分
64995
发表于 2024-9-4 13:57:01 | 显示全部楼层 |阅读模式
1、class的定义Python中定义一个类使用class关键字实现,其基本语法格式如下:class类名:多个(≥0)类属性...多个(≥0)方法...123类名一般建议每个单词的首字母大写,其它字母小写,类名后继续接冒号(:)2、__init__构造方法构造方法用于创建对象时使用,每当创建一个类的实例对象时,Python解释器都会自动调用它,并且一个类中只能有一个__init__构造方法。Python类中,构造方法的语法格式如下:def__init__(self,...):代码块12该构造方法的参数个数必须大于等于1,第一个参数通常命名为self(也可以用其他命名),代表对象本身;仅包含self参数的__init__()构造方法,又称为类的默认构造方法,除了self参数之外,还可以指定其他参数。即便不手动为类添加任何构造方法,Python也会自动为类添加一个仅包含self参数的构造方法。示例如下:classHelloWorld:def__init__(self):print("调用构造方法")defsay(hh,content):print(content)helloworld=HelloWorld()helloworld.say("iamlichf")123456789101112'运行运行当创建对象的时候,会调用__init__构造方法PSC:\Users\love1\Documents\technology\python\project>python.\test1.py调用构造方法iamlichfPSC:\Users\love1\Documents\technology\python\project>12343、属性类属性类属性是指定义在类中,但却在各个方法外定义的变量,示例如下:classHelloWorld:#类属性name="lichf"age=18def__init__(self):print("调用构造方法")defsay(hh,content):print(content)12345678910'运行运行类属性的特点是,所有类的实例化对象都同时共享类变量,也就是说,类变量在所有实例化对象中是作为公用资源存在的。类方法的调用方式有2种,既可以使用类名直接调用,也可以使用类的实例化对象调用。即HelloWorld.namehelloworld=HelloWorld()helloworld.name123实例属性实例变量指的是在实例方法内部,以“self.变量名”的方式定义的变量,其特点是只作用于调用方法的对象。另外,实例变量只能通过对象名访问,无法通过类名访问。示例如下:classPerson:def__init__(self):self.name="feike"self.age=18#下面定义了一个say实例方法definfo(self):self.addr="henan"1234567'运行运行其中self.name、self.age、self.addr都是实例变量,其中self.addr属性只有当对象实例调用info()方法的时候才会被添加到该实例中去。4、方法实例方法实例方法的调用:instance.实例方法(args)class类名.实例方法(instance,args)classB:def__init__(self):self.l="lichf"self.n="19"self.i="henan"def__str__(self):returnself.l+self.n+self.idefadd(self,age):print(int(self.n)+age)b=B()b.add(11)#同B.add(b,11)B.add(b,11)3030123456789101112131415'运行运行类方法静态方法
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 会员注册

本版积分规则

QQ|手机版|心飞设计-版权所有:微度网络信息技术服务中心 ( 鲁ICP备17032091号-12 )|网站地图

GMT+8, 2024-12-29 12:09 , Processed in 0.685598 second(s), 26 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表