《转》python对象
http://www.cnblogs.com/BeginMan/p/3160044.html
一、学习目录
1、pyhton对象
2、python类型
3、类型操作符与内建函数
4、类型工厂函数
5、不支持类型
二、思考
1、Python解释执行原理?
2、Python对象机制?
3、Python哪些常用类型和内建函数?
4、什么是工厂函数?与内建函数的区别?
三、学习重点总结
资源参考:
1.《Python核心编程 2》
2.互联网
--------------------------------------------------------------------------------------------------------------------------------------------
我承认我的C语言基础比较薄弱,承认自己计算机原理并没有好好学,这才导致了在编程上的一知半解,其实了解底层的东西更加有利于编程的理解。
四、Python中一切皆对象
1、思考1:Python解释执行原理?
参考:http://l62s.iteye.com/blog/1481421
Python使用对象模型来存储数据,构造任何类型的值都是一个对象。所以说在Python的世界中,一切皆对象,一个整数是一个对象,一个字符串也是一个对象,而且类型也是一个对象,整数类型是一个对象,字符串类型也是一个对象。
2、思考2:什么是对象模型?
对象模型技术简介:
对象模型技术(object modeling technique,OMT)是美国通用电气对象模型技术提出的一套系统开发技术。它以面向对象的思想为基础,通过对问题进行抽象,构造出一组相关的模型,这些模型描述了现实世界中“类与对象”以及它们之间的关系,表示了目标系统的静态数据结构,从而能够全面地捕捉问题空间的信息。
对象模型技术特点:
对象模型技术把分析时收到的信息构造在三类模型中,即对象模型、功能模型和动态模型。三个模型从不同的角度对系统进行描述,分别着重于系统的一个方面,组合起来构成对系统的完整描述。形象地说,功能模型定义“做什么”,状态模型定义“何时做”,对象模型定义“对谁做”。
面向对象三种模型:
对象模型:描述系统数据结构
动态模型:描述系统控制结构
功能模型:描述系统功能
3、Python对象
身份:唯一性身份标志,是该对象的内存地址,可用内建函数id()获得
类型:对象的类型决定了该对象可以保存什么类型的值,可进行什么样的操作,以及遵循什么样的规则。可以type()获得
值:对象表示的数据项
1 >>> s='abc'
2 >>> id(s) #身份
3 13434272
4 >>> type(s) #类型
5 <type 'str'>
6 >>> s #值
7 'abc'
在对象被创建时就已被赋值,除了值之外,其他两个都是只读的。
对象的可改变性(mutability):指对象的值是否可以更改。
面向对象:
类:具有同种属性的对象称为类,是个抽象的概念。比如说:汽车、人、狗、神;
对象:日常生活中的所有东西都是对象,是类的实例化。比如说:推土车是汽车的实例化;姚明是人的实例化;小白(狗的名字)是狗的实例化;二郎神是神的实例化;
属性:用来描述具体某个对象的特征的是属性,是静态的。比如:姚明身高2.6米多;小白的毛发是棕色的;二郎神额头上有只眼睛;
方法:每个对象有它们自己的行为或者是使用它们的方法,比如说一只狗会跑会叫等,我们把这些行为称之为方法,是动态的,可以使用这些方法来操作一个对象;
类的成员:属性和方法称为这个对象的成员,因为它们是构成一个对象的主要部分,没有了这两样东西,那么对象也没什么存在意义了。
参考:http://liuyuru.iteye.com/blog/806705
五、Python类型
1、标准类型(基本数据类型)
数字(含子类型)
Integer:整型
Boolean:布尔型
Long integer:长整型
Floating point real number:浮点型
String:字符串
List:列表
Tuple:元组
Dictionary:字典
2、其他类型
类型
Null对象(None)
文件
集合/固定集合
函数/方法
模块
类
>>> type(type('abc'))
<type 'type'>
这行代码告诉我们:“所有类型对象的类型都是type,它是python类型的根,所有Python标准类的默认元类”
要弄明白:对象类型(对象的类型)和类型对象(类型本身是对象)。
3、简单了解下内部类型
六、内建函数与工厂行数
1、所谓内建函数(Built-in Functions),个人觉得就是自带的、标准的函数,如:
官网参考:http://docs.python.org/2/library/functions.html
2、工厂函数(factory function)
Python2.2统一了类型和类,所有的内建函数现在都也是类,在这基础上,原来的所谓的内建转换函数像int()、type()、list()等,现在都成了工厂函数。虽然看上去像函数,但实质上它们是类,当你在调用它们时,实际上生成了该类的一个实例,就像工厂生产货物一样。
int()、long()、float()、complex()、str()、unicode()、basestring()、list()、tuple()、type()
dict()、bool()、set()、frozenset()、object()、classmethod()、staticmethod()、super()、property()、file()
七、不支持类型
1、char与type
2、指针
3、int vs short vs long
4、float vs double
《转》python对象的更多相关文章
- python征程3.0(python对象)
1.python使用对象模型来存储数据.构造任何类型的值都是一个对象.”尽管python被当成一种面向对象的脚本的编程语言“,但你完全能够写出不使用任何类和实例的脚本. python对象都拥有三个特性 ...
- python 对象
python 对象 在python中,对象就是为C中的结构体在堆上申请的一块内存,一般来说,对象是不能被静态初始化的,并且不能再栈空间上生存.本文主要对Python的基本数据类型做简单的介绍. PyO ...
- Python 对象的引用计数和拷贝
Python 对象的引用计数和拷贝 Python是一种面向对象的语言,包括变量.函数.类.模块等等一切皆对象. 在python中,每个对象有以下三个属性: 1.id,每个对象都有一个唯一的身份标识自己 ...
- Python对象(译)
这是一篇我翻译的文章,确实觉得原文写的非常好,简洁清晰 原文链接:http://effbot.org/zone/python-objects.htm ------------------------- ...
- 《Python核心编程》 第四章 Python对象- 课后习题
练习 4-1. Python对象.与所有Python对象有关的三个属性是什么?请简单的描述一下. 答:身份.类型和值: 身份:每一个对象都有一个唯一的身份标识自己,可以用id()得到. 类型:对象的 ...
- Python对象体系揭秘
Guido用C语言创造了Python,在Python的世界中一切皆为对象. 一.C视角中的Python对象 让我们一起追溯到源头,Python由C语言实现,且向外提供了C的API http://doc ...
- 【2】python核心编程 第四章-python对象
1.python对象 所有的Python 对像都拥有三个特性:身份,类型和值. 身份: 每一个对象都有一个唯一的身份标识自己,任何对象的身份可以使用内建函数id()来得到. 这个值可以被认为是该对象的 ...
- python学习笔记:python对象
一.python对象 python使用对象模型来存储数据,构造任何类型的值都是一个对象.所有的python对象都拥有三个特性:身份.类型和值. 身份:每个对象都有一个唯一的身份标识自己,对象的身份可以 ...
- Python对象类型及其运算
Python对象类型及其运算 基本要点: 程序中储存的所有数据都是对象(可变对象:值可以修改 不可变对象:值不可修改) 每个对象都有一个身份.一个类型.一个值 例: >>> a1 = ...
- 判断python对象是否可调用的三种方式及其区别
查找资料,基本上判断python对象是否为可调用的函数,有三种方法 使用内置的callable函数 callable(func) 用于检查对象是否可调用,返回True也可能调用失败,但是返回False ...
随机推荐
- 1242 斐波那契数列的第N项
1242 斐波那契数列的第N项 基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题 斐波那契数列的定义如下: F(0) = 0 F(1) = 1 F(n) = F( ...
- eclipse中server name选项变灰
删除workspace中.metadata\.plugins\org.eclipse.core.runtime\.settings目录下 org.eclipse.wst.server.core.pre ...
- 4.1 react 代码规范
关于 基础规范 组件结构 命名规范 jsx 书写规范 eslint-plugin-react 关于 在代码的设计上,每个团队可能都有一定的代码规范和模式,好的代码规范能够提高代码的可读性便于协作沟通, ...
- Hyperledger:常见加密算法分类列表
算法原理查询:http://mathworld.wolfram.com 加密散列函数 (消息摘要算法,消息认证码,MD算法) Keyed-hash message authentication c ...
- pymongo中使用聚合查询
在使用mongo数据库时,简单的查询基本上可以满足大多数的业务场景,但是试想一下,如果要统计某一荐在指定的数据中出现了多少次该怎么查询呢?笨的方法是使用find 将数据查询出来,再使用count() ...
- apache httpd 2.4 配置
[authz_core:error] [pid 19562] [client 10.0.0.22:45424] AH01630: client denied by server configurati ...
- c# 使用NOPI 操作Excel
最近项目需要导出Excel,找来找去,微软有自己的Excel组件 using Microsoft.Office.Core;using Microsoft.Office.Interop.Excel;,但 ...
- 判断字符串是否为JSON
function isJSON(str) { if (typeof str == 'string') { try { var obj=JSON.parse(str); if(typeof obj == ...
- vue中this.$refs可以拿到,但是里面的属性undefind的问题
1.和vue的生命周期有关,必须要在从mounted开始拿,才能拿得到里面的Dom元素 2.想在element ui 对话框打开后取dom时,应该使用$nextTick,而不是直接使用this.$re ...
- 数据转换--替换值(replace函数)
替换值 replace函数 data=Series([1,-999,2,-999,-1000,3]) data Out[34]: 0 1 1 -999 2 2 3 -999 4 -1000 5 3 d ...