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 client使用http post 到server端的代码
Feb 10 Python
Python简单实现TCP包发送十六进制数据的方法
Apr 16 Python
Python网络爬虫项目:内容提取器的定义
Oct 25 Python
python读写json文件的简单实现
Apr 11 Python
Flask数据库迁移简单介绍
Oct 24 Python
在python中使用with打开多个文件的方法
Jan 07 Python
详解js文件通过python访问数据库方法
Mar 03 Python
Python检测数据类型的方法总结
May 20 Python
Python3简单爬虫抓取网页图片代码实例
Aug 26 Python
python使用多线程编写tcp客户端程序
Sep 02 Python
python3 实现调用串口功能
Dec 26 Python
python logging模块的使用详解
Oct 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
为IP查询添加GOOGLE地图功能的代码
2010/08/08 PHP
PHP上传文件时文件过大$_FILES为空的解决方法
2013/11/26 PHP
jQuery中的RadioButton,input,CheckBox取值赋值实现代码
2014/02/18 PHP
PHP static局部静态变量和全局静态变量总结
2014/03/02 PHP
PHP+iframe模拟Ajax上传文件功能示例
2019/07/02 PHP
thinkphp5+layui实现的分页样式示例
2019/10/08 PHP
Javascript 二维数组
2009/11/26 Javascript
一个挺有意思的Javascript小问题说明
2011/09/26 Javascript
输入框的字数时时统计—关于 onpropertychange 和 oninput 使用
2011/10/21 Javascript
js控制CSS样式属性语法对照表
2012/12/11 Javascript
jquery动态增加删减表格行特效
2015/11/20 Javascript
关于JS中的apply,call,bind的深入解析
2016/04/05 Javascript
Js调用Java方法并互相传参的简单实例
2016/08/11 Javascript
JavaScript算法系列之快速排序(Quicksort)算法实例详解
2016/09/04 Javascript
Vue.js组件间的循环引用方法示例
2017/12/27 Javascript
Vue中如何实现proxy代理
2018/04/20 Javascript
Vue前端开发规范整理(推荐)
2018/04/23 Javascript
vue监听对象及对象属性问题
2018/08/20 Javascript
Vue加载组件、动态加载组件的几种方式
2018/08/31 Javascript
JS中使用cavas截图网页并解决跨域及模糊问题
2018/11/13 Javascript
利用js-cookie实现前端设置缓存数据定时失效
2019/06/18 Javascript
Layui选项卡制作历史浏览记录的方法
2019/09/28 Javascript
javascript设计模式之装饰者模式
2020/01/30 Javascript
Vue项目结合Vue-layer实现弹框式编辑功能(实例代码)
2020/03/11 Javascript
Auto.JS实现抖音刷宝等刷视频app,自动点赞,自动滑屏,自动切换视频功能
2020/05/08 Javascript
详解element-ui 表单校验 Rules 配置 常用黑科技
2020/07/11 Javascript
Python闭包的两个注意事项(推荐)
2017/03/20 Python
Python实现数据可视化看如何监控你的爬虫状态【推荐】
2018/08/10 Python
详解Python3除法之真除法、截断除法和下取整对比
2019/05/23 Python
pyqt5 禁止窗口最大化和禁止窗口拉伸的方法
2019/06/18 Python
浅谈盘点5种基于Python生成的个性化语音方法
2021/02/05 Python
优秀团员个人的自我评价
2013/10/02 职场文书
会务接待方案
2014/02/27 职场文书
酒店保洁员岗位职责
2015/02/26 职场文书
送给客户微信问候语!
2019/07/04 职场文书
JavaScript实现复选框全选功能
2021/04/11 Javascript