标准类型

  • 数字
  • 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. 1>/dev/null 2>&1的含义

      shell中可能经常能看到:>/dev/null 2>&1    分解这个组合:“>/dev/null 2>&1” 为五部分. 1:> 代表重定向到哪 ...

  2. 认识了一个新的手机游戏剖析工具- SnapDragon Profiler

    原来这个是高通的工具,具说UNITY官方推荐了这个工具.大概看了下,可以从宏观上实时剖析手机应用的方方面面

  3. 主流架构 : MVP

    1 背景 MVC 平时开发APP时会发现,activity职责非常重.以MVC角度来看: M:model数据操作层(网络请求,耗时操作,数据存取,其他逻辑操作) V:view,指xml布局文件,其实并 ...

  4. 如何查看yum安装的程序包都放在哪些地方了?

    yum安装, 是先下载下来, 然后安装, 用dnf代替yum后, 配置文件跟yum类似, 也是放在 /etc/dnf/ 目录下的, 也有dnf.conf 配置文件等 dnf list后面还可以跟参数: ...

  5. DelayQueue 源码分析

    DelayQueue DelayQueue 是基于 PriorityQueue 实现的线程安全的无界优先级阻塞队列, 队列的头部元素必须在超时后才能移除,元素必须实现 Delayed 接口. 创建实例 ...

  6. Package manager has died异常PackageInfo 引发 Crash

    Android 获取 PackageInfo 引发 Crash 填坑 一般 Android 通过PackageInfo这个类来获取应用安装包信息,比如应用内包含的所有Activity名称.应用版本号之 ...

  7. 宝塔 windows下apache环境下禁止某文件夹内运行PHP脚本、禁止访问文件

    首先我们来看两段对上传目录设置无权限的列子,配置如下: //在宝塔下如用/upload这个路径应用无效,一定要C:/wwwroot/upload才有效果 <Directory "要去掉 ...

  8. debian下重装mysql

    mysql总是报错,说sock文件不存在,网上若干方法,更改权限,更改配置文件,结果还是不能正常生成.sock文件.没办法,删除,重新安装. 完全删除: 删除 mysqlsudo apt-get au ...

  9. Http中Content-Type的取值讲解

    一.Content-Type的取值 在Http请求中,我们每天都在使用Content-type来指定不同格式的请求信息(MediaType,即是Internet Media Type,互联网媒体类型: ...

  10. 20191103 《Spring5高级编程》笔记-第3章

    第3章 在Spring中引入IoC和DI 依赖注入是IOC的一种特殊形式,尽管这两个术语经常可以互换使用. 3.1 控制反转和依赖注入 IOC的核心是DI,旨在提供一种更简单的机制来设置组件依赖项,并 ...