博客
关于我
Python中:self和__init__的含义 + 为何要有self和__init__
阅读量:170 次
发布时间:2019-02-28

本文共 1193 字,大约阅读时间需要 3 分钟。

Python中的self和__init__的含义 + 为何要有self和__init__

1. self的含义

在Python的类(Class)中,方法的第一个参数通常是self(“自身”)。这个参数表示当前实例(Instance),即类的对象(Object)。以下是self的具体含义:

  • self表示实例本身:在类的方法中,self指向当前类实例。例如,当你创建一个Person类的实例p = Person("crifan")时,p就是self。

  • 操作实例属性:通过self可以访问实例的属性。例如,self.name可以读取或设置实例的name属性。

  • 调用实例方法:通过self可以调用实例的方法。例如,self.sayYourName()会调用实例的sayYourName方法。

2. 为何要有self

  • 操作实例特定属性和方法:在类的方法中,通常需要访问实例的属性或调用实例的方法。使用self可以明确地指向当前实例,避免与其他变量混淆。

  • 避免全局变量和局部变量的冲突:如果不使用self,可能会引入全局变量或局部变量,导致无法正确访问实例属性和方法。

3. __init__的含义

init(双下划线开头和闭尾)是Python中用于初始化类实例的特殊方法。它在实例被创建时自动调用,用于执行初始化操作。

4. 为何要有__init__

  • 初始化实例属性:在__init__方法中,可以初始化实例的属性。例如,self.name = newPersionName会为实例设置name属性。

  • 执行初始化逻辑:可以在__init__中执行与实例创建相关的初始化逻辑,如连接数据库、加载配置文件等。

  • 接收参数:可以通过__init__接受参数,并根据参数初始化实例的属性。例如,newPersionName可以是实例的名字。

  • 确保实例独立性:每个实例在初始化时都会执行__init__,确保每个实例都有独立的属性和状态。

示例代码解释

以下是示例代码,展示了如何在Python中使用self和__init__:

class Person:    def __init__(self, newPersionName):        self.name = newPersionName    def sayYourName(self):        print("My name is %s" % self.name)
  • __init__方法:接受self和newPersionName参数,用于初始化实例的name属性。
  • sayYourName方法:通过self.name打印实例的名字。

总结

  • self:表示当前实例,用于访问实例属性和方法。
  • init:用于初始化实例,设置初始状态,接收参数,确保实例独立性。

通过理解和使用这些概念,你可以更好地管理类实例,编写更稳定和可靠的代码。

转载地址:http://osnj.baihongyu.com/

你可能感兴趣的文章
npm install报错,证书验证失败unable to get local issuer certificate
查看>>
npm install无法生成node_modules的解决方法
查看>>
npm install的--save和--save-dev使用说明
查看>>
npm node pm2相关问题
查看>>
npm run build 失败Compiler server unexpectedly exited with code: null and signal: SIGBUS
查看>>
npm run build报Cannot find module错误的解决方法
查看>>
npm run build部署到云服务器中的Nginx(图文配置)
查看>>
npm run dev 报错PS ‘vite‘ 不是内部或外部命令,也不是可运行的程序或批处理文件。
查看>>
npm scripts 使用指南
查看>>
npm should be run outside of the node repl, in your normal shell
查看>>
npm start运行了什么
查看>>
npm WARN deprecated core-js@2.6.12 core-js@<3.3 is no longer maintained and not recommended for usa
查看>>
npm 下载依赖慢的解决方案(亲测有效)
查看>>
npm 安装依赖过程中报错:Error: Can‘t find Python executable “python“, you can set the PYTHON env variable
查看>>
npm.taobao.org 淘宝 npm 镜像证书过期?这样解决!
查看>>
npm—小记
查看>>
npm介绍以及常用命令
查看>>
NPM使用前设置和升级
查看>>
npm入门,这篇就够了
查看>>
npm切换到淘宝源
查看>>