博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python征程3.0(python对象)
阅读量:4973 次
发布时间:2019-06-12

本文共 1670 字,大约阅读时间需要 5 分钟。

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([3,4]==[4,3])False>>>print([3,4]==[3,4])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)8402824>>>id(b)8402824>>>>>>c=1.0>>>id(c)8651220>>>d=1.0>>>id(d)8651204

 

 7.布尔类型。

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

 

>>>x,y=3.1415926,-1024>>>x<5.0True>>>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(4)
>>>>>>type("hello world")
>>>>>>type(type(4))

 

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

>>>a,b=-4,12>>>cmp(a,b)-1>>>cmp(b,a)1>>>b=-4>>>cmp(a,b)0

转载于:https://www.cnblogs.com/yjds/p/5888511.html

你可能感兴趣的文章
eclipse package,source folder,folder区别及相互转换
查看>>
Py 可能是最全面的 python 字符串拼接总结(带注释版)
查看>>
《Java程序设计实验》 软件工程18-1,3 OO实验2
查看>>
【Herding HDU - 4709 】【数学(利用叉乘计算三角形面积)】
查看>>
OPENSSL使用方法
查看>>
接口操作XML
查看>>
idhttp访问DATASNAP有密码验证的中间件
查看>>
libmidas.so.2
查看>>
开发WINDOWS服务程序
查看>>
httpencode编码
查看>>
cross socket和msgpack的数据序列和还原
查看>>
解决跨操作系统平台JSON中文乱码问题
查看>>
DELPHI搭建centos开发环境
查看>>
IdHTTPServer允许跨域访问
查看>>
更新.net core 3.0,dotnet ef命令无法使用的解决办法
查看>>
React躬行记(13)——React Router
查看>>
前端利器躬行记(1)——npm
查看>>
前端利器躬行记(2)——Babel
查看>>
前端利器躬行记(6)——Fiddler
查看>>
Forbidden You don't have permission to access / on this server.
查看>>