上面的例子中,Person是一个类,_init_是一个特殊的方法(init是单词初始化initialization的省略形式),在使用类创建对象之后被执行,用于给新创建的对象初始化属性用。

self.name = name    就是初始化属性的语句

_init_是一个方法,这个方法里面有三个形参self、name、age。self表示对象本身,谁调用就表示谁

这里self.name = name 和 self.age = age表示将外部传来的name 和 age,赋值给了self 对象的name和age属性。

下面是创建对象:P = Person('小明',20) ---------这句话就创建出来了一个具体的人,并且给这个人起了个名字叫小明,指定了小明的年龄为20,并且将小明这个对象赋值给了变量p,此时p就表示小明这个人(对象)。

这句话就代表,创造了一个人对象(小明),并调用了 init(self,name,age) 方法完成了该人的属性的初始化,小明赋值给name,20赋值给age属性。

而self是不需要传参的,因为slef表示对象本身,谁调用就表示谁,此时的self就表示Person('小明',20),也就是P。

也就是,我们创造出了p,然后给p的属性赋了值,此时p就表示拥有属性值之后的那个人。

可以使用点.来调用对象的属性,比如输出p的名字和年龄,完整代码为:

例子:

接下来我们再在Person类中定义一个方法,用于自我介绍:

def desc(self):print("我叫%s,今年%d岁" % (self.name, self.age))

在类的内部,访问自己的属性和方法,都需要通过self,self就是外部对象在类内部的表示,此时可以使用p调用该方法,完整代码如下:

class Person:def __init__(self, name, age):self.name = nameself.age = agedef desc(self):print("我叫%s,今年%d岁" % (self.name, self.age))
p = Person('杰拉考', 200)
# 调用自我介绍方法 desc方法中的self就是外部的这个p
p.desc()

输出为:

我叫杰拉考,今年200岁

当前desc方法中的self,就是外部的那个对象p,如果我再定义了一个对象p2,那么p2调用desc时,desc中的self就表示p2这个对象。正所谓:谁调用,就表示谁

python中的_init_的含义相关推荐

  1. python中def _init_是什么意思_Python中self和__init__的含义与使用

    原文地址https://blog.csdn.net/love666666shen/article/details/78189984 Python中的self 在Python中的类Class的代码中,常 ...

  2. python中def _init_是什么意思_python中def __init__():的含义

    def __init__():的含义 关于__init__()函数,其本身是python的构造方法.如果不清楚这一点,看着ta就会一脸懵逼. 这个函数类似init()初始化方法,来初始化新创建对象的状 ...

  3. python的中文含义-python中的 * 和 ** 作用含义

    python中的 * 和 ** ,能够让函数支持任意数量的参数,它们在函数定义和调用中,有着不同的目的 一. 打包参数 * 的作用:在函数定义中,收集所有位置参数到一个新的元组,并将整个元组赋值给变量 ...

  4. python中def _init_是什么意思_详细解读Python中的__init__()方法

    __init__()方法意义重大的原因有两个.第一个原因是在对象生命周期中初始化是最重要的一步:每个对象必须正确初始化后才能正常工作.第二个原因是__init__()参数值可以有多种形式. 因为有很多 ...

  5. python中调用是什么意思_在Python中调用函数的含义?

    因为Dense(-)返回一个可调用的(基本上是一个函数),所以可以依次调用它.这是一个简单的例子: def make_adder(a): def the_adder(b): return a + b ...

  6. python中def _init_是什么意思_python中的__init__(self)是什么意思呢

    __init__(self)这个时类的初始化函数 classObj:def __init__(self):print 1obj= Obj() #这时候__init__这个函数会被调用,self指obj ...

  7. python中的date的含义_浅谈python中的dateime

    原文链接:http://www.cnblogs.com/lhj588/archive/2012/04/23/2466653.html Python提供了多个内置模块用于操作日期时间,像calendar ...

  8. python中常见关键字英文含义整理

    文章版: 序号 英文 含义 用法 1 Python 蟒蛇 2 code 代码 3 turtle 海龟 海龟库 4 from...import... 从...导入库 from Codemao impor ...

  9. python中的_init_的使用

    1.  __init__方法 想一想:有没有办法能够在创建对象的时候,就顺便把车这个对象的属性给设置呢? 答:__init__()方法 使用方式: def 类名(object): #初始化函数,用来完 ...

最新文章

  1. SCCM2012升级SP1系列之配置管理SCCM2012①发现和管理SCCM2012客户端
  2. linux简单使用命令发送邮件
  3. Java Class Loader Retrospect
  4. JQ:当页面滚动到一定位置之后,让元素固定在顶部,小于位置后恢复原来的位置
  5. 歌谣带你看java面试题
  6. java c3p0获取主键_Tomcatc3p0配置jnid数据源2种实现方法解析
  7. cuda 核函数 for循环_【CUDA 基础】4.4 核函数可达到的带宽
  8. array_shift -- 将数组开头的单元移出数组
  9. 大数据——Python数据爬取
  10. css的鼠标手势总结
  11. stm32 Ctext-M3内核最简单的多任务RTOS
  12. guge图标——ps
  13. 任意模数ntt_再探快速傅里叶变换(FFT)学习笔记(其三)(循环卷积的Bluestein算法+分治FFT+FFT的优化+任意模数NTT)...
  14. mac安装正在计算机,出现“无法在计算机上安装macOS”错误时该怎么办?
  15. python:series详解和数据获取
  16. 微信小程序3天刷量开流量主
  17. 梁国辉获Yes评分表系统3.0计算机软件著作权
  18. IDEA 新UI使用
  19. 365句百姓真理——男人好色,女人好情
  20. 【Maven】Maven的安装与下载

热门文章

  1. 计算机的桌面图标都没有了怎么办,电脑桌面图标都没了怎么办 怎么恢复
  2. git 提交到某分支_Git如何拉取某个分支的某段提交
  3. python 寻找数组的中心索引_Leetcode724:寻找数组的中心索引(java、python3)
  4. php程序是如何运行,如何第一次运行PHP程序?
  5. java下拉列表选日期_iPhone应用程序:日期选择器查看下拉列表
  6. android数据库格式化,正确格式化SQLite SQL语句
  7. 面试:a==1 a==2 a==3 是 true 还是 false?
  8. 后端必备:15000 字的 SQL 语句大全
  9. Spring Boot 2.x基础教程:使用 Thymeleaf开发Web页面
  10. paddleocr ‘bytes‘ object has no attribute ‘shape‘