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 class类的self_Python类class参数self原理解析相关推荐

  1. python中property魔法方法原理_Python类中的魔法方法之 __slots__原理解析

    在类中每次实例化一个对象都会生产一个字典来保存一个对象的所有的实例属性,这样非常的有用处,可以使我们任意的去设置新的属性. 每次实例化一个对象python都会分配一个固定大小内存的字典来保存属性,如果 ...

  2. go python java_一文助你搞懂参数传递原理解析(java、go、python、c++)

    前言 最近一年多的时间陆续接触了一些对我来说陌生的语言,主要就是 Python 和 Go,期间为了快速实现需求只是依葫芦画瓢的撸代码:并没有深究一些细节与原理. 就拿参数传递一事来说各个语言的实现细节 ...

  3. python timer详解_python线程定时器Timer实现原理解析

    这篇文章主要介绍了python线程定时器Timer实现原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 一.线程定时器Timer原理 原理比较 ...

  4. python中的类及self详解_Python类class参数self原理解析

    1.self只有在类的方法中才会有,其他函数或方法是不必带self的. 2.在调用时不必传入相应的参数. 3.在类的方法中(如__init__),第一参数永远是self,表示创建的类实例本身,而不是类 ...

  5. Request 接收参数乱码原理解析

    起因: 今天早上被同事问了一个问题:说接收到的参数是乱码,让我帮着解决一下. 实际情景: 同事负责的平台是Ext.js框架搭建的,web.config配置文件里配置了全局为"GB2312&q ...

  6. python中自定义类中的self_Python类和构造方法

    1.面向对象介绍 描述:是函数的一个变种,在Python中,有函数式编程和面向对象编程,java和C#之类只能把函数写到类里,没有函数式编程,所以只有面向对象,所以在Python中有了选择,可能就变得 ...

  7. python类方法需要传入cls参数_如何从Python 3.x中的类定义传递参数到元类?

    这是如何从类定义向元类传递参数的python 3.x版本?问题,根据请求单独列出,因为答案与python 2.x明显不同. 在python 3.x中,如何将参数传递给元类的__prepare__.__ ...

  8. Python(IT峰)笔记12-装饰器概念,装饰器的原型,装饰器的嵌套,装饰带有参数的函数,装饰器的嵌套,装饰带有多参数的函数,带有参数的装饰器,用类方法装饰函数,用韩式装饰器装饰类,用类装饰器装饰类

    1.装饰器decorator概念 在不改变原有函数代码,且保持原函数调用方法的基础上,给原函数增加新的功能(给类增加属性或方法) 用一个函数或类去装饰一个旧函数(或类)造出一个新函数(或新类) 在原有 ...

  9. python中的新式类与旧式类的一些基于descriptor的概念(下)

    3. Descriptor介绍 3.1 Descriptor代码示例 3.2 定义 3.3 Descriptor Protocol(协议) 3.4 Descriptor调用方法 4. 基于Descri ...

最新文章

  1. mysql innodb 1017_MySQL InnoDB表压缩
  2. 流程表单中js如何清空SheetUser控件数据?
  3. Docker学习总结(6)——通过 Docker 化一个博客网站来开启我们的 Docker 之旅
  4. EBS FORM开发问题总结
  5. web.py端口被占用的错误
  6. 美团的DBProxy实践
  7. 百度SEO站群流光风格个人主页HTML源码
  8. c mysql 插入大量数据_C++操作MySQL大量数据插入效率低下的解决方法
  9. linux下ip协议(V4)的实现(四)
  10. Linux使用tcpdump抓获取WIFI包
  11. gispython定义查询_Python与开源GIS:SpatiaLite 中的基本SQL数据库查询用法
  12. T系统和应用集成-从SOA架构思想到服务架构规划设计
  13. 解决mac下ssh空闲一段时间自动断开的问题
  14. go net/http包
  15. OpenLayers之官网实例
  16. 百度Python面试题
  17. C#图像处理教程:VS2022+Win7+OpenCvSharp4创建第一个图像处理实例hello lenna
  18. MathType公式编辑器数学公式、希腊字母和常用操作快捷键[待续ing]
  19. 校招22届大疆 嵌入式面经/23届投递可私戳内推!
  20. mysql5.5升级到8_MySQL5.7升级到8.0过程详解

热门文章

  1. Win32环境下动态链接库(DLL)编程原理
  2. Expression Atlas
  3. 使用开源框架Sqlsugar结合mysql开发一个小demo
  4. Python 返回值、方法和函数的区别
  5. java.util.ArrayList
  6. HDU1024 Max Sum Plus Plus
  7. Updatepanel 注册javascript 方法
  8. 终于解决了贴吧手机版的一个重大BUG
  9. ubuntu下如何查看和设置分辨率 (转载)
  10. ScheduledThreadPoolExecutor