python - 数据类型,,核心数据类型: 数


核心数据类型:
数字:int,long ,float,complex,bool
字符:str,Unicode
列表:list
字典:dict
元祖:tuple
文件:file
其他类型:集合(set)、frozenset,类类型,None

其他文件类工具:
pipes
fifos

类型转换
str(),repr()或format() 将非字符数据转换为字符
int() 转化为整数
float()
list():将子串转为列表
tuple() 将字串转为元祖
set() 将字串转为集合
dict()创建字典,其d必须是(key,value) 的元祖序列

chr(x) 将整数转为字符
ord(x)将字符转为整数值
hex(x)将整数值转为16进制字符
bin(x)转为2进制
oct(x)转为8进制

python 使用5中数字类型:
布尔型
整型
长整型
浮点型
复数
所有数字类型均为不可变
True : 1

False: 0

技术分享图片

技术分享图片

序列类型
字符类型
字符串自变量:
把文本放入单引号、双引号或三引号中
‘‘ , "", ‘‘‘ ‘‘‘
如果要使用unicode 编码,则在字符之前使用字符u进行标识,如u"nihao"
文档字串:
模块、类或函数的第一条语句是一个字符的话,该字符串就成为文档字符串,可以使用_doc_属性引用

运算符:
索引运算:[i]
切片运算:[i:j]
扩展切片:[i:j:stride]

支持运算
索引、切片、min()、max()、len()等

支持操作
对象的自有的方法

列表:
容器类型
任意对象的有序列集合,通过索引访问其中的元素,可变对象,长度可变,异构,任意嵌套.
支持在原处修改
修改制定的索引元素,修改制定的分片,删除语句,内置方法

l1 + l2 :合并两个列表,返回一个新的列表,不会修改原列表
l1 * N :把l1 重复 N次,返回一个新列表

in :成员关系判断字符,用法obj in container
not in :obj not in contaner

列表解析:
[]
列表复制方式:
l1 = [1,2,3,4]
l2 = l1
import copy
l2 = copy.deepcopy(l1)
l2 = l1[:]
-----------------------------------------------------------------
元组:

表达式符号()
容器类型
任意对象的有序集合,通过索引访问其中的元素,不可变对象,长度固定
异构,嵌套
常见操作
()
(1,)
(1,2)

t1 + t2 :
t1 * N
in
not in

虽然元组本身不可变,但如果元组内嵌套了可变类型元素,那么此类元素的修改不会返回新元组.

序列类型支持的操作符:

技术分享图片

技术分享图片


容器、类型、对象
1、
2、所有对象都有引用计数
3、列表和字典都支持两种类型的复制操作:
浅复制和深复制;
深复制可以使用copy模块中的deepcopy()实现。
4、python中的所有对象都是‘第一类的’这意味着使用标识符命名的所有对象都具有相同状态,于是,能够命名所有对象都可以直接当做数据进行处理。
5、所有序列都支持迭代。
6、所有序列都支持的操作和方法:
s[i]
s[i:j]
s[i:j:stride]
len(s)
min(s)
max(s)
sum(s)
all(s)
any(s)
s1 + s2 :连接
s1 * N :重复
obj in s1 :成员关系判断
obj not in s1:成员关系判断

7、可变序列的操作:
s1[index] = value :元素赋值
s1[i:j] = t :切片赋值
del s1[i:j]
del s1[i:j:stride]

python 的表达式和语句:
表达式
语句

python 中常用表达式操作符:
x + y ; x -y;
x * y ; x / y ; x // y , x % y;
逻辑运算:
x or y ; x and y ; not x
成员关系运算:
x in y , x not in y
对象实例测试:
x is y , x not is y
比较运算:
x < y , x > y, x ! y
位运算:
x | y , x & y , x ^ y , x << y ,x >> y
一元运算:
-x , +x , ~x
幂运算:
x ** y
索引和分片
x[i],x[i:j],x[i:j:stride]
调用:
x(...)
取属性:
x.attribute

元组:(...)
序列:[...]
字典:{...}

三元表达式: x if y else z
匿名函数: lambda args : expression
生成器函数发送协议: yield x

运算优先级:
(...),【...】,{...}
s[i],s[i:j]
s.attribute
s(...)
+x,-x,~x
x**y
*,/,//,%
<<,>>
&
^
|
<,<=,>,>=,=,!=
is,not is
in ,not in
not
and
or
lambda

语句:
赋值语句
调用
print : 打印对象
if/elif/else: 条件判断
while/else:普通循环
pass:占位符

break:
continue
def
return
yield
global :命名空间
raise : 触发异常
import
from 模块属性访问
class 类
try/except/finally 捕捉异常
del 删除引用
assert 调试检查
with/as 环境管理器。

赋值语句:
隐式赋值:
import,from,def,class,for 函数参数
元组和列表分解赋值:
当赋值符号= 的左侧为元组或列表时,python会按照位置把右边的对象和左边的目标自左而右逐一进行匹配。
多重目标赋值:
增强赋值: +,-,*,/,

python - 数据类型

评论关闭