博客
关于我
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/

你可能感兴趣的文章
Nginx 多端口配置和访问异常问题的排查与优化
查看>>
Nginx 如何代理转发传递真实 ip 地址?
查看>>
Nginx 学习总结(16)—— 动静分离、压缩、缓存、黑白名单、性能等内容温习
查看>>
Nginx 学习总结(17)—— 8 个免费开源 Nginx 管理系统,轻松管理 Nginx 站点配置
查看>>
Nginx 学习(一):Nginx 下载和启动
查看>>
nginx 常用指令配置总结
查看>>
Nginx 常用配置清单
查看>>
nginx 常用配置记录
查看>>
nginx 开启ssl模块 [emerg] the “ssl“ parameter requires ngx_http_ssl_module in /usr/local/nginx
查看>>
Nginx 我们必须知道的那些事
查看>>
Nginx 的 proxy_pass 使用简介
查看>>
Nginx 的配置文件中的 keepalive 介绍
查看>>
Nginx 结合 consul 实现动态负载均衡
查看>>
Nginx 负载均衡与权重配置解析
查看>>
Nginx 负载均衡详解
查看>>
nginx 配置 单页面应用的解决方案
查看>>
nginx 配置https(一)—— 自签名证书
查看>>
nginx 配置~~~本身就是一个静态资源的服务器
查看>>
Nginx 配置清单(一篇够用)
查看>>
Nginx 配置解析:从基础到高级应用指南
查看>>