码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Python面试高频问题:self到底是什么


    1999f580de494977821cce312fc17315.png

    Python面试中,如果想考核面试者对面向对象的理解,我会问这样一个问题,请你谈一谈对self的理解?

    self 这个很常见,我们定义一个python类的方法时,第一个参数就是self,代码如下:

    1. class MyDemo:
    2. def test_self(self):
    3.         pass

    那么我们真的理解了什么是self吗?我相信有好多同学,就是简单地记住了:这是python中定义类方法的一个固定写法,有self的就是类方法,没有self的就是函数!的确,这是python中最基础的方法和函数的区别。那么self的本质又是什么呢,其实他就是类的实例化对象!也就是说谁在用某个方法,self指的就是它。

    我们看下面的例子

    1. class MyClass:
    2. def test_self(self):
    3. print(self)
    4. print("----------第一个实例----------")
    5. my=MyClass()
    6. print(my)
    7. my.test_self()
    8. print("----------第二个实例----------")
    9. my1=MyClass()
    10. print(my)
    11. print(my1)

    输出:

    <__main__.MyClass object at 0x00000066AF550448>

    <__main__.MyClass object at 0x00000066AF550448>

    ----------第二个实例----------

    <__main__.MyClass object at 0x00000066AF550448>

    <__main__.MyClass object at 0x00000066AF550388>

    从第二个实例的输出结果我们可以看到,我们一共实例化了两个实例,一个是<__main__.MyClass object at 0x00000066AF550448>,另一个是<__main__.MyClass object at 0x00000066AF550388>

    继续分析我们可以看到第一个实例中,实例化的my 和方法test_self(self) 中的self的值其实是一样的!

    因此我们可以得出结论:self就是实例化的对象!

  • 相关阅读:
    飞行动力学 - 基础点摘要整理
    Go语言的[GPM模型]
    Linux驱动开发(二)---驱动与设备的分离设计
    大数据技术之Hadoop:使用命令操作HDFS(四)
    序列化技术ProtoBuf
    国内最牛的Java面试八股文合集,不接受反驳 我这该死的魅力
    少儿编程之冒泡排序
    动态代理:一种灵活的设计模式
    ICCV2021|你以为这是一个填色模型?其实我是检索模型!
    mapbox地图动画一键飞行
  • 原文地址:https://blog.csdn.net/liwenxiang629/article/details/125422117
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号