交流群:462197261站长百科站长论坛热门标签收藏本站北冥有鱼 互联网前沿资源第一站 助力全行业互联网+
点击这里给我发消息
  • 当前位置:
  • python构造函数init实例方法解析

    北冥有鱼 教程大全 2020-01-19 ,,

    这篇文章主要介绍了python构造函数init实例方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

    一、创建对象,我们需要定义构造函数__init__()方法。构造方法用于执行"实例对象的初始化工作",即对象创建后,初始化当前对象的属性,无返回值。

    __init__()要点如下:

    1.名称固定,必须为__init__()

    2.第一个参数固定,必须为self。self指的就是刚刚创建好的示例对象。

    3.构造函数通常用来初始化示例属性,如下代码就是初始化示例属性:

    4.通过类名(参数列表),来调用构造函数,调用后,将创建好的对象返回给相应的变量。

    5.__init__()方法:初始化创建好的对象,初始化指的是:"给实例属性赋值"

    6.__new__()方法:用于创建对象,但我们一般无需定义该方法。

    示例属性:

    实例属性是从属于实例对象的属性,也称为"实例变量"。他的使用有如下要点:

    1.实例属性一般在__init__()方法中如下代码定义:

    self.实例属性名 = 初始值

    2.在本类的其它示例方法中,也是通过self进行访问:

    self.实例属性名

    3.创建实例对象后,通过实例对象访问:

    obj01 = 类名() #创建对象,调用__init__()初始化属性

    obj01.实例属性名 = 值 #可以给已有属性赋值,也可以新加属性

    实例方法:

    实例方法是从属于实例对象的方法。实例方法的定义格式如下:

    def 方法名(self,[,形参列表]):

    函数体

    方法的调用格式如下:

    对象.方法名([实参列表])

    要点:

    1.定义示例方法时,第一个参数必须为self。和前面一样,self指当前的实例对象。

    2.调用实例方法时,不需要也不能给self传参。self由解释器自动传参。
    函数和方法的区别:

    1.都是用来完成一个功能的语句块,本质一样

    2. 方法调用时,通过对象来调用。方法从属于特定实例对象,普通函数没有这个特点。

    3. 直观是看,方法定义时需要传递self,函数不需要

    实例对象的方法调用本质:

    s.write_code() == Student.write_code()

    其他操作:

    1.dir(obj)可以获得对象的所有属性、方法

    2.obj.__dict__ 对象的属性字典

    3.pass 语句

    4.isinstance(对象、类型) 判断"对象" 是不是 "指定类型"

    以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持北冥有鱼。


    广而告之:
    热门推荐:
    使用 js+正则表达式为关键词添加链接

    要求把一段html脚本中的疾病名添加到疾病库的链接,只添加一次,要避开超链接或图片链接。 最初是用的    str.replace('糖尿病', '<a href=...>糖尿病</a>'); 结果找了半天,愣是没找到替换后的效果,原来是有个图片的title中包含糖尿病,被它捷足···

    Vue实现textarea固定输入行数与添加下划线样式的思路详解

    先上效果图###   textarea下划线 设置一张1*35 //行高 的图片 , 设置背景图即可. background: url('./img/linebg.png') repeat; border: none;outline: none;overflow: hidden; line-height: 35px;//注意行高要和背景图高度一致resize: none; 固定输入行数 需求:用户固···

    JavaScript Array扩展实现代码

    indexOf 返回元素在数组的索引,没有则返回-1。与string的indexOf方法差不多。 如果其他浏览器没有实现此方法,可以用以下代码实现兼容: 复制代码 代码如下: Array.prototype.indexOf = function(el, start) {     var start = start || 0;  &···

    Jquery写一个鼠标拖动效果实现原理与代码

    近日项目中要做一个鼠标拖拽层的效果,于是手动使用Jquery做了一个,发出来跟大伙儿分享一下,并希望能得到高手的指点,如果哪位大侠觉得我的思路和代码不正确或者需要改进的话,希望能指点一二,在下感激不尽。 我的思路是这样的: 1、在鼠标按下的时候,捕获鼠标的当···

    javascript实现在网页任意处点左键弹出隐藏菜单的方法

    在网页的任意处点击左键就会弹出来,实际上是用JS控制DIV层的显示,DIV层内嵌套的是一个表格,表格里放菜单,这样修改方便,不会CSS也没关系,你可以把它复制下来,用DW打开重新修改一下菜单样式,换成你自己喜欢的色彩 <html> <head> <meta http-equiv="Conte···

    织梦DedeCMS二次开发教程之创建数据表

    1.创建数据表 为了让讲解更加的贴合实际,创建了一个名为"dede_test"的表,里面就2个字段,1个id,作为唯一标识,另一个name作为名称。然后往里面添加测试数据,这个操作类似于Access或者EXCEL,比较简单,这里不做冗述。 使用如下的SQL语句插···

    asp.net core 系列之并发冲突的深入理解

    本文介绍如何处理多个用户并发更新同一实 体(同时)时出现的冲突 。 主要是两种:一种,检查属性并发冲突,使用 [ConcurrencyCheck] ;另一种,检测行的并发冲突,使用 rowversion 跟踪属性,如果在保存之前有修改,就报错 发生并发冲突的情况: 1.用户导航到实体编辑页面;···

    在Mac下彻底卸载node和npm的方法

    用了nvm进行node版本的管理,还是很方便的,各个版本切换自由切换,但是nvm安装的node是在~/.nvm下的,和之前安装的不在一起,有点儿强迫症的我,就想把之前的给卸载了 homebrew安装的 直接一条命令 brew uninstall node 官网下载pkg安装包的 一条命令 sudo rm -rf /usr/loca···

    浅谈Javascript如何实现匀速运动

    网站上会经常用到Javascript 中的运动,这次与大家分享一下一些运动的基本应用 。 方便大家在开发中能够直接使用。 代码简单易懂,适用于初学者。最后会一步一步整理出一套自己的运动框架。 应用案例效果图: 鼠标移动到分享上 ,左边的div就会显示出来。移开会自己恢复。相信···

    php调用百度人脸识别接口查询数据库人脸信息实现验证登录功能

    博主在进行鼎食城毕业设计时,需要实现一个人脸识别登录功能,想到可以利用百度的人脸识别接口来完成,于是便去下载了百度的识别SDK,我用的是PHP,需要的的可以去下载其他版本,以下是识别效果: 用户在开始注册时需要上传一张自己的人脸照片,然 后再登录时可以通过输入自···