码迷,mamicode.com
首页 > 编程语言 > 详细

python基础数据类型汇总

时间:2018-06-10 11:45:14      阅读:240      评论:0      收藏:0      [点我收藏+]

标签:TE   逻辑运算   替换   清空   from   mini   增加   索引   --   

#!/usr/bin/env python
# -*- encoding:utf-8 -*-
# author:Administrator
# make_time:2018/6/9
‘‘‘
数据类型:
不可变数据类型:int、str、bool、tuple、frozenset
可变数据类型:list、dict、set
公共方法:count()、len()、del、copy()
len(所有都有)
count(数字、字典、集合没有此方法)
index(数字、字典、集合没有此方法)
可变数据类型都有copy()

整数、字符串、列表、元组、布尔可以相加(字典、集合不可相加)

整数: int
# 不可变数据类型
bit_length() 查看数字在内存中最少占几位
数学运算:+ - * / //(整除) % **(幂)
比较运算: >,<,>=,<=,==,!=
赋值运算:=,+=,*=,/=,-=,%=,,//=,**=

逻辑运算:not or and
从左到右
优先级:() not and or
1(非零整数):true 0:false
1 or 2 左边非零取左边,0 取右边,and相反

身份运算:is is not 判断两个对象是不是为同一个内存地址

成员运算:in not in 判断字符/元素是否在目标中,str,list,dict,set,tuple

位运算:
& 与运算 1 1 得1 , 1 0 得0 ,0 0 得 0
| 或运算 1 1 得1,1 0 得1 ,0 0 得0

方法:
int.bit_lens() 查看数字在内存中占的字节数
布尔值:True False
#不可变数据类型、True为1,False为0 (0,None,False,[],(),{},set(),都为False)

字符串: str
# 不可变数据类型、有序、可切片,可迭代循环,交互默认输入为字符串
# 以单或双引号表示 :‘元素‘
# 不可增删改
切片:从左到右字符串中的索引从0开始
[start:end:step] 顾头不顾尾
[1:3] 字符串中索引1到2的字符
[1:-1] -1 表示最后一个字符
操作方法:
del str 删除字符串
len(str) 统计字符串长度,内置方法
str.count(元素) 统计字符串中的元素出现的个数
str.center(宽度,"填充物可不写") 指定长度居中显示,默认填充物为空格
str.title() 非字母隔开得首字母大写
china country --> China Country
* str.capitalize() 首字母大写,其他分开的单词首字母小写
china_Country --> China_country
str.swapcase() --->字符串大小写互转
** str.upper() ----> 全部变成大写
str.isupper() 是否全部为大写
** str.lower() -----> 全部变成小写
str.islower() 是否全部为小写
str.encoding("将字符串以何种编码集进行编码")
** str.startswith("元素") 判断字符串是否以什么开头,返回bool值
str.endswith("元素")
*** str.find("元素",star,end) 找元素的索引,如果元素不存在,返回-1
*** str.index("元素",star,end) 找元素的索引,如果元素不存在,报错
*** str.strip("元素可空") 去掉两端的\n,\t,\s等空白字符,也可指定字符从两端删
str.lstrip()
str.rstrip()
***** str.split("分割符可空,默认空格,多个空格看成一个") 分割字符串,返回列表
str.lsplit()
str.rsplit()
*** str.replace(old,new,替换几次)
*** str.format() 字符串格式化
"{}my name is {}".format(11,"秀文")
"{1}my name is {2},next year is {1}".format(11,"秀文")
{id}is old boy ,my name {name}".format(id =11,name="sun") 不能放字典
% 百分号的方式格式化
"my name is %s ,i am %d" %("sun",30)"
"my name is %(name)s ,i am %(age)d" %(dic)" 可以放字典
%s 字符串
%d 整数
%f 小数 %.2f 保留2为小数
3.6以上版本格式话可以:f"{name}已经登录了"

str.isalnum() 是否为字母或数字,返回bool值
str.isalpha() 是否全为字母
str.isdigit() 是否全为数字
str.isspace() 是否有空白字符
***** str.join(iterable可迭代) 字符串拼接,括号里一定得是可迭代得数据,且只能为一个参数
注:
"sun".join([11,22]) 报错,join不能将带有数字得list转换成字符串,需要先将数字转换成字符串
"*".join("%s" %id for id in list)
object in str 判断元素是否在str中

