Python类定义、属性、初始化和析构
- 类的定义,属性和方法概念
- 方法中self的作用和意义
- 初始化( __init__ ) 和 析构方法( __del__ )
类的定义
class 类名
实例
实例名 = 类名()
一个“实例”的“特征”,就是“属性”
私有属性
在python中有两种私有属性,分别是在属性前加 一个下换线(_) 和 两个下划线(__)
一个下滑线外部可以直接访问(用运算符“.”,点不出来,在知道有的情况下,可以直接使用)
两个下划线外部不可以直接访问(实例名._类名__私有属性、这样调用、用dir(实例名)可以查看所有属性和方法)
类是一个独立存放变量(属性/方法)的空间
实例也是一个独立存放变量的空间,不同实例之间的空间互相不可见
运算符“.”调用类的属性或方法
“类”与“实例”之间的关系
类是一类事物的抽象,不是真实存在的,描绘了该类事物的共性
实例是某类事物的具体个体,是该类事物的具体表现,它是真实存在的
方法
“方法”就是封装在类里的一种特殊的函数
通常,将默认会传入的那个参数命名为self,用来表示调用这个方法的实例对象本身
方法总是定义在类中的,但是却叫“实例方法”,因为它表示该类所有实例所共有的行为
初始化(__init__)
在Python中有很多以双下划线开头且以双下划线结尾的固定方法,他们会在特定的时机被触发执行
__init__ 就是其中之一,它会在实例化之后自动被调用,以完成实例的初始化
__init__ 的参数传递过程
实例化时,产生一个类的实例 --> Python自动调用 实例.__init__(参数) --> 转换为 类.__init__(实例,参数)
析构(__del__)
"__del__”就是一个析构函数了,当使用del 删除对象时,会调用他本身的析构函数
当没有一个变量指向某个对象的时候,Python会自动销毁这个对象,以便回收内存空间
del 关键字,可以删除一个变量的指向
Python类定义、属性、初始化和析构的更多相关文章
- python 类定义 继承
0 前言 系统:win7 64bit IDE : python(x,y) 2.7.6.1 IDE集成的解释器:Python 2.7.6 (default, Nov 10 2013, 19:24:18) ...
- python类:属性
http://blog.csdn.net/pipisorry/article/details/50708616 Python 中的 property 属性 Python中有个很赞的概念,叫做prope ...
- python类定义
在我的收藏中有一篇特别详细的类讲解 此处部分内容引自:http://blog.sina.com.cn/s/blog_59b6af690101bfem.html class myclass: 'this ...
- Python类定义和类继承详解
类实例化后,可以使用其属性,实际上,创建一个实例之后,可以通过类名访问其属性,如果直接使用类名修改其属性,那么直接影响已经实例化的对象. 类的私有属性: __private_attrs 两个下划线开头 ...
- python类定义的讲解
python是怎么定义类的,看了下面的文章大家就会了,不用多说,开始学习. 一.类定义: 复制代码代码如下: class <类名>: <语句> 类实例化后,可以使用其属性,实际 ...
- python类定义与c#的一些区别
c#中可以定义一个空类,但是python中定义空类需要加pass class EmptyClass(object): pass python的lei是多继承 python子类继承了基类,如果子类也 ...
- Python 类的属性再解
#类的属性 class A(): #定义一个类的属性,类似于c++中的静态变量 num=0 def __init__(self): #实例对象属性定义赋值 self.name = "hha& ...
- Python 类的属性和实例属性 Python 的动态语言
#定义一下类, 含有类属性 aaa, >>> class Aa: ... aaa = 10... #对类 Aa实例化出一个实例 a1>>> a1 = Aa() &g ...
- Java在的时候,类定义HashSet初始化方法
Java非常多的时间,应使用HashSet搜索功能,类的则定义,是HashSet类型的,我们定义数据成员之后,不好直接调用add函数来实现初始化,这个时候怎么办? 我们能够这样来做: public s ...
随机推荐
- echarts关系图圆心颜色渐变
let option = { backgroundColor: '#1a4377', animationDurationUpdate: 1500, // 动画更新变化时间 animationEasin ...
- Makefile 文件格式;makefile伪目标
Makefile包含 目标文件.依赖文件.可运行命令三部分. 每部分的基本格式例如以下: test: prog.o code.o gcc -o test prog.o code.o 当中 ...
- 苏州市java岗位的薪资状况(2)
上一篇已经统计出了起薪最高的top 10: 接着玩,把top 10 中所有职位的详细信息爬取下来.某一职位的详情是这样: 我们需要把工作经验.学历.职能.关键字爬取下来. from urllib.re ...
- eclipse拉取git项目 Read timed out after 30,000 ms
点击 eclipse -> Window -> Preferences -> Team ->git 在git选项里有Remote connection timeout ,默 ...
- nginx--代理和负载均衡
nginx代理 nginx的代理分为正向代理和反向代理 正向代理指的是,一个位于客户端和原始服务器之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原 ...
- docker搭建zookeeper集群
1.在官网拉取镜像 docker pull zookeeper 2.根据镜像启动zookeeper容器 docker run -itd --name zookeeper1 -h zookeeper1 ...
- 《大数据技术应用与原理》第二版-第三章分布式文件系统HDFS
3.1分布式文件 HDFS默认一个块的大小是64MB,与普通文件不同的是如果一个文件小于数据块的大小,它并不占用整个数据块的存储空间. 主节点又叫名称节点:另一个叫从节点又叫数据节点.名称节点负责文件 ...
- LeetCode 599: 两个列表的最小索引总和 Minimum Index Sum of Two Lists
题目: 假设 Andy 和 Doris 想在晚餐时选择一家餐厅,并且他们都有一个表示最喜爱餐厅的列表,每个餐厅的名字用字符串表示. Suppose Andy and Doris want to cho ...
- 如何使用numpy实现一个全连接神经网络?(上)
全连接神经网络的概念我就不介绍了,对这个不是很了解的朋友,可以移步其他博主的关于神经网络的文章,这里只介绍我使用基本工具实现全连接神经网络的方法. 所用工具: numpy == 1.16.4 matp ...
- 【Linux命令】setterm命令修改虚拟机颜色显示(目录及背景颜色)
VMware设置目录及颜色显示 进入linux界面,默认背景为黑色,字体为白色 一.setterm命令 setterm向终端写一个字符串到标准输出,调用终端的特定功能.在虚拟终端上使用,将会改变虚拟终 ...