python中的数据类型

  • 数据类型
  • 字符串
  • 字符串的格式化
  • 字符串运算符
  • 字符串函数
  • 字符串方法
  • 字符串的格式化
  • 组合数据类型
  • 集合类型
  • 集合操作符
  • 应用场景
  • 序列类型
  • 元组类型
  • 列表类型
  • 字典

数据类型

浮点数在使用的时候,存在不确定尾数。因为二进制跟十进制的转化不完全,所以会存在尾巴
所以使用round(x,d) d代表要取多少位。在混合运算时,生成结果为最宽类型

类型

示例

十进制

0 1 2

十六进制

0X12 0x12

八进制

0O12 0o12

二进制

0b12 0B1

运算符

意义

/

结果是浮点数 10/3=3.333

//

整数的除法运算 10//3=3

-y

y的负数

x**y

x的y次方幂,如果y为小数就是开

+- * / %

加减乘取余

ads()   # 求绝对值
divmod(x,y)  #同时输出商和余
divmod(10,3)=(3,1)
pow(x,y[,z])    # x的y次幂 同时除z,可以使运算结果在范围内 [..]代表参数可以省略
round(x[,d])   #忽略小数 d代表要取多少位  默认为0
max(x,...n)   # 求n个数的最大值
min(x,...n)   # 求n个数的最小值,
int(x)  # 将浮点数或字符串转为 整数
float(x)  #将整数或者字符串转换为 浮点数
complex(x)  #将数据转为复数

字符串

由一对单引号或一对双引号或一对三引号包裹的文本。三引号也可以用作多行的注释。如果文本含有单引号,就用双引号包裹。含有双引号,就用单引号。或者在内含的引号前面+/.

字符串分为正索引和反向索引。字符串可以索引切片

python 不确定列表长度 python的不确定尾数_字符串

<字符串>[M]  TempSrt[-1]  # 索引
<字符串>[M:N] TempSrt[1:3]  TempStr[0:-1] # 切片 从1开始 但不到3  0- -1相当于把最后一个字符去掉
<字符串>[M:N:k] # M 缺少表从头 N少表到结尾 K代表步长。
“123456”[:3] = "123"
[::-1] 代表对字符串逆序

字符串的格式化

python 不确定列表长度 python的不确定尾数_浮点数_02

# 填充对齐和宽度 字符串超过对齐长度,则以字符串长度显示。
>>>"{0:=^14}".format("python") = "====PYTHON===="
>>>"{0:*>14}".format("BIT")  = "**********BIT"
>>>"{:10}".format("BIT")  = "BIT      "
# , 精度和类型  ,财务上以千为单位分割;  .表示精度
>>> "{0:.2f}".format(12345.6789)  = '12,345.68  '
c,整数:将数字转换成其 unicode 对应的值,10进制范围为 0 <= i <= 1114111(py27则只支持 0-255);字符:将字符添加到指定位置
o,将整数转换成八进制表示,并将其格式化到指定位置
x,将整数转换成十六进制表示,并将其格式化到指定位置
d,将整数、浮点数转换成十进制表示,并将其格式化到指定位置
e,将整数、浮点数转换成科学计数法,并将其格式化到指定位置(小写 e )
E,将整数、浮点数转换成科学计数法,并将其格式化到指定位置(大写 E )
f,将整数、浮点数转换成浮点数表示,并将其格式化到指定位置(默认保留小数点后6位)
F,同上
g,自动调整将整数、浮点数转换成 浮点型或科学计数法表示(超过6位数用科学计数法),并将其格式化到指定位置(如果是科学计数则是 e;)
G,自动调整将整数、浮点数转换成 浮点型或科学计数法表示(超过6位数用科学计数法),并将其格式化到指定位置(如果是科学计数则是 E;)
%,当字符串中存在格式化标志时,需要用 %% 表示一个百分号

字符串运算符

x+y
x*y #复制x字符串n次
x in s  # 如果x是s的子串。返回ture 否会false

字符串函数

len(x)  #得到字符串长度
str(x)  # 将任意类型变为字符串类型
str(12.3) = "12.3"
str([1,2]) = "[1,2]"
hex(x)或oct(x)  #得到整数的16进制或8进制的小写形式的字符串
hex(425)= "ox1a9"
oct(425)="0o651"
chr(u) 返回unicode对应的字符
ord(x) 返回字符对应的unicode值

字符串方法

str.lower或str.upper()  # 将字符串的大小写进行转换
str.split(sep=None)   # 返回一个列表 由str根据sep被分割的部分组成 默认采用空格进行分割
”A,B,C“.split(",")结果为['A','B','C']
str.count(sub)  # 返回字串在str中出现的次数
str.replace(old,new)  # 所有old字串被替换为new
str.center(width[,fillchar])  # 字符串str根据宽度width居中,fillchar可选
"python".center(14,"=") 结果为”====python====“
str.strip(chars)  # 从str中去掉在其左侧和右侧chars中列出的字符
str.join(iter)   # 在iter变量除最后元素外每个元素增加一个str
",".join = "1,2,3,4,5"

