标准类型

  • 数字
  • 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对象的更多相关文章

  1. python征程3.0(python对象)

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

  2. python 对象

    python 对象 在python中,对象就是为C中的结构体在堆上申请的一块内存,一般来说,对象是不能被静态初始化的,并且不能再栈空间上生存.本文主要对Python的基本数据类型做简单的介绍. PyO ...

  3. Python 对象的引用计数和拷贝

    Python 对象的引用计数和拷贝 Python是一种面向对象的语言,包括变量.函数.类.模块等等一切皆对象. 在python中,每个对象有以下三个属性: 1.id,每个对象都有一个唯一的身份标识自己 ...

  4. Python对象(译)

    这是一篇我翻译的文章,确实觉得原文写的非常好,简洁清晰 原文链接:http://effbot.org/zone/python-objects.htm ------------------------- ...

  5. 《Python核心编程》 第四章 Python对象- 课后习题

    练习 4-1. Python对象.与所有Python对象有关的三个属性是什么?请简单的描述一下. 答:身份.类型和值: 身份:每一个对象都有一个唯一的身份标识自己,可以用id()得到.  类型:对象的 ...

  6. Python对象体系揭秘

    Guido用C语言创造了Python,在Python的世界中一切皆为对象. 一.C视角中的Python对象 让我们一起追溯到源头,Python由C语言实现,且向外提供了C的API http://doc ...

  7. 【2】python核心编程 第四章-python对象

    1.python对象 所有的Python 对像都拥有三个特性:身份,类型和值. 身份: 每一个对象都有一个唯一的身份标识自己,任何对象的身份可以使用内建函数id()来得到. 这个值可以被认为是该对象的 ...

  8. python学习笔记:python对象

    一.python对象 python使用对象模型来存储数据,构造任何类型的值都是一个对象.所有的python对象都拥有三个特性:身份.类型和值. 身份:每个对象都有一个唯一的身份标识自己,对象的身份可以 ...

  9. Python对象类型及其运算

    Python对象类型及其运算 基本要点: 程序中储存的所有数据都是对象(可变对象:值可以修改 不可变对象:值不可修改) 每个对象都有一个身份.一个类型.一个值 例: >>> a1 = ...

随机推荐

  1. 《SQL Server 2012 T-SQL基础》读书笔记 - 2.单表查询

    Chapter 2 Single-Table Queries GROUP BY之后的阶段的操作对象就是组(可以把一组想象成很多行组成的)了,HAVING负责过滤掉一些组.分组后的COUNT(*)表示每 ...

  2. mui初级入门教程(四)— 再谈webview,从小白变“大神”!

    文章来源:小青年原创发布时间:2016-06-05关键词:mui,html5+,webview转载需标注本文原始地址: http://zhaomenghuan.github.io/#!/blog/20 ...

  3. What does the dot after dollar sign mean in jQuery when declaring variables?

    https://stackoverflow.com/questions/22156664/what-does-the-dot-after-dollar-sign-mean-in-jquery-when ...

  4. linux gsensor驱动分析【转】

    本文转载自:http://blog.sina.com.cn/s/blog_89f592f501013sr2.html 本文以Bma250驱动为例子,详细介绍Gsensor设计的一个模板. gsenso ...

  5. Git remotes/origin/pr/* 分支清理,代码回退等

    代码在gitHub上托管,每次git pull完后,用git branch -a都可以看到一堆remotes/origin/pr/*分支: 可以通过两种方式去除: 1,修改git的config文件找到 ...

  6. whu 1581 Union of cubes

    题目链接: http://acm.whu.edu.cn/land/problem/detail?problem_id=1581 ------------------------------------ ...

  7. MySQL与MongoDB的不同

    数据存放的巨大不同

  8. 【HTML】<!DOCTYPE html>作用

    1.定义: DOCTYPE标签是一种标准通用标记语言的文档类型声明,它的目的是要告诉标准通用标记语言解析器,它应该使用什么样的文档类型定义(DTD)来解析文档. <!DOCTYPE> 声明 ...

  9. Celery定时任务|计划任务

    适用场景几点几分执行特定的任务 定时任务 配置这个无需多说了和上篇文章一样 任务函数 硬菜来了 添加任务时候的写法 第一种: from celery_task.order_task import or ...

  10. Delphi XE2 之 FireMonkey 入门(12) - 动画(上)

    在 HD 窗体上添加一个 TAniIndicator, 修改其 Enabled 属性为 True, 动画完成了. 这是最简单的动画相关的控件了, 只有两个值得注意的属性: Enabled: Boole ...