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分析nignx访问日志脚本分享
Feb 26 Python
python 远程统计文件代码分享
May 14 Python
Python性能提升之延迟初始化
Dec 04 Python
Python random模块用法解析及简单示例
Dec 18 Python
对pandas replace函数的使用方法小结
May 18 Python
Python单元测试工具doctest和unittest使用解析
Sep 02 Python
详解Python中的format格式化函数的使用方法
Nov 20 Python
对python中return与yield的区别详解
Mar 12 Python
Python3.7安装pyaudio教程解析
Jul 24 Python
利用Python将图片中扭曲矩形的复原
Sep 07 Python
Python 生成短8位唯一id实战教程
Jan 13 Python
利用Python过滤相似文本的简单方法示例
Feb 03 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
深入分析php之面向对象
2013/05/15 PHP
PHP删除数组中空值的方法介绍
2014/04/14 PHP
PHP解析目录路径的3个函数总结
2014/11/18 PHP
smarty模板引擎中自定义函数的方法
2015/01/22 PHP
CentOS 安装 PHP5.5+Redis+XDebug+Nginx+MySQL全纪录
2015/03/25 PHP
php中错误处理操作实例分析
2019/08/23 PHP
JavaScript 三种不同位置代码的写法
2009/10/25 Javascript
Javascript 拖拽雏形中的一些问题(逐行分析代码,让你轻松了拖拽的原理)
2015/01/23 Javascript
ArtEditor富文本编辑器增加表单提交功能
2016/04/18 Javascript
js调用webservice构造SOAP进行身份验证
2016/04/27 Javascript
JavaScript计算器网页版实现代码分享
2016/07/15 Javascript
IScroll5实现下拉刷新上拉加载的功能实例
2017/08/11 Javascript
使用rollup打包JS的方法步骤
2018/12/05 Javascript
layui实现数据分页功能
2019/07/27 Javascript
vue实现简单跑马灯效果
2020/05/25 Javascript
vue render函数动态加载img的src路径操作
2020/10/26 Javascript
js实现电灯开关效果
2021/01/19 Javascript
在Python中处理字符串之isdecimal()方法的使用
2015/05/20 Python
解决python opencv无法显示图片的问题
2018/10/28 Python
Python+OpenCV图片局部区域像素值处理详解
2019/01/23 Python
利用python实现冒泡排序算法实例代码
2019/12/01 Python
从多个tfrecord文件中无限读取文件的例子
2020/02/17 Python
利用CSS3的border-radius绘制太极及爱心图案示例
2016/05/17 HTML / CSS
世界上最全面的汽车零部件和配件集合:JC Whitney
2016/09/04 全球购物
如何估计一张表的大小(假设该表中有1万条数据)
2016/03/27 面试题
理工科学生的自我评价
2013/12/15 职场文书
数学高效课堂实施方案
2014/03/29 职场文书
环保建议书400字
2014/05/14 职场文书
区级文明单位申报材料
2014/05/15 职场文书
乡镇党委书记个人整改措施
2014/09/15 职场文书
小学校园广播稿(3篇)
2014/09/19 职场文书
2014审计局领导班子民主生活会对照检查材料思想汇报
2014/09/20 职场文书
党员个人剖析材料
2014/09/30 职场文书
Python 机器学习工具包SKlearn的安装与使用
2021/05/14 Python
Java面试题冲刺第十七天--基础篇3
2021/08/07 面试题
SpringBoot详解自定义Stater的应用
2022/07/15 Java/Android