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中的yield浅析
Jun 16 Python
Python实现更改图片尺寸大小的方法(基于Pillow包)
Sep 19 Python
python3+PyQt5重新实现自定义数据拖放处理
Apr 19 Python
Python切片操作深入详解
Jul 27 Python
python查看模块,对象的函数方法
Oct 16 Python
网易有道2017内推编程题 洗牌(python)
Jun 19 Python
pytorch多GPU并行运算的实现
Sep 27 Python
tensorflow实现对张量数据的切片操作方式
Jan 19 Python
利用keras加载训练好的.H5文件,并实现预测图片
Jan 24 Python
python实现密码强度校验
Mar 18 Python
利用jupyter网页版本进行python函数查询方式
Apr 14 Python
python中redis包操作数据库的教程
Apr 19 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
《魔兽争霸3》重制版究竟重制了什么?玩家:这么糊弄真的好吗?
2020/05/04 魔兽争霸
php中文件上传的安全问题
2006/10/09 PHP
php5.2时间相差8小时
2007/01/15 PHP
PHP+Tidy-完美的XHTML纠错+过滤
2007/04/10 PHP
php打开文件fopen函数的使用说明
2013/07/05 PHP
PHP中的类型提示(type hinting)功能介绍
2015/07/01 PHP
PHP单例模式与工厂模式详解
2017/08/29 PHP
PHP8.0新功能之Match表达式的使用
2020/07/19 PHP
javascript 学习之旅 (1)
2009/02/05 Javascript
IE浏览器打印的页眉页脚设置解决方法
2009/12/08 Javascript
js下将字符串当函数执行的方法
2011/07/13 Javascript
基于JQuery的一句话搞定手风琴菜单
2012/09/14 Javascript
Jquery之Bind方法参数传递与接收的三种方法
2014/06/24 Javascript
Javascript前端UI框架Kit使用指南之Kitjs简介
2014/11/28 Javascript
JavaScript中的数组操作介绍
2014/12/30 Javascript
Jquery+Ajax+PHP+MySQL实现分类列表管理(上)
2015/10/28 Javascript
js自定义回调函数
2015/12/13 Javascript
SublimeText自带格式化代码功能之reindent
2015/12/27 Javascript
jQuery Easyui快速入门教程
2016/08/21 Javascript
JS ES6多行字符串与连接字符串的表示方法
2017/04/26 Javascript
BootStrap 导航条实例代码
2017/05/18 Javascript
vue打包后显示空白正确处理方法
2017/11/01 Javascript
在 Vue.js中优雅地使用全局事件的方法
2019/02/01 Javascript
layui实现数据表格点击搜索功能
2020/03/26 Javascript
详谈vue中router-link和传统a链接的区别
2020/07/22 Javascript
Python素数检测的方法
2015/05/11 Python
基于循环神经网络(RNN)的古诗生成器
2018/03/26 Python
Flask实现图片的上传、下载及展示示例代码
2018/08/03 Python
Python使用matplotlib实现交换式图形显示功能示例
2019/09/06 Python
如何用Anaconda搭建虚拟环境并创建Django项目
2020/08/02 Python
解决CSS3的opacity属性带来的层叠顺序问题
2016/05/09 HTML / CSS
JAVA程序设计笔试题面试题一套
2015/07/28 面试题
计算机专业个人求职自荐信
2013/09/21 职场文书
个人贷款承诺书
2014/03/28 职场文书
《我在为谁工作》:工作的质量往往决定生活的质量
2019/12/27 职场文书
css3实现背景图片颜色修改的多种方式
2021/04/13 HTML / CSS