一、学习目录

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()获得

值:对象表示的数据项

 >>> s='abc'
 >>> id(s)   #身份
 13434272
 >>> type(s)  #类型
 <type 'str'>
 >>> s  #值
 '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),个人觉得就是自带的、标准的函数,如:

    Built-in Functions    
abs() divmod() input() open() staticmethod()
all() enumerate() int() ord() str()
any() eval() isinstance() pow() sum()
basestring() execfile() issubclass() print() super()
bin() file() iter() property() tuple()
bool() filter() len() range() type()
bytearray() float() list() raw_input() unichr()
callable() format() locals() reduce() unicode()
chr() frozenset() long() reload() vars()
classmethod() getattr() map() repr() xrange()
cmp() globals() max() reversed() zip()
compile() hasattr() memoryview() round() __import__()
complex() hash() min() set() apply()
delattr() help() next() setattr() buffer()
dict() hex() object() slice() coerce()
dir() id() oct() sorted() intern()

官网参考: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入门笔记(5):对象的更多相关文章

  1. Python学习笔记_Python对象

    Python学习笔记_Python对象 Python对象 标准类型 其它内建类型 类型对象和type类型对象 Python的Null对象None 标准类型操作符 对象值的比較 对象身份比較 布尔类型 ...

  2. [Python]Python入门笔记:语法基础

    Python笔记 一.基本语法 1.1 注释 文档注释: """contents""" 多行注释: ''' contents ''' 单行注 ...

  3. python入门笔记

    创建变量 python的变量不需要声明数据类型. >>> fred=100 >>> print (fred) 100 >>> fred 100 创 ...

  4. Python入门笔记(26):Python执行环境

    一.python特定的执行环境 在当前脚本继续进行 创建和管理子进程 执行外部命令或程序 执行需要输入的命令 通过网络来调用命令 执行命令来创建需要处理的输出 动态生成Python语句 导入Pytho ...

  5. Python入门笔记(25):Python面向对象(2)

    一.类 类就是一个数据结构,封装了数据和操作. 类的声明与函数的声明十分类似: class newClass(object): """class documentatio ...

  6. Python入门笔记(24):Python面向对象(1)速成

    一.Python经典类与新类 经典类:如果没有直接或间接的子类化一个对象,也就是说如果没有指定一个父类,或者是如果子类化的基本类没有父类,那么就定义了经典类: class classics: 'def ...

  7. Python入门笔记(23):模块

    一.模块基础 1.模块 自我包含,且有组织的代码片段就是模块 模块是Pyhon最高级别的程序组织单元,它将程序代码和数据封装起来以便重用.实际的角度,模块往往对应Python程序文件. 每个文件都是一 ...

  8. Python入门笔记(22):Python函数(5):变量作用域与闭包

    一.全局变量与局部变量 一个模块中,最高级别的变量有全局作用域. 全局变量一个特征就是:除非被删除,否则他们存活到脚本运行结束,且对于所有的函数都可访问. 当搜索一个标识符(也称变量.名字等),Pyt ...

  9. Python入门笔记(20):Python函数(3):关于lambda

    一.lambda函数 1.lambda函数基础: lambda函数也叫匿名函数,即,函数没有具体的名称,而用def创建的方法是有名称的.如下: """命名的foo函数&q ...

随机推荐

  1. Ecshop 最小起订量如何设置

    第一步,商品表必须有个字段  代表某个商品 最小订购数量->min_number 打开goods表   在最后字段添加一个min_number  tinyint类型 默认值为0  代表没有最小起 ...

  2. iOS开发备忘录:实现多StoryBoard之间跳转

    iOS项目中可以将同一业务流程的页面归置到一个StoryBoard中,项目中必然会包含多个StroryBoard,可以利用跳转,实现项目的不同业务流程页面间的跳转切换. 实现思路: 1,项目(Proj ...

  3. idea启动tomcat失败,1099端口被占用

    今天遇到一个问题,当使用idea启动一个tomat服务的时候,报错:不能连接本地1099端口. /Users/liqiu/soft/develop/apache-tomcat-/bin/catalin ...

  4. SSAS:菜鸟摸门

    官方:SSAS 多维模型 Analysis Services 多维解决方案使用多维数据集结构来分析多个维度之间的业务数据. 多维模式是 Analysis Services 的默认服务器模式. 它包括针 ...

  5. 重构第1天:封装集合(Encapsulate Collection)

    理解:封装集合就是把集合进行封装,只提供调用者所需要的功能行借口,保证集合的安全性. 详解:在大多的时候,我们没有必要把所有的操作暴露给调用者,只需要把调用者需要的相关操作暴露给他,这种情况中下我们就 ...

  6. BaaS服务的定义、发展以及未来

    BaaS(Backend as a Service)是一种新型的云服务,旨在为移动和Web应用提供后端云服务,包括云端数据/文件存储.账户管理.消息推送.社交媒体整合等.BaaS是垂直领域的云服务,随 ...

  7. viewWithTag获取subview规则详解

    通常我们在view层级里面对subView的操作可以通过两种方式:1.保留一个subview的引用,然后在类中通过该引用对该subview进行操作,但是要注意在适当的位置添加内存维护的代码,退出前手动 ...

  8. golang 图片处理,剪切,base64数据转换,文件存储

    本文主要介绍: 1. 图片文件的读写. 2. 图片在go缓存中如何与base64互相转换 3. 图片裁剪 本文中,为了方便查看,去掉所有错误判断 base64 -> file ddd, _ := ...

  9. Access“输入的表达式中含有一个无效日期值”

    环境:access2003 + win7 有图有真相: 明显地看到,日期那里显示了“星期X”,问题的根源就在这里... 更改计算机的日期显示设置为不显示星期~ 方法:点击右下角的时钟-点击“更改日期和 ...

  10. jquery---基本标签

    你觉得 jquery 有哪些好处? jQuery 是轻量级的 javascript 框架 强大的选择器 出色的 DOM 操作的封装 可靠的事件处理机制 完善的 ajax 封装 出色的浏览器的兼容性 支 ...