01.python对象
标准类型
- 数字
- Integer 整型
- Boolean 布尔型
- Long integer 长整型 (python2)
- Floating point real number 浮点型
- Complex number 复数型
- String 字符串
- List 列表
- Tuple 元组
- Dictionary 字典
其他内建类型
- 类型
- Null对象(None)
- 集合/固定集合
- 函数/方法
- 模块
- 类
数字类型:
整数:python2中输入的数比较大时,会自动在其后面加字母L或它的小写l
浮点型:浮点数可以使用科学计数发表示如2e2,2e-3等
复数:由实部和虚部组成,使用j或J表示虚部,如3.12+12.5j
字符串类型:
使用单引号或多引号括起来的必须在一行,使用三引号的可在多行,三引号的能按找代码输入时的格式输出
字符串引号前加r,该字符串将原样输出,其中的转义字符不进行转义
print("12\t12") # 12 12
print(r"12\t12") # 12\t12
数据类型转换:
int(x) :将x转换为整型
float(x):转浮点型
complex(real[,imag]):创建一个复数
str(x):转为字符串
repr(x):转为表达式字符串
eval(str):计算在字符串中的有效python表达式,并返回一个对象
chr(x):将整数x转换为一个字符
ord(x):将一个字符x转换为它对应的整数值
hex(x):将一个整数x转换为一个十六进制的字符串
oct(x):将一个整数x转换为一个八进制的字符串
类型对象和type类型对象
调用内建函数type(),能够得到特定对象的类型信息
# 11是个int型对象
>>> type(11)
<type 'int'>
# 类型对象的类型是type,所有类型对象的类型都是type,它是所有python类型的根和所有python标准类的默认元类
>>> type(type(11))
<type 'type'>
布尔值
下列对象的布尔值是False
- None
- False(布尔类型)
- 所有的值为零的数
- 0(整型)
- 0.0(浮点型)
- 0L(长整型)
- 0.0+0.0j(复数)
- ""(空字符串)
- [](空列表)
- ()(空元组)
- {}(空字典)
- 自定义对象的__bool__方法返回False或__len__方法返回0
用户创建的类实例如果定义了nonzero(__nonzero__())或length(__len__())且值为0,那么它们的布尔值就是False
class NonTest:
# __nonzero__必须是静态的
@staticmethod
def __nonzero__(self):
pass if __name__ == '__main__':
if NonTest():
print(True) # True
class NonTest:
def __len__(self):
return 0 class NonTest2:
def __len__(self):
return 1 if __name__ == '__main__':
if NonTest():
print('NonTest')
if NonTest2():
print('NonTest2') # 打印 NonTest2
对象身份比较
# python3.7测试
if __name__ == '__main__':
# foo1 和 foo2 指向相同的对象
foo1 = foo2 = 4.2
print(foo1 is foo2) # True
# foo3 和 foo4 指向相同的对象
foo3 = 5.3
foo4 = foo3
print(foo3 is foo4) # True
# foo5 和 foo6 指向相同的对象
foo5 = 6.99
foo6 = 6.99
print(foo5 is foo6) # False
print(id(foo5) == id(foo6)) # foo5 is foo6等价与id(foo5) == id(foo6) # True
#python2.7.10测试
>>> a = 1.99
>>> id(a)
140195765685264
>>> b = 1.99
>>> id(b)
140195765685240
>>> c = 1.99
>>> id(c)
140195765685216
>>>
标准类型内建函数
- cmp(obj1,obj2):
# python2中的比较
>>> cmp(a,b)
0
>>> cmp(1,1)
0
>>> cmp(1,2)
-1
>>> cmp(2,1)
1
附:python3中cmp不能用了,可用operator代替
import operator if __name__ == '__main__':
obj1 = 12.99
obj2 = 11.99+1.00
print(operator.eq(obj1, obj2)) # True

- repr(obj)或``
# python3不支持
`obj`
# 返回一个对象的字符串表示
repr(obj)
- str(obj)
- type(obj)
instance()
# isinstance(_o,_t)判断对象类型
print(isinstance(6, (int, float))) # True
print(isinstance(6.1, (int, float))) # True
print(isinstance("6.1", (int, float))) # False
print(isinstance("6.1", str)) # True
算术运算符:
//取整除,即返回商的整数部分
**幂,即返回x的y次方
左移位运算符<<
将一个二进制操作数向左移动指定位数,左端溢出丢失,右边空位补0,相当于乘以2的n次幂

右移位运算符<<
将一个二进制操作数向右移动指定位数,右端溢出丢失,左边空位补0,相当于除以2的n次幂
01.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 = ...
随机推荐
- TCP报文段首部格式详解
TCP首部格式 格式字段详解 源端口.目标端口: 计算机上的进程要和其他进程通信是要通过计算机端口的,而一个计算机端口某个时刻只能被一个进程占用,所以通过指定源端口和目标端口,就可以知道是哪两 ...
- ORACLE内存管理之ASMM AMM
ORACLE ASMM ORACLE AMM ASMM转换至AMM AMM转换至ASMM
- 【洛谷P1069 细胞分裂】
题目链接 首先,光看题就觉得它很扯淡(你哪里来这么多的钱来买试管) 根据某位已经ak过ioi的名为ych的神仙说(一看就是数学题,一看就需要因式分解,emm,我果然没有发现美的眼睛qwq) 那么我们就 ...
- 【洛谷P1310 表达式的值】
题目链接 题目描述 对于1 位二进制变量定义两种运算: 运算的优先级是: 先计算括号内的,再计算括号外的. “× ”运算优先于“⊕”运算,即计算表达式时,先计算× 运算,再计算⊕运算.例如:计算表达式 ...
- 软件-工具:Beyond Compare
ylbtech-软件-工具:Beyond Compare 1.返回顶部 1. Beyond Compare是一套由Scooter Software推出的文件比较工具.主要用途是对比两个文件夹或者文件, ...
- leetcode 62. 不同路径(C++)
一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” ). 机器人每次只能向下或者向右移动一步.机器人试图达到网格的右下角(在下图中标记为“Finish”). 问总共有多 ...
- *args 和**kwargs 的理解以及 函数的参数的总结
一:函数参数的理解: def 函数名(函数参数): 函数体 例如: def func(a): # a 是形参 print(a) func(123) # 123 是实参 形参又分为: 关键字参数,位置参 ...
- 深入理解任何Binder Client都可以直接通过ServiceManager的0这个Binder句柄创建一个BpBinde
ServiceManager是安卓中一个重要的类,用于管理所有的系统服务,维护着系统服务和客户端的binder通信.对此陌生的可以先看系统服务与ServiceManager来了解应用层是如何使用Ser ...
- 【ABAP系列】SAP ABAP WS_DELIVERY_UPDATE 修改数量、过账日期并发货过账
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP WS_DELI ...
- dvorak键盘布局调整
一站直达: http://www.kaufmann.no/roland/dvorak/