python数据类型

1. 基本数据类型

1.1 数字

int、float、complex
互相转换可以用int(),float()
浮点数17位,借助decimal模块可以精确表示浮点数

1.2 布尔值

常见的布尔值为False的值:False,None,0,“”,(),[],{}

1.3 字符串

双引号或者单引号中的数据
字符串常用操作
center(width)将字符串居中,并使用空格填充至长度 width 的新字符?串
count(sub[, start[, end]])返回 sub 在字符串里边出现的次数,start 和 end 参数表示范?围,可选。
encode(encoding='utf-8', errors='strict')以 encoding 指定的编码格式对字符串进行编码。
expandtabs([tabsize=8])把字符串中的 tab 符号(\t)转换为空格,如不指定参?数,默认的空格数是 tabsize=8。'abc\tdef'.expandtabs()
find(sub[, start[, end]])检测 sub 是否包含在字符串中,如果有则返回索引值,?否则返回 -1,start 和 end 参数表示范围,可选。
index(sub[, start[, end]])跟 find 方法一样,不过如果 sub 不在 string 中会产生一个异常?。find不报错,返回-1,index报错
ljust(width)返回一个左对齐的字符串,并使用空格填充至长度为? width 的新字符串。
partition(sub)找到子字符串 sub,把字符串分成一个 3 元组 (pre_sub, sub, fol_sub),如果?字符串中不包含 sub 则返回 ('原字符串', '', '')
replace(old, new[, count])把字符串中的 old 子字符串替换成 new 子字符串,如果 count 指?定,则替换不超过 count 次。
rfind(sub[, start[, end]])类似于 find() 方法,不过是从右边开始查找。
rindex(sub[, start[, end]])类似于 index() 方法,不过是从右边开始。
rjust(width)返回一个右对齐的字符串,并使用空格填充至长度为? width 的新字符串。
rpartition(sub)类似于 partition() 方法,不过是从右边开始查找。
translate(table)根据 table 的规则(可以由 str.maketrans('a', 'b') 定制)转换字符串中的字?符。
zfill(width)返回长度为 width 的字符串,原字符串右对齐,前边用? 0 填充。

空格
strip([chars])删除字符串前边和后边所有的空格,chars 参数可以定?制删除的字符,可选
lstrip(),rstrip()
直接在input().strip
可去除其他字符
字母
upper()转换字符串中的所有小写字符为大写。
lower()转换字符串中所有大写字符为小写。
capitalize()把字符串的第一个字符改为大写
casefold()把整个字符串的所有字符改为小写
swapcase()翻转字符串中的大小写。
title()返回标题化(所有的单词都是以大写开始,其余字?母均小写)的字符串。
分割和连接
split(sep=None, maxsplit=-1)不带参数默认是以空格为分隔符切片字符串,如果? maxsplit 参数有设置,则仅分隔 maxsplit 个子字符串,返回切片?后的子字符串拼接的列表。
splitlines(),按行分割,等价于split('\n')
splitlines(([keepends]))在输出结果里是否去掉换行符,默认为 False,不包含?换行符;如果为 True,则保留换行符。。
'*'.join(sub)以字符串作为分隔符,插入到 sub 中所有的字符之间?。
判断
startswith(prefix[, start[, end]])检查字符串是否以 prefix 开头,是则返回 True,否则返回? False。start 和 end 参数可以指定范围检查,可选
endswith(sub[, start[, end]])检查字符串是否以 sub 子字符串结束,如果是返回 True,?否则返回 False。start 和 end 参数表示范围,可选。
isalnum()如果字符串至少有一个字符并且所有字符都是字母或?数字则返回 True,否则返回 False。
isalpha()如果字符串至少有一个字符并且所有字符都是字母则?返回 True,否则返回 False。
isdecimal()如果字符串只包含十进制数字则返回 True,否则返回? False。
isdigit()如果字符串只包含数字则返回 True,否则返回 False。
islower()如果字符串中至少包含一个区分大小写的字符,并且这?些字符都是小写,则返回 True,否则返回 False。
isnumeric()如果字符串中只包含数字字符,则返回 True,否则返回 False。
isspace()如果字符串中只包含空格,则返回 True,否则返回 False。?
istitle()如果字符串是标题化(所有的单词都是以大写开始?,其余字母均小写),则返回 True,否则返回 False。
isupper()如果字符串中至少包含一个区分大小写的字符,并且这?些字符都是大写,则返回 True,否则返回 False。

1.4 列表

列表是一个容器,给元素提供的一个内存地址

  • 创建l=[],l=list()
  • 查询
    l[0]
    l.index(x),x的下标
    l.count(x),x的个数
  • 切片
    l[起始:结束:步长]
  • 增加
    append尾部追加
    l.insert(index,object)
    l.extend(list),追加列表
  • 修改
    直接赋值
  • 长度
    len
  • 删除
    l.pop()
    l.remove(x)
    del
    clear
  • 循环,for in
  • 排列
    reverse
    sort
  • 其他
    enumerate() 把一个列表返回元组
    zip

1.4.1 列表的深浅拷贝问题



1.5 元祖

1.6 字典

  • key-value结构
  • key必须可hash,且必须为不可变数据类型,必须唯一
  • value可存放任意多个值,可修改,可以不唯一
  • 无序
  • 查找速度快

1.6.1 有序字典

导入模块

1.7 集合

并集
a|b
a.union(b)
交集
a&b
a.intersection(b)
差集
a-b
a.difference(b)
对称差(交集反向) 交叉补集
a^b
a.symmetric_difference(b)

父集子集
<>,issubset() issuperset()
添加
a.add()
a.update([,])
删除
a.remove

posted @ 2019-04-22 13:44  球球-Ball  阅读(206)  评论(0编辑  收藏  举报