首先我们来看两组代码运行的结果

代码组一:

class C1:def func1():x=10print("func1的x:",x)def func2(self):x=20print("func2的x:",x)C1.func1()
C1.func2()

结果如下

代码组二:

class C1:def func1():x=10print("func1的x:",x)def func2(self):x=20print("func2的x:",x)C1.func1()
c1_obj=C1()
c1_obj.func2()

结果如下

为什么前一个报错后一个不报错?
因为后一个c1_obj=C1()其实是将C1类实例化了 形成了一个对象
就好比是:类是一个不能说话的机器猫(哆啦A梦),它有很多东西但是不能叫出它的名字就不能使用,实例化就相当于可以说话的机器猫,可以使用里面的东西。

所以 参数self就表示当前引用函数的对象(也就是自己,self只是一个形参,不是一定要self这个单词,你变成himself,herself也都可以),所以在后一个引用函数func2()时就首先将自己传给self了,而前一个因为没有实例化就不是对象,所以缺少一个参数

总结:self就是表示当前对象

追加
代码如下

结果如下


可以看出,同样一个实例中的变量是可以被实例中的不同函数调用的

Python中类函数中self是什么相关推荐

  1. python在函数中传入多个实参

    python在函数中传入多个实参 def make_pizza(*toppings):print("-----------------")print(toppings)make_p ...

  2. python max函数中使用key

    博客转移到个人站点:python max函数中使用key 代码: a = dict(((1,3),(0,-1),(3,21))) m = max(a, key=a.get) 为什么这返回与最大值对应的 ...

  3. python中的func函数_如何解释python func函数中的n?

    Func函数第一次了解知道是学习闭包章节中的,而后,因为函数本身存在的意义涵盖很多知识点,所以经常使用,在调用的时候,看到一个问题,就是关于python func函数中的n是什么?大家有没有考虑过呢? ...

  4. python 不定参数_人生苦短,我学不会Python。——函数中不定长参数的写法

    定义函数 我们可以定义一个实现自己想要的功能的函数.Python定义函数以def开头,定义函数基本格式如下: def 函数名 (参数列表):"函数_文档字符串"函数体 return ...

  5. 【问题】python open函数中的newline参数问题

    python版本:2.7 起由:在csv的写入list,提示TypeError: 'newline' is an invalid keyword argument for this function. ...

  6. python自定义函数中return可以返回多个值_python函数return返回多个值

    在函数中一旦使用return,那么函数就会停止往下执行!但是,我们有时候需要函数返回多个值,怎么实现呢?其实python的return可以返回多个值,而且Python 会自动将多个返回值封装成元组. ...

  7. python:函数中的可变参数

    可变参数 在不确定参数个数的时候,我们可以使用可变参数 python中的可变参数有两种,在参数前加*或者** 基于元组的可变参数(*可变参数) *可变参数在函数中被组装成一个元组. # 在参数名前面的 ...

  8. python 从函数中返回函数

    从函数中返回函数 其实并不需要在一个函数里去执行另一个函数,我们也可以将其作为输出返回出来: def hi(name="yasoob"):def greet():return &q ...

  9. python在一个函数中调用另一函数中的变量

    也就是c语言中的全局变量 比如有这样一个函数 def _test_():global ab = 2a = b + 1c = a + 1return c 在这里我们需要的是变量c的值,但是如果在条始中, ...

最新文章

  1. linux安装中文环境,[Linux]Ubuntu 7.04 中文环境的安装
  2. 数据蒋堂 | DB与NoSQL的访问性能
  3. 多线程和多进程的差别(小结)
  4. opencv、matplotlib、pillow和pytorch读取数据的通道顺序
  5. 计算机房英语视频,雅思听力场景词汇:计算机房场景
  6. 序列密码体制——密码学笔记(三)
  7. MAC电脑数据迁移方法
  8. 前后端分离系统使用Nginx代理https地址
  9. VTK:PolyData之PointNormals
  10. zcmu4959: ly的新闹钟(有个点容易忽略)
  11. applyBinding Observables
  12. LeetCode 1958. 检查操作是否合法(模拟)
  13. mysql添加timestamp有什么用_mysql中timestamp的使用
  14. 如何在CDH5上部署Dolphin Scheduler 1.3.1
  15. tastypie使用cache对list data无效问题
  16. EXCEL VBA入门(课堂随机点名系统)
  17. pwm占空比的c语言编程详解,灵动微MM32F003硬件最小系统 --- PWM占空比从0%到100%例程解析【18】...
  18. java实现即时通讯软件
  19. resource failed to call close
  20. SQL server日志清理

热门文章

  1. 企业招聘网络推广运营人员的岗位工作职责该如何写?
  2. 串口通信协议--UART、RS-232、RS-485、RS-422
  3. ubuntu下重启tomcat
  4. 利用ArcGIS提取高光谱图像每个像素的光谱信息,再利用matlab显示每个像素的光谱信息
  5. 如何在微信小程序里实现聊天室功能?
  6. Visual Studio Code 新手教程
  7. git使用meld的方法
  8. racle varchar,date互转,number,varchar互转
  9. 数组,向量和矩阵以及空间的维数
  10. 请写一个java冒泡算法