列表:list
# 可变数据类型,有序,可切片,可迭代循环,元素可为任意类型数据
# 以[元素,]表示
# 可增删改查
切片:
同字符串一样,通过索引切
增:
list.append(元素) 向列表末尾添加元素
list.insert(index,元素) 指定索引位置向列表添加元素
list.extend(iterable) 迭代的向列表末尾添加多个元素
删:
list.pop(index) 根据索引删除,不添加元素时,默认删除最后一个
list.remove(元素/object) 根据元素删除
del list 删除列表
del list[:3] 根据索引切片删除
list.clear() 清空列表
改:
lis[index] = new_data 索引切片修改
lis = [11,22,33,44,55]
lis[:2] = [66,77,88] # lis = [66, 77, 88, 33, 44, 55] 步长为1时,不考虑个数对应,切的时一片空间
lis[:3:2] = [66,77] # 报错,步长不为1时,左右元素个数需一致
#ValueError: attempt to assign sequence of size 3 to extended slice of size 2
查:
lis[index] 通过索引查
for i in list: 通过迭代循环查,i为列表中的每个元素
方法:
del list 删除列表
len(list) 统计列表的长度
list.count(object) 统计列表中指定元素出现的个数
list.index(object,start,end) 查找元素的索引
list.sort(reverse=False) 排序,默认为升序,当reverse值设为True时,降序排列
list.reverse() 列表中元素顺序反转过来
list.copy() 列表浅拷贝
object in list 判断对象是否在列表中

元组:tuple
# 不可变数据类型,有序,可切片,可迭代循环,元素可以是任意数据类型
# 不可增删改
# 以括号表示()
查:
tuple[2] 通过切片查
for i in tuple: 通过迭代循环查
方法:
tuple.count(object)
tuple.index(object,start,end)
len(tuple)
object in tuple

字典:dict
# 可变数据类型,键值对存在,键不可变,可哈希的(int,str,bool,frozenset),值可以是任意数据类型,无序,不可切片,可迭代循环查询
# 以大括号表示{key:value}
# 可整删查
增:
dic = {}
dic[new_key] = new_data 直接增加,如果key存在则更新value
dic.setdefault(key,value) 本方法一旦key,value都创建,且value指定的不是[]、{}、set(),值都不能更改
new_dic = dict.fromkeys(iterable,values)
new_dic = dict.fromkeys([11,22],[33,44]) -->{11: [33, 44], 22: [33, 44]}
前面的key对应相同的value,且当后面的value为可变数据类型时如列表,改变任意一个value,
另一个也会改变,浅拷贝,否则不改变
删:
dic.pop(key) 指定key删除,默认删除最后一项,返回删除key对应的value,如果key不存在报错 KeyError:
dic.popitem() 随机删除 ,返回删除的键值对以tuple形式显示
3.6以上字典内置为有序,popitem()默认删除最后一个,但面试要说随机删除
del dic[key] 指定key删除,如果key不存在报错 KeyError:
del dic
dic.clear()
改:
dic[key] = new_data
dic.update(dic1) dic将dic1更新到自己的字典中,key重复更新为新value
查:
dic[key] key不存在时,报错
dic.get[key,"不存在时自定义返回值"] key不存在时默认返回None,也可自定义返回值
dic.keys() 以仿列表形式存所有key,可迭代
dic.values()
dic.items()
for i in dic i 为dic的key
方法:
len(dic)
集合:set
# 可变数据类型,无序,元素唯一不重复且不可哈希即不可变数据类型,可迭代
# 以{}形式表现,主要用于去重
# 不可切片(无序),可增删改查
增:
set.add(元素)
set.update(iterable) 迭代的更新到set中
删:
set.pop() 随机删除
set.remove(元素) 没有报错
set.clear()
del set
改:
因无序,只能通过先删除后整加的方式
set.remove(待改元素)
set.add(新增元素)
查:
for i in set:
方法:
len(set)
交集: & 相同的部分
并集: | 合体
差集 a-b 去掉在a中b有的元素,减法
s = frozenset([11,22,33]) 将可变数据类型改为不可变

python基础数据类型汇总

标签:TE   逻辑运算   替换   清空   from   mini   增加   索引   --   

原文地址:https://www.cnblogs.com/sunxiuwen/p/9162041.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!