详解Python self 参数


Posted in Python onAugust 30, 2019

1、概述

1.1 场景

我们在使用 Python 中的 方法 method 时,经常会看到 参数中带有 self,但是我们也没对这个参数进行赋值,那么这个参数到底是啥意思呢?

2、知识点

2.1 成员函数(m) 和 普通方法(f)

Python 中的 "类方法" 必须有一个额外的 第一个参数名称(名称任意,不过推荐 self),而 "普通方法"则不需要。

m、f、c 都是代码自动提示时的 左边字母(method、function、class)

# -*- coding: utf-8 -*-
class Test(object):
 def add(self, a, b):
  # 输出 a + b
  print(a + b)
 def show(self):
  # 输出 "Hello World"
  print("Hello World")

def display(a, b):
 # 输出 a * b
 print(a * b)

if __name__ == '__main__':
 test = Test()
 test.add(1, 2)
 test.show()
 display(1, 2)

2.2 类函数,静态函数

类函数一般用参数 cls

静态函数无法使用 self 或 cls

class Test(object):
 def __init__(self):
  print('我是构造函数。。。。')
 def foo(self, str):
  print(str)
 @classmethod
 def class_foo(cls, str):
  print(str)
 @staticmethod
 def static_foo(str):
  print(str)

def show(str):
 print(str)

if __name__ == '__main__':
 test = Test()
 test.foo("成员函数")
 Test.class_foo("类函数")
 Test.static_foo("静态函数")
 show("普通方法")

输出结果:

我是构造函数。。。。
成员函数
类函数
静态函数
普通方法

总结

以上所述是小编给大家介绍的Python self 参数,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Python 相关文章推荐
python logging类库使用例子
Nov 22 Python
Python第三方库的安装方法总结
Jun 06 Python
Python判断文件和字符串编码类型的实例
Dec 21 Python
pycharm执行python时,填写参数的方法
Oct 29 Python
详解python 爬取12306验证码
May 10 Python
python读取并定位excel数据坐标系详解
Jun 26 Python
在交互式环境中执行Python程序过程详解
Jul 12 Python
Python二维码生成识别实例详解
Jul 16 Python
Python配置文件处理的方法教程
Aug 29 Python
python实现按首字母分类查找功能
Oct 31 Python
keras 自定义loss层+接受输入实例
Jun 28 Python
python3中TQDM库安装及使用详解
Nov 18 Python
Python 70行代码实现简单算式计算器解析
Aug 30 #Python
Python类中方法getitem和getattr详解
Aug 30 #Python
Python paramiko模块使用解析(实现ssh)
Aug 30 #Python
django中上传图片分页三级联动效果的实现代码
Aug 30 #Python
python实现生成Word、docx文件的方法分析
Aug 30 #Python
python解析yaml文件过程详解
Aug 30 #Python
详细整理python 字符串(str)与列表(list)以及数组(array)之间的转换方法
Aug 30 #Python
You might like
让PHP更快的提供文件下载的代码
2012/06/13 PHP
解析zend studio中直接导入svn中的项目的方法步骤
2013/06/21 PHP
非常实用的PHP常用函数汇总
2014/12/17 PHP
ThinkPHP5框架缓存查询操作分析
2018/05/30 PHP
php array 转json及java 转换 json数据格式操作示例
2019/11/13 PHP
获取当前网页document.url location.href区别总结
2008/05/10 Javascript
jQuery formValidator表单验证插件开源了 含API帮助、源码、示例
2008/08/14 Javascript
简单的js分页脚本
2009/05/21 Javascript
正负小数点后两位浮点数实现原理及代码
2013/09/06 Javascript
jquery实现的缩略图预览滑块实例
2015/06/25 Javascript
javascript实现tab响应式切换特效
2016/01/29 Javascript
Bootstrap自定义文件上传下载样式
2016/05/26 Javascript
详解angularJS动态生成的页面中ng-click无效解决办法
2017/06/19 Javascript
jQuery Collapse1.1.0折叠插件简单使用
2017/08/28 jQuery
浅谈React组件之性能优化
2018/03/02 Javascript
JS实现简单获取最近7天和最近3天日期的方法
2018/04/18 Javascript
JavaScript实现的3D旋转魔方动画效果实例代码
2019/07/31 Javascript
用Python写一个无界面的2048小游戏
2016/05/24 Python
Python随机数random模块使用指南
2016/09/09 Python
python smtplib模块实现发送邮件带附件sendmail
2018/05/22 Python
python3反转字符串的3种方法(小结)
2019/11/07 Python
Pytho爬虫中Requests设置请求头Headers的方法
2020/09/22 Python
Python爬虫获取op.gg英雄联盟英雄对位胜率的源码
2021/01/29 Python
施华洛世奇天猫官方旗舰店:SWAROVSKI
2017/04/17 全球购物
英国第一的购买便宜玩具和游戏的在线购物网站:Bargain Max
2018/01/24 全球购物
Otticanet澳大利亚:最顶尖的世界名牌眼镜, 能得到打折季的价格
2018/08/23 全球购物
马德里著名的运动鞋商店:NOIRFONCE
2019/04/12 全球购物
学生处主任岗位职责
2013/12/01 职场文书
销售经理竞聘书
2014/03/31 职场文书
企业挂职心得体会
2014/09/10 职场文书
单位员工收入证明样本
2014/10/09 职场文书
党校毕业个人总结
2015/02/28 职场文书
医院病假条范文
2015/08/17 职场文书
2019个人半年工作总结
2019/06/21 职场文书
Python 一键获取电脑浏览器的账号密码
2022/05/11 Python
postgresql中如何执行sql文件
2023/05/08 PostgreSQL