初次接触类的概念,在学习的网页上,对self的解释是self是方法的一个参数,在方法调用的时候,这个参数是默认传参数的
我们看一个例子

很多人学习python,不知道从何学起。
很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手。
很多已经做案例的人,却不知道如何去学习更加高深的知识。
那么针对这三类人,我给大家提供一个好的学习平台,免费领取视频教程,电子书籍,以及课程的源代码!
QQ群:101677771

class Stu:
def __init__(self,name,age):
print("在__init__方法中id:",id(self))
self.name = name
self.age = age def run(self):
print("在run方法中",id(self))
print("{name} is running".format(name=self.name))
123456789

接着我们打印出self在内存中的id试试

s = Stu("zr",18)
print("s的内存地址",id(s))
s.run()
123

输出如下

可以看出,在__init__函数,还是run函数,还是Stu实例化后的s,self在内存中的id都是相同的。
现在来解释上面标记的那句话
self是方法的一个参数:可以很明显的看到在上面的Stu类中,self是__init__方法中与name和age一样的参数
在方法调用的时候,这个参数是默认传参数的:我们在s = Stu(“zr”,18)中实例化Stu的时候,self参数我们并没有去赋值,而是默认传入的,谁实例化了Stu,谁就是self,__init__方法在执行时,self就是那个s

最新文章

  1. 装饰者模式 Decoration
  2. NDT(Normal Distribution Transform) 算法(与ICP对比)和一些常见配准算法
  3. xv6的作业翻译——作业1 - shell和系统调用
  4. 《c# 从入门经典》 (第6版) - c# 简介
  5. django 1.7+ default_permissions
  6. jquery checkbox checked
  7. git寻根——^和~的区别
  8. HDOJ 1864 最大报销额(01背包)
  9. vim标准操作
  10. delphi下,不错的多语言翻译组件
  11. 【Android - 进阶】之图片三级缓存的原理及实现
  12. Spark Sreaming与MLlib机器学习
  13. MySQL show 语句
  14. 大白话讲解Promise
  15. as报错
  16. zzw_rsync命令中的/的作用
  17. ScreenOper
  18. jstl 使用
  19. 页面用一个遮罩层显示加载,加载完后隐藏该div
  20. 疑犯追踪第五季/全集Person of Interest迅雷下载

热门文章

  1. springboot多数据源启动报错:required a single bean, but 6 were found:
  2. Python安装2 —— Pycharm2019.3.3的安装
  3. MySql大表分页(附独门秘技)
  4. 【HEOI2015】公约数数列 题解(分块)
  5. Android menu菜单的深入了解。。。
  6. Linux学习笔记之如何在图形界面旁边把终端添加显示出来
  7. 【av68676164(p54)】段式和段页式虚拟存储
  8. 1、迭代器 Iterator模式 一个一个遍历 行为型设计模式
  9. Java Redis系列2 (redis的安装与使用+redis持久化的实现))
  10. Web优化躬行记(4)——用户体验和工具