python中class的定义及使用教程


Posted in Python onSeptember 18, 2019

类的定义

class classname[(父类名)]:

? 成员函数及成员变量

_ init _ 构造函数:初始化对象

_ del_ 析构函数:销毁对象

定义类的成员函数时,必须默认一个变量代表类定义的对象本身,这个变量的名称可自行定义,下面的程序使用self变量表示类对象的变量

具体代码如下所示:

python中class的定义及使用


#类(Class): 用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。
#对象:它是类的实例化。
#方法:类中定义的函数。
#类(Class) 由3个部分构成:
'''
类的名称:类名
类的属性:指对象的特征(一组数据)
类的方法:允许对象进行操作的方法 (行为/功能)
'''
# Python 3.x中取消了经典类,默认都是新式类。
# 新式类的语法 -> class 类名(object): pass
# 类对象支持两种操作:属性引用 和 实例化。
# 属性引用的语法:obj.属性
# 类实例化的语法:obj = 类名()
# 类中方法的调用:obj.方法名()
# 下面分析新式类的2种常见形式:
#例1:
#自定义一个类student
class student(object):
 def speak(self): ## 哪个对象调用了这个方法,self就是那个对象;可以把self理解为一个形参
 print("%s 说:我今年%s岁" % (self.name, self.age))
#类student 实例化一个对象john
john = student()
# 给对象添加属性
john.name = "约翰"
john.age = 19
# 调用类中的 speak()方法
john.speak()
#<<<约翰 说:我今年19岁
#例2:
class student(object):
 # 定义构造方法
 def __init__(self, n, a): #__init__() 是类的初始化方法;它在类的实例化操作后 会自动调用,不需要手动调用;
 # 设置属性
 self.name = n
 self.age = a
 # 定义普通方法
 def speak(self):
 print("%s 说:我今年%s岁" % (self.name, self.age))
#类student 实例化一个对象john
john = student("约翰",19)
# 调用类中的 speak()方法
john.speak()
#>>>约翰 说:我今年19岁
# 在python中使用__开头 并以__结尾的方法,称之为魔法方法;
# __init__(self) 是类的初始化方法,也称构造方法,是一种特殊的魔法方法。
# __init__(self)在实例化后,会自动调用,而不用手动调用,所以一般把属性设置在_init__()里。
# 常用到的魔法方法还有:__str__(self) 、 __del__(self)等。
## __str__(self)
class student(object):
 # 定义构造方法
 def __init__(self, n, a):
 # 设置属性
 self.name = n
 self.age = a
 # 输出一个字符串(追踪对象属性信息变化)
 def __str__(self): # __str__(self)不可以添加参数(形参)
 return "名字:%s 年龄:%d" % (self.name, self.age)
# 实例化一个对象john
john = student("约翰",19)
# 当使用print输出对象时,只要自己定义了__str__(self)方法,那么就会打印从在这个方法中return的数据
print(john)
#>>>名字:约翰 年龄:19

总结

以上所述是小编给大家介绍的python中class的定义及使用教程,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Python 相关文章推荐
python实现网页链接提取的方法分享
Feb 25 Python
Python中使用HTMLParser解析html实例
Feb 08 Python
python 对txt中每行内容进行批量替换的方法
Jul 11 Python
python实现nao机器人手臂动作控制
Apr 29 Python
Python多进程方式抓取基金网站内容的方法分析
Jun 03 Python
详解从Django Allauth中进行登录改造小结
Dec 18 Python
Python实现随机生成任意数量车牌号
Jan 21 Python
python使用docx模块读写docx文件的方法与docx模块常用方法详解
Feb 17 Python
在python3中实现查找数组中最接近与某值的元素操作
Feb 29 Python
python+OpenCV实现图像拼接
Mar 05 Python
python实现简单区块链结构
Apr 25 Python
解决numpy和torch数据类型转化的问题
May 23 Python
django创建超级用户过程解析
Sep 18 #Python
python实现网站微信登录的示例代码
Sep 18 #Python
简单了解python中的与或非运算
Sep 18 #Python
python字符串替换re.sub()方法解析
Sep 18 #Python
python安装virtualenv虚拟环境步骤图文详解
Sep 18 #Python
用Python写一个自动木马程序
Sep 17 #Python
Pycharm中出现ImportError:DLL load failed:找不到指定模块的解决方法
Sep 17 #Python
You might like
自己动手,丰衣足食 - 短波框形天线制作
2021/03/01 无线电
yii的CURD操作实例详解
2014/12/04 PHP
PHP iconv()函数字符编码转换的问题讲解
2019/03/22 PHP
javascript(jquery)利用函数修改全局变量的代码
2009/11/02 Javascript
JQUBar 基于JQUERY的柱状图插件
2010/11/23 Javascript
iframe的onload在Chrome/Opera中执行两次Bug的解决方法
2011/03/17 Javascript
父页面显示遮罩层弹出半透明状态的dialog
2014/03/04 Javascript
纯JS实现根据CSS的class选择DOM
2014/03/22 Javascript
jQuery中DOM树操作之使用反向插入方法实例分析
2015/01/23 Javascript
JS实现设置ff与ie元素绝对位置的方法
2016/03/08 Javascript
两行代码轻松搞定JavaScript日期验证
2016/08/03 Javascript
微信小程序 网络API Websocket详解
2016/11/09 Javascript
JS实现的自动打字效果示例
2017/03/10 Javascript
webpack多页面开发实践
2017/12/18 Javascript
vue引入axios同源跨域问题
2018/09/27 Javascript
vue中利用three.js实现全景图的完整示例
2020/12/07 Vue.js
[02:06]DOTA2英雄基础教程 暗影萨满
2013/12/16 DOTA
[00:57]林俊杰助阵DOTA2亚洲邀请赛
2015/01/28 DOTA
[53:15]2018DOTA2亚洲邀请赛3月29日 小组赛A组 KG VS OG
2018/03/30 DOTA
Python基于递归实现电话号码映射功能示例
2018/04/13 Python
python实现向微信用户发送每日一句 python实现微信聊天机器人
2019/03/27 Python
在 Linux/Mac 下为Python函数添加超时时间的方法
2020/02/20 Python
关于Python字符串显示u...的解决方式
2020/03/06 Python
keras使用Sequence类调用大规模数据集进行训练的实现
2020/06/22 Python
美国最大的珠宝首饰网上商城:Jewelry.com
2016/07/22 全球购物
国家励志奖学金获奖感言
2014/01/09 职场文书
银行工作检查书范文
2014/01/31 职场文书
运动会获奖感言
2014/02/11 职场文书
银行党员批评与自我批评
2014/10/15 职场文书
2014年村计划生育工作总结
2014/11/14 职场文书
慈善献爱心倡议书
2015/04/27 职场文书
职工食堂管理制度
2015/08/06 职场文书
五年级数学教学反思
2016/02/16 职场文书
2019年中,最受大众欢迎的6本新书
2019/08/07 职场文书
导游词之河北野三坡
2019/12/11 职场文书
Python移位密码、仿射变换解密实例代码
2021/06/27 Python