1.python使用对象模型来存储数据。构造任何类型的值都是一个对象。”尽管python被当成一种面向对象的脚本的编程语言“,但你完全能够写出不使用任何类和实例的脚本。

python对象都拥有三个特性:(1)身份、(2)类型、(3)值、

(1)身份:每个对象都有一个唯一的身份来标识自己。可以使用内建函数 id()得到。

(2)类型:对象的类型,决定了该对象可以保存的类型值。

(3)值:对象表示的数据项。

2.标准类型。

数字(分为几个子类型,中有三个是整形)

Integer (整形)

Boolean(布尔型)

long Integer (长整型)

complex number(复数型)

string (字符串)

list (列表)

dictionary (字典)

tuple (元组)

3.其他内建类型。

类型对象和type()类型对象。

注:None没有什么可用的属性,他的布尔值总是false。

4.内部类型。

代码

跟踪记录

切片

省略

5.代码对象。

(1)帧对象。

帧对象包含python解释器在运行时所需要的所有信息。

(2)跟踪记录对象。

当代码出错,python会直接直接引发异常,并退出。

6.标准类型操作符。

(1)对象值比较。

>>>print([,]==[,])
False
>>>print([,]==[,])
True

我们会从注意到比较操作是针对对象的值进行的,也就是比较的是对象的值,而不是对象本身。

(2)对象身份比较。

作为对值比较的补充,Python也支持对像本身的比较。对象可以被赋值到另一个变量(通过引用)。

因为每个变量都指向同一个(共享的)数据对象,只要任何一个引用发生改变,该对象的其他引用也会随即发生改变。

例1:foo1和foo2指向相同的对象。

foo1=foo2=4.3

从值的角度看,这条语句只是一个多重赋值,将4.3这个值赋给了foo1和foo2这两个变量。

不过他还有另一层含义。事实是一个值为4.3的数字对象被创建,然后这个对象的引用被赋值给foo1和foo2,结果就是foo1和foo2指向同一个对象。

例2:foo1和foo2指向相同的对象

foo1=4.3

foo2=foo1

例3:foo1和foo2指向不同的对象。

foo1=4.3

foo2=1.3+3.0

注意:整型对象和字符串对象是不可变对象,所以python会高效的缓存他们。

>>>a=1,b=1
>>>id(a) >>>id(b) >>>
>>>c=1.0
>>>id(c) >>>d=1.0
>>>id(d)

7.布尔类型。

布尔逻辑操作符and,or,和not都是python关键字。

>>>x,y=3.1415926,-
>>>x<5.0
True
>>>not(x<5.0)
False
>>>(x<5.0) or (x>2.71828)
True
>>>(x<5.0) and (y>2.71828)
False
>>>not (x is y)
True

8.标准类型内建函数。

(1)type():接受一个对象作为它的参数,并返回它的类型。(返回值是一个类型对象)

>>>type()
<type,'int'>
>>>
>>>type("hello world")
<type,'string'>
>>>
>>>type(type())
<type,'type'>

(2)cmp():用以比较两个对象,obj1和obj2。如果obj1<obj2则返回一个负整型。若obj1>obj2则返回一个正整形。若obj1=obj2则返回0。他的行为非常类似于c语言中的strcmp()函数,比较在对象之间进行,不管对象是不是用户自定义的对象。

>>>a,b=-,
>>>cmp(a,b)
-
>>>cmp(b,a) >>>b=-
>>>cmp(a,b)

