Python的self和C++like语言的this,哪种设计更好

Python 中的 self 更好。理由如下:Python的类不能直接使用,只有通过创建(对象)才能发挥它的功能,每个实例(对象)都是独一无二的,它可以调用类的方法、。类就像灵魂附体一样,让实例(对象)有了自己(self)的功能。

Python 中的 self 更好

Python的类不能直接使用,只有通过创建(对象)才能发挥它的功能,每个实例(对象)都是独一无二的,它可以调用类的方法、。类就像灵魂附体一样,让实例(对象)有了自己(self)的功能。

self的原理

创建一个类Test(),实例化该类t=Test()得到t这个对象,调用这个对象的方法t.fun(x,y),调用过程中,python会自动转为Test.fun(t,x,y)

两者区别

Python,当实例对象调用函数(函数其实都是属于类空间的)的时候,系统会自动将对象本身传入 函数在定义时的第一个变量一般是self。(但self并不是关键字,用其他名字也可以)定义时,这个self必须写出来,而调用时,不用你自己将实例对象传入。

C++,当实例对象调用函数时,系统也会将实例对象传入函数,不同是不管是定义还是调用,存储对象的这个 参数都是隐藏的,传递过程也是自动且不可见的。只有在函数内部才可以显性的使用它——this,而且this是一个关键字。

也就是说C++类里定义的函数默认都是给实例用的,除非加上static关键字!此时才是给类用的。(不过实例也可以调用静态函数,但是类无法调用非静态函数)。

而python并没有强制说哪个函数是给类用的,哪些函数是给实例对象用的,他只是规定,如果是类调用函数,那么就是普通的调用,如果是对象调用函数,系统就会自动把实例对象传给时的第一个参数。

延伸阅读:

什么是C++?

C++(c plus plus)是一种计算机高级程序设计语言,由C语言扩展升级而产生,最早于1979年由本贾尼·斯特劳斯特卢普在AT&T贝尔工作室研发。

C++既可以进行C语言的过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计,还可以进行以继承和多态为特点的面向对象的程序设计。C++擅长面向对象程序设计的同时,还可以进行基于过程的程序设计。 C++几乎可以创建任何类型的程序:游戏、设备驱动程序、HPC、云、桌面、嵌入式和移动应用等。 甚至用于其他编程语言的库和编译器也使用C++编写。

C++拥有计算机运行的实用性特征,同时还致力于提高大规模程序的编程质量与程序设计语言的问题描述能力。

文章标题:Python的self和C++like语言的this,哪种设计更好,发布者:小编,转载请注明出处:https://worktile.com/kb/p/39257

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小编小编认证作者
上一篇 2023年2月22日
下一篇 2023年2月22日

相关推荐

  • 什么是linux的编程接口

    Linux的编程接口包括系统调用、库函数、设备驱动接口等,这些接口构成了操作系统与应用程序之间沟通的桥梁。在这些接口中,系统调用扮演着极为关键的角色。系统调用是操作系统提供给程序员的编程接口,它使得应用程序能够请求操作系统提供的服务。例如,文件操作、进程管理、内存管理等。这些调用对于应用程序而言是透…

    2024年5月7日
    900
  • 为什么让青少年学编程呢

    让青少年学习编程主要是因为1、增强逻辑思维能力 2、培养创新思维 3、提升解决问题的能力 4、拓宽未来职业道路。其中,增强逻辑思维能力尤其重要。编程不仅是关于书写代码,更多的是关乎如何思考问题。通过编码的过程,青少年能够学会如何将复杂的问题分解为一系列可管理和解决的小问题,从而锻炼和提升他们的逻辑思…

    2024年4月28日
    3800
  • vscode按哪个键运行

    在VSCode中运行程序一般通过组合键 Ctrl + F5 启动调试器来执行。如果代码文件已经关联了正确的运行环境和执行程序,这将编译和运行代码。 使用快捷键 Ctrl + F5 可以无需进入调试模式就运行代码。这意味着,如果您希望快速查看程序的执行结果,而不是单步调试代码,您可以利用这个快捷方式。…

    2024年5月6日
    900
  • plc是基于什么编程的

    PLC编程主要基于梯形图、功能块图、指令列表、结构化文本和顺序功能图五种编程语言。其中,梯形图是PLC编程中应用最广泛的语言,它以逻辑运算为基础,模拟了传统的继电器控制电路,用户可以通过图形化的方式进行编程。梯形图非常直观,易于理解和编程,特别是对于电气工程师而言,它减少了编程门槛,使得从电路设计到…

    2024年5月7日
    900
  • 普通人学什么编程语言赚钱

    普通人想要通过学习编程语言获得财富增长,推荐学习的语言包括1、Python、2、JavaScript、3、Swift。重点描述Python,因其易学性和广泛应用。Python被广泛应用于网站开发、数据分析、人工智能等领域,需求量大,入门相对容易。学习Python不仅能够让初学者相对短时间内掌握一门编…

    2024年4月27日
    4600
  • 编程软件为什么全是英文

    编程软件之所以普遍使用英文,原因主要可以归结为以下几点:1、国际通用性;2、历史沿革;3、技术标准;4、资源共享;5、学术交流。 以英语作为编程软件主要语言的其中一点是国际通用性。英语作为国际通用语言,在软件开发领域担当重要角色。编写代码时,使用英语可以确保来自全球的开发者都能理解和使用软件或代码库…

    2024年5月7日
    900
  • 编程语言什么专业

    编程语言的专业性表现在以下五个方面: 语法复杂性和严谨性、 应用范围和领域特定性、 学习曲线和入门难度、 社区支持和资料丰富度、 性能和优化能力。 以性能和优化能力为例,这一点是衡量编程语言专业性的关键。更专业的编程语言通常具有强大的性能调优选项,允许开发者优化代码以满足特定应用程序的性能要求。例如…

    2024年5月2日
    2000
  • 什么叫编程键盘

    编程键盘是一种特别设计用于提高编码效率和舒适度的输入设备。它们通常具备可编程按键、1、机械开关以及定制布局和宏功能。特别地,机械开关是编程键盘流行的原因之一,它提供了更佳的打字体验和响应速度,这对于长时间编码的程序员来说是非常重要的。 一、INTRODUCTION TO PROGRAMMING KE…

    2024年5月2日
    3900
  • 学编程选什么架构好

    单体架构、微服务架构以及服务端渲染架构 是目前学习编程时常见的三种系统架构风格。选择微服务架构可能对新手来说比较有挑战,但它为未来的可扩展性和灵活性奠定了良好的基础。微服务架构是由一组小型服务组成的,每个服务运行在自己的进程中,并通过轻量级的通信机制(通常是HTTP REST或消息队列)相互协作。每…

    2024年5月6日
    1400
  • 编程什么工具好用

    编程中优秀的工具推荐 在编程领域,1、文本编辑器和IDE、2、版本控制系统、3、代码协作平台等工具至关重要。特别地,文本编辑器和IDE是程序员日常工作中不可或缺的工具,它们提供了代码高亮、语法提示、错误检测等功能,极大地提升了编程效率和代码质量。选择一款功能强大、操作便捷的文本编辑器或IDE,对程序…

    2024年5月2日
    3100

发表回复

登录后才能评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部