字符串的格式化

// An highlighted block
var foo = 'bar';

组合数据类型

集合类型

python 不确定列表长度 python的不确定尾数_浮点数_03

>>>A ={'python',123,('python',123)}  # 使用{}建立集合
{123,'python',('python',123)}
>>>B = set('pypy123')   # 建立空集合 只能使用set
{'1','p','2','3','y'}
>>> C = {'python',123,'python',123}
>{'python',123}

集合操作符

python 不确定列表长度 python的不确定尾数_浮点数_04


python 不确定列表长度 python的不确定尾数_python 不确定列表长度_05


python 不确定列表长度 python的不确定尾数_python 不确定列表长度_06


python 不确定列表长度 python的不确定尾数_python_07

A ={'p',123,'y'}
for item in A:
    print(item,end="")  # y123p
   
A={'P','Y',123}
try:
    while True:
        print(A.pop(),end="")
except:
        pass

应用场景

可以判断包含关系和数据去重

ls = ('p','p','y','y',123)
s = set(ls)
{'p','y',123}
lt= list(s)

序列类型

序列是一个基类类型:字符串类型,元组类型,列表类型。
序列包含正向递增序号和反向递增序号。
元组用()和tuple创建,列表用[]和list创建
元组用在元素不改变的场景,用于固定搭配场景。例:函数返回值
可以对数据进行保护

序列通用操作符及应用

描述

x in s

如果x是序列s的元素,返回True,否则返回False

x not in s

如果x是序列s的元素,返回False,否则返回True

s+t

连接两个序列s和t

s* n 或 n* s

将序列s复制n次

s[i]

索引,返回s中的第i个元素,i是序列的序号

s[i:j]或s[i:j:k]

切片,返回序列s中第i到j以k为步长的元素子序列

序列通用函数和方法

描述

len(s)

返回序列s的长度

min(s)

返回s最小值,s元素需要可以比较

max(s)

返回s最大值,s中元素可比较

s.index(x) or s.index(x,i,j)

返回元素在列表中的位置

s.count(x)

返回序列s中出现x的总次数

元组类型

一旦创建就不能被修改。
使用()或tuple()创建,元素之间用逗号,分隔
可以使用或者不使用小括号
继承了序列的全部操作。

creature = 'cat','dog','tiger','human'
>>>creature[::-1]
('human','tiger','dog','cat') # 这是一个新的元组
>>>color = (0x001100,'blue',creature)
>>>color[-1][2]
'tiger'

列表类型

是一种序列类型,创建后可以随意修改
使用方括号[]或list()创建,元素间用逗号,分隔
可以使用或不适用方括号

>>> ls =['cat','dog','tiger',1024]
>>> ls
['cat','dog','tiger',1024]
>>> lt=ls     # 方括号[]真正创建一个列表,赋值仅传递引用
>>>> lt
['cat','dog','tiger',1024]

函数和方法

描述

ls[i] = x

替换列表ls第i元素为x

ls[i:j:k] = lt

用列表lt替换ls切片后所对应的元素子列表

del ls[i]

删除列表ls中第i元素

del ls[i:j:k]

删除列表ls中第i到j以k为步长的元素

ls += lt

更新列表ls,将列表lt元素增加到列表ls中

ls*=n

更新列表ls,其元素重复n次

ls.append(x)

在列表ls最后增加一个元素x

ls.clear

删除列表ls中所有元素

ls.copy()

生成一个新列表,赋值ls中所有元素

ls.insert(i,x)

在列表ls的第i位置增加元素x

ls.pop(i)

将列表ls中第i位置元素取出,并删除该元素

ls.remove(x)

将列表ls中出现的第一个元素x删除

ls.reverse()

将列表ls中的元素反转

字典

字典类型是映射的体现。作用就是表达键值对,进而操作它们
键值对:键是数据索引的扩展
字典是键值对的集合,键值对之间无序。
采用{}和dict()创建,键值对之间用冒号 :表示
[] 用来向字典变量中索引或增加元素
通过{}来创建空的字典。集合类型也是用{}的,但是因为字典常用,所以把{}的留给了字典

函数或方法

解释

del d[k]

删除字典d中键k对应的数据值

k in d

判断键k是否在字典d中,如果在返回True,否则False

d.keys()

返回字典d中所有的键信息 可以for in做遍历,但是不能当作列表类型来操作

d.values()

返回字典d中所有的值信息 可以for in做遍历,但是不能当作列表类型来操作

d.items()

返回字典d中所有的键值对信息

d.get(k,< default >)

键K存在,则返回相应值,不存在则返回< default >值 这个函数很重要

d.pop(k,< default >)

键K存在,则取出相应值,取出之后就是删除原来的,不存在则返回< default >值

d.popitem()

随机从字典d中取出一个键值对,以元组形式返回

d.clear()

删除所有的键值对

len(d)

返回字典d中元素的个数

type(x)   #返回变量x的类型