python之模块、类、对象
模块就像字典
字典是python中唯一映射关系,它用一个事物对应另外一个事物,也就是所谓的key->value。
模块包含一些变量和函数,可以导入,并且可以用点(·)来操作访问变量和函数。
记住‘从X获取Y的概念’。
他们相似,只是语法不同。
1.也就是说在python中有一条通用的模式:
(1)有一个key =value的容器
(2)通过key从容器中获取数据
不同点:
在字典中key是字符串,写法为[key];在模块中写法为.key,其余的地方一模一样。
类就像模块
可以认为模块就是python的特殊字典,然后可以用点(·)操作符来访问它。
类(class)是组织一系列的函数和数据并将它们放在一个容器里面,同样可以用点(·)操作符来访问它们。
使用类可以创造出很多个类似基类的类别,而模块一但导入了整个项目有且只有一个模块
对象就像导入
如果类像模块,那么应该也有一个类似import的概念。在类中这个概念被称为实例化,当一个类被实例化,就得到了一个类的对象了。
创建一个类;
class Mystuff(object):
def __init__(self ):
self.a = 'How are you?'
def apple(self):
print("I am classy apple ")
b = Mystuff()#类的实例化
b.apple()#调用类的方法
print b.a#打印类的属性
分析下类的实例化这一句话其实python内部给我们做了很多事情:
python查找Mystuff()类确认是被定义过
--->python创造一个新对象,其中包含Mystuff()中定义的所有函数
--->python查找Mystuff()类中是否定义__init__()函数,如果有就初始化这个空对象
--->Mystuff()类中的__init__()方法一个self参数,它就是我们创建的空对象,可以在上面设置变量
--->给self.a(空对象)的变量设置参数,初始化这个对象
--->截止目前python可以使用这个空对象了,然后把他赋值给变量b
注:类---------->对象
这个过程(也可以称为类的实例化)是通过类来创建对象,这个对象就是类的一个实例,也叫实例对象。
python类中属性的引用
python中属性的引用是由外而内的,当你创建一个类的实例时,准备开始引用属性,这个时候编译器会搜索实例是否拥有属性,如果有就引用,如果没有就会搜索这个实例所属类是否有属性,有就引用,没有就报错。

python之模块、类、对象的更多相关文章
- 全面了解python中的类,对象,方法,属性
全面了解python中的类,对象,方法,属性 python中一切皆为对象,所谓对象:我自己就是一个对象,我玩的电脑就是对象,坐着的椅子就是对象,家里养的小狗也是一个对象...... 我们通过描述属性( ...
- python中自定义类对象json字符串化的方法
1. 用 json 或者simplejson 就可以 2.定义转换函数: def convert_to_builtin_type(obj): print 'default(', repr(obj), ...
- 理解Python中的类对象、实例对象、属性、方法
class Animal(object): # 类对象 age = 0 # 公有类属性 __like = None # 私有类属性 def __init__(self): # 魔法方法 self.na ...
- python第二步,类对象部分
类创建: class 类名: '类说明' def __init__ (self,参数):#类似php类的构造函数,self不知道什么东东 方法体 实例创建: 变量名 = 类名() #构造函数后的参数, ...
- Python里的类和对象简介
---恢复内容开始--- Python里的类 对象=属性+方法: 对象的属性主要是指主要的特征和参量,而方法主要是指函数: 类是一个具有一定特征和方法的集合,而对象是类的一个:类和对象的关系就如同模 ...
- Python全栈--9.1--面向对象进阶-super 类对象成员--类属性- 私有属性 查找源码类对象步骤 类特殊成员 isinstance issubclass 异常处理
上一篇文章介绍了面向对象基本知识: 面向对象是一种编程方式,此编程方式的实现是基于对 类 和 对象 的使用 类 是一个模板,模板中包装了多个“函数”供使用(可以讲多函数中公用的变量封装到对象中) 对象 ...
- python—类对象和实例对象的区别
最近在对RF的通讯层的模块进行封装,需要将之前放在类似main里面的一个方法,如下所示:这段代码是开发提供,用于接口测试,模拟底层通讯,具体的通讯是在dll内,python这边只是做了个封装让RF进行 ...
- Thread类的其他方法,同步锁,死锁与递归锁,信号量,事件,条件,定时器,队列,Python标准模块--concurrent.futures
参考博客: https://www.cnblogs.com/xiao987334176/p/9046028.html 线程简述 什么是线程?线程是cpu调度的最小单位进程是资源分配的最小单位 进程和线 ...
- python 全栈开发,Day42(Thread类的其他方法,同步锁,死锁与递归锁,信号量,事件,条件,定时器,队列,Python标准模块--concurrent.futures)
昨日内容回顾 线程什么是线程?线程是cpu调度的最小单位进程是资源分配的最小单位 进程和线程是什么关系? 线程是在进程中的 一个执行单位 多进程 本质上开启的这个进程里就有一个线程 多线程 单纯的在当 ...
随机推荐
- pytorch Model Linear实现线性回归CUDA版本
实验代码 import torch import torch.nn as nn #y = wx + b class MyModel(nn.Module): def __init__(self): su ...
- 痞子衡嵌入式:大话双核i.MXRT1170之Cortex-M7与Cortex-M4互相激活之道
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家分享的是恩智浦i.MXRT1170上Cortex-M7与Cortex-M4内核互相激活的方法. 痞子衡最近在深耕i.MXRT1170这颗划时代的 ...
- centos7在命令行下安装图形界面
yum groupinstall "GNOME Desktop" "Graphical Administration Tools" ln -sf /lib/sy ...
- 2019-2020-1 20199326《Linux内核原理与分析》第七周作业
实验内容:分析Linux内核创建一个新进程的过程 初始化Menu Os,输入fork可以看到menuos触发了一个fork系统调用 再开一个shell,进入调试模式,设置几个断点sys_clone,d ...
- 怎么在java 8的map中使用stream
怎么在java 8的map中使用stream 简介 Map是java中非常常用的一个集合类型,我们通常也需要去遍历Map去获取某些值,java 8引入了Stream的概念,那么我们怎么在Map中使用S ...
- tensor的复制函数torch.repeat_interleave()
1. repeat_interleave(self: Tensor, repeats: _int, dim: Optional[_int]=None) 参数说明: self: 传入的数据为tensor ...
- 删除集群mds
2019独角兽企业重金招聘Python工程师标准>>> 删除cephfs文件系统步骤: 1.停掉服务端mds: #systemctl stop {mds_service} 2.将md ...
- 我对sessionid的理解
不知道是不是扯蛋,还是太菜... 看上面的的话毫不关系是吧...自己看过一点 关于 说session id 的 一些文章, 貌似都是一样的....以下内容个人理解, 请大家指正... 我想自己举个例子 ...
- 解析.xml并保存结点信息至.txt中
@ 思路 利用java开源库dom4j解析.xml: dom4j操作xml - 读取xml,生成一个document实例: SAXReader reader = new SAXReader(); Do ...
- 超轻量级网络SqueezeNet网络解读
SqueezeNet网络模型非常小,但分类精度接近AlexNet. 这里复习一下卷积层参数的计算 输入通道ci,核尺寸k,输出通道co,参数个数为: 以AlexNet第一个卷积为例,参数量达到:3*1 ...