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

python的魔法方法

python类中的self是什么?

对象的方法都会有一个self参数,类比于c++,self就相当于c++的this指针。
由一个类可以生成无数个对象,当一个对象的方法被调用时,对象会讲自身的引用作为第一个参数传给该方法,那么python就知道需要操作哪个对象的方法了。
例子

class Ball:def setName(self,name):self.name=namedef kick(self):print("我叫%s,噢~谁踢我?"%self.name)

实例化:

a=Ball()
a.setName('流星')
b=Ball()
b.setName('地球')
c=Ball()
c.setName('火星')a.kick()
b.kick()
c.kick()

输出:
我叫流星,噢~谁踢我?
我叫地球,噢~谁踢我?
我叫火星,噢~谁踢我?

python的__init__()魔法方法

据说,python的对象天生拥有一些 神奇的方法,他们是面向对象的python的一切,他们是可以给类增加魔力的特殊方法,如果对象实现了这些方法中的某一个,那么这个方法就会在特殊的情况下被python调用,而这一切是自动发生的。

python的这些具有魔力的方法,总是被左右两个下划线包围,这里就讲其中一个基本的特殊方法,init()。

通常把__init__()方法称为构造方法,init()方法的魔力体现在只要实例化一个对象,这个方法就会在对象被创建时自动调用,其实,实例化对象时是可以传入参数的,这些参数会自动传入__init__()方法中,可以通过重写这个方法来自定义对象的初始化操作。

例子:

class Potato:def __init__(self,name):self.name=namedef kick(self):print("我叫%s,噢~谁踢我?"%self.name)

实例化:

p=Potato('流星')
p.kick()

输出:
我叫流星,噢~谁踢我?

http://www.lryc.cn/news/395616.html

相关文章:

  • [Vue3 + TS + Vite] 获取网页选中内容的字符串格式或HTML格式
  • 线程安全的原因及解决方法
  • 微信零钱明细删除了还能恢复吗?图文教程解析
  • mp4视频太大怎么压缩不影响画质,mp4文件太大怎么变小且清晰度高
  • 【线程同步-2】
  • 【别再为可视化工具付费了!】财务报表免费制作软件,这款免费可视化工具的功能超乎想象
  • 【HTML入门】第五课 - 加粗和倾斜的字体们
  • 解决树形表格 第一列中文字没有对齐
  • 三级_网络技术_09_IP地址规划技术
  • 力扣1878.矩阵中最大的三个菱形和
  • ELB和VPC是云计算领域中的两个术语,通常与Amazon Web Services (AWS)相关联
  • YOLO-World实时开集检测论文阅读
  • LLM - 词向量 Word2vec
  • Tileserver GL中glyphs的使用
  • uniapp自动升级
  • java Pair怎么使用
  • 数据库doris中的tablet底层解析
  • 江苏高防服务器都有哪些优势?
  • Pytest单元测试系列[v1.0.0][Pytest基础]
  • C/C++服务器基础(网络、协议、数据库)
  • Mysql系列-Binlog主从同步
  • java设计模式(六)——原型模式
  • arm (exti中断)
  • 触摸屏虚拟键盘组件 jQuery Virtual Keyboard使用 自定义键盘
  • 面试题07-09
  • MySQL之binlog日志
  • 【大数据】什么是数据湖?一文揭示数据湖的本质
  • CSS【详解】文本相关样式(含 font 系列,文本排版,文本装饰,分散对齐,渐变色文本等)
  • 加油卡APP系统开发,优惠加油收益
  • el-scrollbar实现自动滚动到底部(AI聊天)