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基于动态规划算法计算单词距离
Jul 25 Python
浅谈Python中列表生成式和生成器的区别
Aug 03 Python
关于pip的安装,更新,卸载模块以及使用方法(详解)
May 19 Python
Python编程求质数实例代码
Jan 31 Python
python通过elixir包操作mysql数据库实例代码
Jan 31 Python
使用Python实现在Windows下安装Django
Oct 17 Python
python实现多进程代码示例
Oct 31 Python
对python数据切割归并算法的实例讲解
Dec 12 Python
django框架中间件原理与用法详解
Dec 10 Python
python语言实现贪吃蛇游戏
Nov 13 Python
python 调用Google翻译接口的方法
Dec 09 Python
python实现经典排序算法的示例代码
Feb 07 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
overlord人气高涨,却被菲利普频繁举报,第四季很难在国内上映
2020/05/06 日漫
thinkphp如何获取客户端IP
2015/11/03 PHP
PHP观察者模式原理与简单实现方法示例
2017/08/25 PHP
模仿JQuery sortable效果 代码有错但值得看看
2009/11/05 Javascript
火狐4、谷歌12不支持Jquery Validator的解决方法分享
2011/06/20 Javascript
js中将String转换为number以便比较
2014/07/08 Javascript
json字符串之间的相互转换示例代码
2014/08/21 Javascript
JS 使用for循环遍历子节点查找元素
2014/09/06 Javascript
node.js中的fs.readlink方法使用说明
2014/12/17 Javascript
JS获取图片lowsrc属性的方法
2015/04/01 Javascript
浅谈Jquery核心函数
2015/06/18 Javascript
JavaScript面对国际化编程时的一些建议
2015/06/24 Javascript
jQuery实现的数值范围range2dslider选取插件特效多款代码分享
2015/08/27 Javascript
浅析JavaScript声明变量
2015/12/21 Javascript
JS仿百度自动下拉框模糊匹配提示
2016/07/25 Javascript
jQuery检查元素存在性(推荐)
2016/09/17 Javascript
bootstrap table实现点击翻页功能 可记录上下页选中的行
2017/09/28 Javascript
利用Vue2.x开发实现JSON树的方法
2018/01/04 Javascript
解决js ajax同步请求造成浏览器假死的问题
2018/01/18 Javascript
详解基于Vue cli生成的Vue项目的webpack4升级
2018/06/19 Javascript
jquery实现掷骰子小游戏
2019/10/24 jQuery
[00:14]护身甲盾
2019/03/06 DOTA
Python中的闭包总结
2014/09/18 Python
Python实现中一次读取多个值的方法
2018/04/22 Python
python3之模块psutil系统性能信息使用
2018/05/30 Python
Python+pyplot绘制带文本标注的柱状图方法
2019/07/08 Python
python matplotlib库的基本使用
2020/09/23 Python
SheIn沙特阿拉伯:女装在线
2020/03/23 全球购物
struct和class的区别
2015/11/20 面试题
用Java语言将一个键盘输入的数字转化成中文输出
2013/01/25 面试题
《跨越百年的美丽》教学反思
2014/02/11 职场文书
2014年六五普法工作总结
2014/11/25 职场文书
行政助理岗位职责
2015/02/10 职场文书
2015年乡镇发展党员工作总结
2015/03/31 职场文书
中学总务处工作总结
2015/08/12 职场文书
党组织关系的介绍信模板
2019/06/21 职场文书