你想了解的python基础数据类型这里都有
python基础数据总结
数字型数据类型
数字型数据基本知识
int(整数)
- 整数包括正整数,负整数和零
float(浮点型)
- 浮点数位带小数点的数字
complex(复数)
- 复数由实部和虚部构成(如a+bj,a为实部,b为虚部,j为虚数单位j2=-1)
comp=1+2j
print(comp.real) #获取实部(结果为浮点型)
print(comp.imag) #获取虚部(结果为浮点型)
bool(布尔)
- 布尔(boolean),又叫逻辑,包括True和False,用于逻辑判断,这是一种特殊的整数类型,True可以用1表示,代表真;False可以用0表示,代表假
算术运算符
运算符 | 中文名称 | 功能描述 |
---|---|---|
+ | 加 | 两数相加 |
- | 减 | 两数相减 |
* | 乘 | 两数相乘 |
/ | 除 | 两数相除 |
// | 整除 | 取两数相除的整数部分 |
% | 取余 | 取两数相除的余数 |
** | 幂 | 进行幂计算 |
进制
二进制
- 只用0或1表示的数,二进制的基数为2,遵循逢二进一的原则,用0b开头表示二进制(早期的python不支持0b开头的二进制表示方式)
- 在底层语言中,机器码就是二进制码,所以使用二进制码在计算机中执行速度最快
a=0b0001 #定义一个二进制数据
b=bin(16) #将十进制16通过bin()方法强行转化为二进制
print(a)
print(b)
八进制
- 用0到7表示的数,八进制的基数为8,遵循逢八进一的原则,用0o开头表示八进制
a=0o0007 #定义一个八进制
b=oct(16) #将十进制16通过oct()方法强行转化为八进制
print(a)
print(b)
十进制
- 用0到9表示的数,十进制的基数为10,遵循逢十进一的原则,直接用数字不加前缀表示十进制
- 十进制是对于我们比较友好且常用的进制,我们平常定义的整数都是十进制(如18,90等)
十六进制
- 用0-9,a,b,c,d,e,f表示的数,十六进制的基数为16,遵循逢十六进一的原则,用0x开头表示二进制
a=0x00e9 #定义一个十六进制
b=hex(16) #将十进制16通过hex()方法强行转化为十六进制
print(a)
print(b)
二进制运算符
运算符 | 中文名称 | 功能描述 |
---|---|---|
& | 位与 | a&b:将a与b的每一位一一相加,对应位全为1结果为1 |
| | 位或 | a|b:将a与b的每一位一一相加,对应位只要有一个1结果就为1 |
^ | 位异或 | a^b:将a与b的每一位一一相加,对应位不同就为1,相同则为0 |
~ | 位取反 | ~a:先将二进制a+1,然后取反,即-(a+1) |
<< | 左移 | a<<n:将二进制a全部左移n位,右边低位补0 |
>> | 右移 | a>>n:将二进制a全部右移n位,左边高位补0 |
字符串数据类型
字符串基础知识
- 字符串是用' '," "或'" "'括起来的任意字节的字符
- 字符串的序号
- 正向递增序号:从左到右为:0~n
- 反向递增序号:从右到左为:-1~-(n+1)
字符串数据操作方法(增 查 改)
增:只能合并(使用加号+),不能在其他位置添加
s=s+'world' #加号为合并增加
print(s)
查:可以通过索引或切片的方法
- 索引:字符串[m],但m不能超出字符串的长度,即m<len(s)
- 切片:字符串[m:n:k],根据步长k对字符串取[m,n),m,n,k可以采取反向序号
#索引
s='hello'
print(s[1],s[2],s[0])
#切片
print(s[:])
print(s[1:3:2])
print(s[-1:-4:-1])
改:不能通过下标进行修改,只能通过切片合并的方式进行修改
s='hello'
s=s[:1]+'i myfriend' #切片加合并的方式进行字符串的修改
print(s)
字符串处理函数
del(x):x可以是字符串,数字,集合,列表,元组,字典,类等
len(str):返回字符串长度
str(x):将x转化为字符串
chr(u):u为unicode编码,返回对应的字符
ord(x):x为字符,返回unicode编码
字符串常用处理方法
str.upper()|str.lower():将字符串中的字符全部变为大写|小写 *****
str.split('x'):将'x'字符的左右切开,返回一个列表 *****
str.strip([char]):[char]可选,一般不选:主要用于去除字符串str首尾的空格以及转义字符 *****
str.join(str1):将str1中除首尾部分每个字符后都添加上str(如 ','.join('123') )
str.count(x):返回字符串x在字符串str中的次数
str.replace(old_str,new_str):用new_str置换掉str中的old_str
str.center(width[,fillchar]):将字符串长度修改为width长,str居中,剩余部分可加填充物fillchar
str.capital():字符串首字母大写,其余小写
str.swapcase():字符串中大小写交换
str.title():字符串中每个单词的首字母大写
str.find(char):通过char找下标,如果找到了就返回下标,如果没找到就返回-1
str,index(char):通过char找下标,如果找到了就返回下标,如果没找到就报错
集合数据类型
集合基础知识
集合的定义
- 是多个元素的无序组合,是容器型数据类型之一
集合的特点
- 容器型数据类型
- 集合,元组,列表,字典
- 集合数据间无序且唯一
- 集合中数据是无序的,不能是不可变数据类型,但集合本身却是可变数据类型
- 可变数据类型:集合(set),列表(list),字典(dict)
- 不可变数据类型:int , float , bool , str , tuple
- 容器型数据类型
集合的作用
- 数据去重
- 关系测试(交差并补)
- 交:S&T,返回一个集合,包含S与T中相同的元素
- 差:S-T,返回一个集合,包含在S中但不在T中的元素
- 并:S|T,返回一个集合,包含S与T中的所有元素
- 补:S^T,返回一个集合,包含菲S与T中的元素
集合元素操作方法(增,删)
增
s.add(x):向集合中增加元素x
s.update(s1):向集合s中更新s1元素,有相同就只保留一个
删
s.pop():取集合s中的第一个元素,同时更新集合s,若s为空会报错
s.discard(x):删除集合s中的x元素,x元素不在集合内也不会报错
s.remove(x):删除集合s中的x元素,x元素不在集合内会产生KeyError异常
s.clear():移除s中所有元素
其他
s.copy():创建一个s集合的副本
len(s):返回集合s的长度 *****
set(x):将x转换为集合
del(s):删除集合s *****
x in s|x not in s:判断x在不在集合s中,在返回True,不在返回False
元组数据类型
元组基础知识
- 元组定义:元组是序列的一种扩展,可以存储各种数据类型,用( )表示元组的开始和结束,元素之间用' , '分隔,元组只能查看其中的元素,不能增删改其中元素,可以存放比较重要的不能轻易被修改的数据
- 若元组中只有一个元素且没有逗号,那么该元组的类型就是元素本身的数据类型
元组元素操作方法(查)
查:通过下标去查找
t=(1,2,3,'yzh')
print(t[-1]) #通过下标查看
print(t[1:]) #通过切片查看
for i in t: #通过循环查看
print(i)
其他
#合并元组
t1=t1+t2:将t2的数据增加至t1处
#删除元组
del(t):删除整个元组
#函数和方法
tuple(x):将x转化为元组
type(t):返回元组的类型
len(t):返回元组的长度
max(t):返回元组中最大的数,只支持同一种数据类型的数据按ascii码比较
min(t):返回元组中最小的数,只支持同一种数据类型的数据按ascii码比较
t.index(x):返回元组t中x的下标
t.count(x):返回元组t中x的数量
列表数据类型
列表基础知识
- 列表的定义:列表是一种可变的数据类型,可以存放各种数据类型数据,用[ ]表示,元素之间用 ' , '隔开,每个元素下都提供了一个对应的下标
列表元素操作(增 删 查 改)
增
#增加单值
ls.append(x):在列表ls最后一个元素后增加元素x
ls.insert(index,x):在列表ls下标index处插入一个元素x
#增加多值
ls.extend(ls1):将ls1中的数据增加至ls,不会改变ls本身的内存地址
ls=ls+ls1():将ls1中的数据增加至ls,会改变ls本身的内存地址
删
ls.pop():从列表尾取出一个元素,更新列表
ls.remove(x):从列表中删除第一次出现的x
ls.pop(index):删除下标index处所在的元素
ls.clear():清除所有元素
查
#通过值寻找值得下标
ls.index(x[,start[,stop]]):start,stop可选,若x在列表ls中就返回x的下标,若没有就返回ValueError
x in ls:判断元素x是否在ls中,在就返回True,不在就返回False
#通过下标寻找对应得值
ls[m:n:k]:通过下标去查看值
for i in ls:循环查看
改
ls[m:n:k]=key:通过下标寻找值再修改,注意key中得值必须要与修改的值数量一致
其他
list(x):将x的数据类型转化为字符串数据类型
ls1=sorted(ls):对ls中的元素进行排序,同时不改变ls的原本排序
ls.copy():对ls进行副本复制
ls.sort(key=None,reverse=False):对ls中的元素进行排序,但会不改变ls的内存地址。其中key可选,reverse=False时,ls中的元素按从小到大排序,当reverse=True时,ls中的元素按从大到小排序
ls.reverse():将ls中元素进行翻转
ls.count(x):统计ls中x元素的个数
字典数据类型
字典基础知识
- 字典的定义:字典是Python语言中的映射类型,他是以{}括起来,里面的内容是以键值对的形式储存,中间用 : 分隔。字典是可变数据类型,在Python3.5版本之前,字典是无序的,3.6以后是有序
- 字典的特点
- 唯一性:字典中的键必须唯一,若有相同的只会保留最后一个键值对元素
- 不可变性:字典中的键是不可变数据类型,字典中的值可以为任意数据类型
- 列表与字典的对比
- 列表
- 优点
- 能承载多种数据类型,操作方法多,本身灵活,可以存储大量的数据类型
- 缺点
- 如果数据量大的话,他的查询速度比较慢
- 列表只能按照顺序存储,数据与数据之间关联性不强。
- 优点
- 字典
- 优点
- 操作方法多,本身灵活,可以存储大量映射(关联)型数据类型
- 查询速度快
- 缺点
- 内存消耗大
- 优点
- 列表
字典元素操作方法(增 删 查 改)
增
d[key]=value:当为key字典中没有的值时,字典增加元素
d.setfault(k[,v]):k为新增的键,v为新增的值(v可选),当字典d中有k键时,会返回k对应的值
删
d.pop(k[,v]):k为要删除的键,v为对应的值(v可选),当k值不存在时,会返回v值
d.popitem():随即取出一对键值对(3.6版本取出最后一对键值对),以元组类型返回,同时更新字典
d.clear():删除字典中的所有键值对
查
#按键查找
d[key]:通过字典d的键key来寻找对应的值
d.get(k[,v]),k为要查看的键,v为对应的值(v可选),若k存在,则返回对应值,若不存在,则返回v值
#按循环查找
d.keys():以列表的形式返回所有键
d.values():以列表的形式返回所有的键对应的值
d.items():返回键值对列表,键值对以元组的形式返回
改
d[key]=value:key为字典d中存在的键,将key对应的值修改为value
d.update(d1):将d1中的键值对增至d,若键重复则保留最后一个相同键值对
其他
del(d):删除整个字典d
key in d.keys():检查key是否在字典的键中,在就返回True,不在就返回False
d1=d.copy():复制一个d的副本
d.fromkeys(iterable[,value]):生产制定的键值对,键为iterable中的元素,对应的值都为value
运算符优先级
身份运算符
运算符 | 描述 |
---|---|
is | 用于判断是不是引自一个对象(内存地址是否不一致),一致返回True,不一致返回False |
is not | 用于判断是不是引自一个对象(内存地址是否不一致),不一致返回True,一致返回False |
成员运算符
运算符 | 描述 |
---|---|
in | 如果在指定序列中找到该值,就返回True,否则返回False |
not in | 如果在指定序列中没有找到该值,就返回True,否则返回False |
逻辑运算符
运算符 | 中文名称 | 描述 |
---|---|---|
and | 与 | 只有当两侧逻辑值都为1时结果才为1,其他情况为0 |
or | 或 | 只有两侧逻辑值有一个为1结果就为1 |
not | 非 | 对逻辑值取反 |
比较运算符
运算符 | 中文名称 | 描述 |
---|---|---|
> | 大于 | x>y;x的值大于y就返回True,否则返回False |
< | 小于 | x<y;x的值小于y就返回True,否则返回False |
== | 等于 | x==y;x的值等于y就返回True,否则返回False |
!= | 不等于 | x!=y;x的值不等于y就返回True,否则返回False |
>= | 大于等于 | x>=y;x的值大于等于y就返回True,否则返回False |
<= | 小于等于 | x<=y;x的值小于等于y就返回True,否则返回False |
赋值运算符
运算符 | 中文名称 | 描述 |
---|---|---|
= | 简单赋值 | —— |
+= | 加法赋值 | x+=y等于x=x+y |
-= | 减法赋值 | x-=y等于x=x - y |
*= | 乘法赋值 | x* =y等于x=x *y |
/= | 除法赋值 | x/ =y等于x=x /y |
//= | 取整赋值 | x// =y等于x=x //y |
**= | 取幂赋值 | x** =y等于x=x **y |
%= | 取余赋值 | x%=y等于x=x %y |
<<= | 左移位赋值 | x<<=m等于x=x <<m |
>>= | 右移位赋值 | x>>=m等于x=x >>m |
&= | 位与赋值 | x&=y等于x=x &y |
|= | 位或赋值 | x|=y等于x=x |y |
^= | 位异或赋值 | x^=y等于x=x ^y |
优先级表
优先级顺序 | 运算符 | 运算符名称 |
---|---|---|
1 | ** | 幂运算 |
2 | ~ + - | 按位反转 正数符号,负数符号 |
3 | * / // % | 算术运算符的乘 除 整除 取余 |
4 | + - | 算术运算符的加 减 |
5 | << >> | 位运算符的左移 右移 |
6 | & | 位运算符的与 |
7 | | ^ | 位运算符的或 异或 |
8 | == != <= >= < > | 比较运算符 |
9 | = += -= *= /= //= %= **= | 赋值运算符 |
10 | is is not | 身份运算符 |
11 | in not in | 成员运算符 |
12 | and or not | 逻辑运算符 |
你想了解的python基础数据类型这里都有的更多相关文章
- Python基础数据类型-字符串(string)
Python基础数据类型-字符串(string) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客使用的是Python3.6版本,以及以后分享的每一篇都是Python3.x版 ...
- python基础数据类型考试题
Python基础数据类型考试题 考试时间:两个半小时 满分100分(80分以上包含80分及格) 一,基础题. 1,简述变量命名规范(3分) 2,字节和位的关系 ...
- 1--Python 入门--Python基础数据类型
一.Python基础语法 初次使用Python,首先要明确三点: Python的标识符(例如变量名.函数名等),可用字母.数字和下划线构成,不能以数字开头,且区分大小写. Python对于缩进敏感.在 ...
- 老男孩Python==基础数据类型考试题
转载 # Python基础数据类型考试题 # 考试时间:两个半小时 满分100分(80分以上包含80分及格) # 一,基础题. # 1, 简述变量命名规范(3分) # 1.变量由字母.数字.下划线任意 ...
- python基础数据类型1
python基础数据类型1 part1: ''' ''': 三个单引号用于换行的字符串 字符串可以相加(拼接)相乘(重复) 在Python中没有一个专门的语法代表常量,程序员约定俗成用变量名全部大写代 ...
- Python基础数据类型-列表(list)和元组(tuple)和集合(set)
Python基础数据类型-列表(list)和元组(tuple)和集合(set) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客使用的是Python3.6版本,以及以后分享的 ...
- python 基础数据类型之list
python 基础数据类型之list: 1.列表的创建 list1 = ['hello', 'world', 1997, 2000] list2 = [1, 2, 3, 4, 5 ] list3 = ...
- Python基础数据类型-字典(dict)
Python基础数据类型-字典(dict) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客使用的是Python3.6版本,以及以后分享的每一篇都是Python3.x版本的哟 ...
- Python基础数据类型题
Python基础数据类型 题考试时间:三个小时 满分100分(80分以上包含80分及格)1,简述变量命名规范(3分) 1.必须是字母,数字,下划线的任意组合. 2.不能是数字开头 3.不能是pytho ...
随机推荐
- 作业九——DFA最小化,语法分析初步
- opencv-10-图像滤波-噪声添加与均值滤波-含opencv C++ 代码实现
开始之前 再说上一篇文章中, 我们想按照噪声产生, 然后将降噪的, 但是限于篇幅, 我就放在这一篇里面了, 说起图像的噪声问题就又回到了我们上一章的内容, 把噪声当作信号处理, 实际上数字图像处理实际 ...
- Vant Weapp小程序蹲坑之使用card组件显示价格
问题 在基于mpvue+Vant Weapp组件库实战过程中,问题越来越多.网络上所谓的"坑"总结,仅仅不过是其开发中所遭所遇之"坑"而已--估计后面的&quo ...
- PPT模板素材
http://588ku.com/sucai/0-dnum-0-54-0-1/
- ip地址与运算 ipcalc命令
http://man.linuxde.net/ipcalc 转载于:https://blog.51cto.com/sonlich/2064133
- POJ 1170 Shopping Offers非状态压缩做法
Shopping Offers Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 5659 Accepted: 2361 Descr ...
- win7乱码问题解决方法(cmd变小,plsql客户端乱码)
1.点击控制面板:时钟.语言和区域:区域和语言:管理点击更改系统区域设置,选中英语(英国):重启 2.点击控制面板:时钟.语言和区域:区域和语言:管理点击更改系统区域设置,选中中文(简体,中国):重启 ...
- 将A页面提交的数据id传递到B页面
A页面 在A页面跳转到B页面的时候,在url后面可以拼接参数 例如: window.location.href = './B.html?' + id; 跳转到B页面之后,可以通过url地址获取到从A页 ...
- 推荐一款Python数据可视化神器
1. 前言 在日常工作中,为了更直观的发现数据中隐藏的规律,察觉到变量之间的互动关系,人们常常借助可视化帮助我们更好的给他人解释现象,做到一图胜千文的说明效果. 在Python中,常见的数据可视化库有 ...
- 补 第三场多校杭电 费用流 K Subsequence
K Subsequence 这个题目是这个人想吃东西,但是他每次吃的都是他的美味值都必须不递减,可以吃k次,问这个最大的美味值是多少. 这个是一个比较明显的费用流,建图也很好建,但是呢,这个题目卡sp ...