简单理解python中的self
时间:2022-07-22
本文章向大家介绍简单理解python中的self,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
在我们写class类型时,就不可避免的用到self。刚开始学的时候,没有特别理解,就在__init__初始化的时候固定的写上。现在逐渐弄懂一些了。
首先,self只在class中才会出现,定义函数时则不必要。
然后,"self"不需要一定是self这个名称,也可以叫别的名字,只不过约定成俗写为self,如下也可以:
class Person:
def __init__(this, name, age):
this.name = name
this.age = age
a = Person('LiHua', 24)
print(a.name, a.age)
对于self的意义,首先要说一下__init__初始化函数,每次实例化的时候,都会调用这个函数:
class Test:
def __init__(self):
print("YES!")
a = Test()
直接输出了'YES'。
我们往往用这个初始化函数赋值,这样可以在整个class中直接调用赋值的变量。比如:
class Test:
def __init__(self, name, age):
self.name = name
self.age = age
def introduce(self):
print('Hello, my name is {}, my age is {}.'.format(self.name, self.age))
a = Test('LiHua', 24)
a.introduce()
b = Test('Zhang Da', 26)
b.introduce()
输出: Hello, my name is LiHua, my age is 24. Hello, my name is Zhang Da, my age is 26.
对于self,我个人的理解就是可以更方便的赋一个在这个class里都可以用的“全局变量”值。
- 基于Python-ChatterBot搭建不同adapter的聊天机器人(使用NB进行场景分类)
- 并查集(个人模版)
- Markdown 语法和 MWeb 写作使用说明既然都整理了,捎带手把这个也整理了吧第一级标题<h1>
- 带权并查集(个人模版)
- 我的第一次Pascal程序
- Hive第二天学习内容总结Hive 第三天DDL特别注意一下,没事别删除数据DML
- Codeforces 791B Bear and Friendship Condition(DFS,有向图)
- Codeforces 791A Bear and Big Brother(暴力枚举,模拟)
- Selenium2+python自动化28-table定位
- POJ 2370 Democracy in danger(简单贪心)
- POJ 2209 The King(简单贪心)
- 使用 Vagrant 打造跨平台开发环境
- HDU 2084 数塔(简单DP入门)
- Python-解决Cx_Oracle查询时UnicodeDecodeError的问题
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Vue 踩过的坑
- Java TCP/UDP/HttpClient简例
- 让你设计实现一个签到功能,到底用MySQL还是Redis?
- 如何防止MySQL重复插入数据,这篇文章会告诉你
- Spring AOP注解开发
- 快速学习-Jenkins CLI凭据
- 快速学习-Jenkins CLI任务
- 珍惜数据,远离钓鱼
- Android Pie限制非 SDK 接口的调用
- 多线程基础(十一):interrupt深度分析
- [记录点滴]授人以渔,从Tensorflow找不到dll扩展到如何排查问题
- redis学习(十七)
- Modbus协议
- client-go连接K8s集群进行pod的增删改查
- [895]Clickhouse