当前位置: 首页 > news >正文

Python类的self

      Python编写类的时候,每个函数参数第一个参数都是self,一开始没有深究它到底是干嘛的,只知道必须要写上。后来对Python渐渐熟悉了一点,再回头看self的概念,似乎有点弄明白了。

      首先明确的是self只有在类的方法中才会有,独立的函数或方法是不必带有self的。self在定义类的方法时是必须有的,虽然在调用时不必传入相应的参数。

      self名称不是必须的,在python中self不是关键词,你可以定义成a或b或其它名字都可以,但是约定成俗(为了和其他编程语言统一,减少理解难度)用self, 否则大家可能会看不明白你的代码的

下例中将self改为myname一样没有错误:

class Person:
    def __init__(myname, name):
        myname.name=name
    def sayhello(myname):
        print('My name is:',myname.name)
person = Person('Bill')
person.sayhello()

 

 

self指的是类实例对象本身(注意:不是类本身)。

在上述例子中,self指向Person的实例p

 

 

相关文章:

  • Python输出numpy array带逗号和不带逗号
  • center loss 中心损失
  • torch与lua的关系
  • Python类super(super().__init__())
  • 自回归模型(Autoregressive model)(auto)
  • Pytorch tensorboard与tensorboardX的区别
  • Pytorch中的BN和IN(affine仿射, track_running_stats)
  • Pytorch修改tensor值
  • Siamese Network(孪生网络/连体网络) (few-shot learning)
  • inplace=True (原地操作)
  • 服务器内存泄漏
  • linux快速目录切换(cd - ,dirs, pushd, popd)
  • Python同时输出到屏幕和文件(Logger)
  • 图像通道转换——tensor从[h, w, c]转为[c, h, w] (permutetranspose和view的区别)(reshape和view)
  • linux服务器精确kill掉占用某几张卡的显存的程序
  • 【Redis学习笔记】2018-06-28 redis命令源码学习1
  • Elasticsearch 参考指南(升级前重新索引)
  • GraphQL学习过程应该是这样的
  • Javascript 原型链
  • Java多线程(4):使用线程池执行定时任务
  • Kibana配置logstash,报表一体化
  • Next.js之基础概念(二)
  • RxJS: 简单入门
  • Storybook 5.0正式发布:有史以来变化最大的版本\n
  • 从0实现一个tiny react(三)生命周期
  • 利用jquery编写加法运算验证码
  • 适配iPhoneX、iPhoneXs、iPhoneXs Max、iPhoneXr 屏幕尺寸及安全区域
  • 数据可视化之 Sankey 桑基图的实现
  • 算法系列——算法入门之递归分而治之思想的实现
  • 微服务核心架构梳理
  • 我有几个粽子,和一个故事
  • 【运维趟坑回忆录】vpc迁移 - 吃螃蟹之路
  • 你学不懂C语言,是因为不懂编写C程序的7个步骤 ...
  • ​​​​​​​​​​​​​​Γ函数
  • # 安徽锐锋科技IDMS系统简介
  • $.ajax,axios,fetch三种ajax请求的区别
  • (poj1.2.1)1970(筛选法模拟)
  • (四)Tiki-taka算法(TTA)求解无人机三维路径规划研究(MATLAB)
  • (一)Thymeleaf用法——Thymeleaf简介
  • (原创)boost.property_tree解析xml的帮助类以及中文解析问题的解决
  • .class文件转换.java_从一个class文件深入理解Java字节码结构
  • .mkp勒索病毒解密方法|勒索病毒解决|勒索病毒恢复|数据库修复
  • .net MySql
  • .net 前台table如何加一列下拉框_如何用Word编辑参考文献
  • .net最好用的JSON类Newtonsoft.Json获取多级数据SelectToken
  • /proc/vmstat 详解
  • @JoinTable会自动删除关联表的数据
  • [1159]adb判断手机屏幕状态并点亮屏幕
  • [autojs]逍遥模拟器和vscode对接
  • [BZOJ1089][SCOI2003]严格n元树(递推+高精度)
  • [dfs搜索寻找矩阵中最长递减序列]魔法森林的秘密路径
  • [docker] Docker容器服务更新与发现之consul
  • [J2ME]如何替换Google Map静态地图自带的Marker
  • [js]js设计模式小结
  • [Machine Learning] Learning with Noisy Labels