Python类class参数self原理解析

 更新时间:2020-11-19 17:00:37   作者:佚名   我要评论(0)

1.self只有在类的方法中才会有,其他函数或方法是不必带self的。



2.在调用时不必传入相应的参数。


3.在类的方法中(如__init__),第一参数永远是self,表示创

1.self只有在类的方法中才会有,其他函数或方法是不必带self的。


2.在调用时不必传入相应的参数。

3.在类的方法中(如__init__),第一参数永远是self,表示创建的类实例本身,而不是类本身。

4.可以把对象的各种属性绑定到self。

5.self代表当前对象的地址。self能避免非限定调用造成的全局变量。

6.self不是python的关键字,也可以用其他名称命名,但是为了规范和便于读者理解,推荐使用self。

python中的self等价于C++中的self指针和Java、C#中的this参数。

7.如果不加self,表示是类的一个属性(可以通过"类名.变量名"的方式引用),加了self表示是类的实例的一个属性(可以通过"实例名.变量名"的方式引用)

#例如:
class 类Test(object):
 val = 100
 def __init__(self):
 self.val = 200
 
对象test = 类Test() //类对象化
 
对象test.val #输出200
类Test.val #输出100

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
  • python定义类self用法实例解析
  • 详解Python self 参数
  • Python中的self用法详解
  • python3中类的继承以及self和super的区别详解
  • 对Python中class和instance以及self的用法详解
  • 全面理解Python中self的用法
  • Python中为什么要用self探讨
  • python类参数self使用示例

相关文章

  • Python类class参数self原理解析

    Python类class参数self原理解析

    1.self只有在类的方法中才会有,其他函数或方法是不必带self的。 2.在调用时不必传入相应的参数。 3.在类的方法中(如__init__),第一参数永远是self,表示创
    2020-11-19
  • vue-drawer-layout实现手势滑出菜单栏

    vue-drawer-layout实现手势滑出菜单栏

    本文实例为大家分享了vue-drawer-layout实现手势滑出菜单栏的具体代码,供大家参考,具体内容如下 文档链接地址 安装 npm install vue-drawer-layout --save ma
    2020-11-19
  • JavaScript实现无限轮播效果

    JavaScript实现无限轮播效果

    本文实例为大家分享了JavaScript实现无限轮播效果的具体代码,供大家参考,具体内容如下 效果展示 原理 图片说明原理 轮播顺序:1–>2–>3–>4–>5–>1的副本–>2
    2020-11-19
  • php操作redis命令及代码实例大全

    php操作redis命令及代码实例大全

    官方PHP Redis扩展文件下载 https://pecl.php.net/package/redis 选择与你PHP版本相应的文件下载后直接放到PHP目录下的ext文件夹里,然后修改php.ini配置文件如下
    2020-11-19
  • 如何用SpringBoot 进行测试

    如何用SpringBoot 进行测试

    普通测试 假设要测试一个工具类 StringUtil(com.rxliuli.example.springboottest.util.StringUtil) /** * 用于测试的字符串工具类 * * @author rxliuli
    2020-11-19
  • Java彻底消灭if-else的8种方案

    Java彻底消灭if-else的8种方案

    优化方案 1:提前 return,去除不必要的 else 如果 if-else 代码块包含 return 语句,可以考虑通过提前 return,把多余 else 干掉,使代码更加优雅。 优化前: if
    2020-11-19
  • 微信小程序实现分页加载效果

    微信小程序实现分页加载效果

    分页加载功能大家遇到的应该会经常遇到,应用场景也很多,例如微博,QQ,微信朋友圈以及新闻类应用,都会有分页加载的功能,这不仅节省了我们用户的流量,还提升了用
    2020-11-19
  • Java如何利用状态模式(state pattern)替代if else

    Java如何利用状态模式(state pattern)替代if else

    大多数开发人员现在还在使用if else的过程结构,曾看过jdon的banq大哥写的一篇文章,利用command,aop模式替代if else过程结构。当时还不太明白,这几天看了《重构》
    2020-11-19
  • JavaScript构造函数原理及实现流程解析

    JavaScript构造函数原理及实现流程解析

    在学习构造函数之前我们需要知道我们学习构造函数需要学习什么: 1.什么是构造函数 2.构造函数用来做什么 3.构造函数的执行过程 4.构造函数的返回值 1.所以首先我们
    2020-11-19
  • Docker重命名镜像名称和TAG操作

    Docker重命名镜像名称和TAG操作

    使用docker images时,可能会出现REPOSITORY和TAG均为none的镜像,如下图 这时,我们可以重命名镜像 # docker tag IMAGEID(镜像id) REPOSITORY:TAG(仓库:标签)
    2020-11-19

最新评论