python征程3.0(python对象)的更多相关文章

  1. python征程2.0(python基础)

    1.python中有一些基本规则的特殊字符. (1)#表示这后的字符为python注释. (2)\n标准的行分隔符. (3)\继续上一行.(也就是过长的语句可以使用反斜杠(\)分解成几行) ) and ...

  2. python 基础 5.0 python类一般形式

    一. 类的一般形式 创建类我们一般使用class 关键字来创建一个类,class 后面跟类型名字,可以自定义,最后以冒号结尾,如下所示:   #/usr/bin/python #coding=utf- ...

  3. New in Python 3.8.0

    Python 3.8.0 发布时间: Oct. 14, 2019 这是一个Python3.8.0的稳定发行版. Python3.8.0是最新的Python编程语言发行版,ta包含了许多新的特征和优化. ...

  4. Python迭代器,可迭代对象,生成器

    迭代器 迭代器(iterator)有时又称游标(cursor)是程式设计的软件设计模式,可在容器物件(container,例如链表或阵列)上遍访的界面,设计人员无需关心容器物件的内存分配的实现细节. ...

  5. python征程1.1(初识python)

    在学习python前必须要掌握的一些基本知识   1.编程语言 2.python   .  C#   JAVA 3.python:  pypy    cpython     jpython 4.执行方 ...

  6. python 2.4 与 python 3.0 的比较

    转过来,留着日后查看 [转自:]http://hi.baidu.com/autoitcn/blog/item/5f41973294b5fc4fac4b5f77.html python 2.4 与 py ...

  7. python学习笔记4(对象/引用;多范式; 上下文管理器)

    ### Python的强大很大一部分原因在于,它提供有很多已经写好的,可以现成用的对象 21. 动态类型:对象/引用 对象和引用: 对象是储存在内存中的实体,对象名只是指向这一对象的引用(refere ...

  8. Python 读写文件和file对象(转)

    1.open使用open打开文件后一定要记得调用文件对象的close()方法.比如可以用try/finally语句来确保最后能关闭文件. file_object = open('thefile.txt ...

  9. Python基础教程之List对象 转

    Python基础教程之List对象 时间:2014-01-19    来源:服务器之家    投稿:root   1.PyListObject对象typedef struct {    PyObjec ...

随机推荐

  1. java spring 邮件发送

    开发中经常会遇到发送邮件进行用户验证,或者其它推送信息的情况,本文基于spring,完成邮件的发送,主要支持普通文本邮件的发送,html文本邮件的发送,带附件的邮件发送,没有实现群发.多个附件发送等需 ...

  2. C# 用原生JS进行文件的上传

    1.此文章是用原生JS来进行文件的上传,有两个版本,一个不用ajax,一个用ajax. 1)非AJAX <!DOCTYPE html> <html> <head> ...

  3. Elasticsearch查询——布尔查询Bool Query

    Elasticsearch在2.x版本的时候把filter查询给摘掉了,因此在query dsl里面已经找不到filter query了.其实es并没有完全抛弃filter query,而是它的设计与 ...

  4. 有关bootstrap

    最近在接触对移动浏览器很友好的bootstrap,遂整理了一点笔记: 简单的html页面: <!DOCTYPE html><html> <head> <tit ...

  5. 生成lua的静态库.动态库.lua.exe和luac.exe

    前些日子准备学习下关于lua coroutine更为强大的功能,然而发现根据lua 5.1.4版本来运行一段代码的话也会导致 "lua: attempt to yield across me ...

  6. python & mongo问题记录

    背景介绍 使用python操作mongo进行的一些操作记录,为了方便日后可以快速的解决类似问题. 准备工作 为了尽可能简单的说明,我将插入几条简单的数据. from pymongo import Mo ...

  7. ES6新特性之 promise

    新的ES6中引入了promise的概念,目的是让回调更为优雅.层层嵌套的回调会让javascript失去美感和可读性,同时javascript也推荐采用链式的方式去书写函数调用.于是Promise就应 ...

  8. scikit-learn决策树算法类库使用小结

    之前对决策树的算法原理做了总结,包括决策树算法原理(上)和决策树算法原理(下).今天就从实践的角度来介绍决策树算法,主要是讲解使用scikit-learn来跑决策树算法,结果的可视化以及一些参数调参的 ...

  9. 窥探Swift编程之在Playground上尽情的玩耍

    自从苹果公司发布Swift的时候,Xcode上又多了一样新的东西---"Playground".Playground就像操场一样,可以供我们在代码的世界里尽情的玩耍,在本篇博客中就 ...

  10. MySQL Range Optimization

    8.2.1.3 Range Optimization MYSQL的Range Optimization的目的还是尽可能的使用索引 The range access method uses a sing ...