《转》python学习(4)对象
转自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学习(4)对象的更多相关文章
- Python学习_01_对象
之前关于python的知识比较零散,这一个系列的随笔将python重新学习整理一遍.学习书籍<Python核心编程>第二版. Python对象基础 python并不是一个单纯面向对象的语言 ...
- python学习之对象的三大特性
在面向对象程序设计中,对象可以看做是数据(特性)以及由一系列可以存取.操作这些数据的方法所组成的集合.编写代码时,我们可以将所有功能都写在一个文件里,这样也是可行的,但是这样不利于代码的维护,你总不希 ...
- python学习——面对对象进阶
一.isinstance和issubclass isinstance(obj,cls)检查是否obj是否是类 cls 的对象 class Foo: pass a = Foo() print(isins ...
- Python学习笔记——对象
Python 的对象定义方式如下: class Person: def __init__(self, name): self.name = name ...
- python学习-class对象
# 面向对象 python,java,c## 面向过程 C # 类和对象# 类 类型类别.类别 物以类聚 一类事物# 班级.人类.动物类.车.学生类.老师类.手机.电脑# 统称 == 共同特性# 不具 ...
- 4月11日 python学习总结 对象与类
1.类的定义 #类的定义 class 类名: 属性='xxx' def __init__(self): self.name='enon' self.age=18 def other_func: pas ...
- Python学习笔记_Python对象
Python学习笔记_Python对象 Python对象 标准类型 其它内建类型 类型对象和type类型对象 Python的Null对象None 标准类型操作符 对象值的比較 对象身份比較 布尔类型 ...
- Python学习笔记之类与对象
这篇文章介绍有关 Python 类中一些常被大家忽略的知识点,帮助大家更全面的掌握 Python 中类的使用技巧 1.与类和对象相关的内置方法 issubclass(class, classinfo) ...
- 【Python学习之七】类和对象
环境 虚拟机:VMware 10 Linux版本:CentOS-6.5-x86_64 客户端:Xshell4 FTP:Xftp4 python3.6 一.面向对象编程1.概念(1)面向对象编程(OOP ...
- Python学习day34-面向对象和网络编程总结
figure:last-child { margin-bottom: 0.5rem; } #write ol, #write ul { position: relative; } img { max- ...
随机推荐
- contiki rpl
Linking target: udp-client-temperature.stk3700arm-none-eabi-gcc -Xlinker -Map=udp-client-temperature ...
- Apache HttpComponents 获取inputStream
package org.apache.http.examples.client; import java.io.IOException; import java.io.InputStream; imp ...
- WPF教程一:基础
一.WPF简介WPF:WPF即Windows Presentation Foundation,翻译为中文“Windows呈现基础”,是微软推出的基于Windows Vista的用户界面框架,属于.NE ...
- java-基于Servlet3.0的文件上传
Servlet3.0学习总结(三)——基于Servlet3.0的文件上传 在Servlet3.0中使用request.getParts()获取上传文件
- mac配置完ssh依然提示"Enter passphrase for key"解决方法
使用Git,每次都提示输入命令. 这个问题折磨很久,明明已经配置过ssh了,可是每次还要提示输入密码,从网上查查,最后一条命令解决问题: 问题提示: Enter passphrase for key ...
- .net 高级写法总结
1.处理HTTP非正常的请求参数: [1] 获取相应的流转为string [2] request 的只读属性设置为可编辑,类似form [3] 转换为json对象 [4] 重设只读属性 //判断请求类 ...
- jQuery.Form插件介绍
一.前言 jQuery From插件是一个优秀的Ajax表单插件,使用它可以让你非常容易地.无侵入地升级HTML表单以支持Ajax.jQuery From有两个主要方法:ajaxForm和ajaxS ...
- oracle权限详解
一.权限分类:系统权限:系统规定用户使用数据库的权限.(系统权限是对用户而言). 实体权限:某种权限用户对其它用户的表或视图的存取权限.(是针对表或视图而言的). 二.系统权限管理:1.系统权限分类: ...
- 第三百二十节,Django框架,生成二维码
第三百二十节,Django框架,生成二维码 用Python来生成二维码,需要qrcode模块,qrcode模块依赖Image 模块,所以首先安装这两个模块 生成二维码保存图片在本地 import qr ...
- php 输出带变量字符串(echo 函数的应用)
转自: http://www.cnblogs.com/devcjq/articles/2306150.html 学习PHP从最简单的开始:echo, print<?php$temp = arr ...