你想了解的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 ...
随机推荐
- ajax轮询思路
以我个人理解 ,ajax短轮询就是用定时器,定时请求数据库,然后把有用的数据做处理 ajax长轮询恩 就是在 ajax回调函数,继续调用ajax请求
- 用Python来揭秘吃瓜群众是如何看待罗志祥事件的
前言 最近娱乐圈可以说得上是热闹非凡,前有霸道总裁爱小三,正宫撕逼网红女,后有阳光大男孩罗志祥,被周扬青扒的名声扫地.贵圈的爱情故事,常人是难以理解的,正如贾旭明张康这段相声所说的这样,娱乐圈的爱情总 ...
- 利用python画出动态高优先权优先调度
之前写过一个文章. 利用python画出SJF调度图 动态高度优先权优先调度 动态优先权调度算法,以就绪队列中各个进程的优先权作为进程调度的依据.各个进程的优先权在创建进程时所赋予,随着进程的推进或其 ...
- phpsocket.io
https://github.com/walkor/phpsocket.io phpsocket.io A server side alternative implementation of sock ...
- P1465 序言页码 Preface Numbering (手推)
题目描述 一类书的序言是以罗马数字标页码的.传统罗马数字用单个字母表示特定的数值,以下是标准数字表: I 1 V 5 X 10 L 50 C 100 D 500 M 1000 最多3个同样的可以表示为 ...
- 图论--边双连通V-DCC缩点
// tarjan算法求无向图的割点.点双连通分量并缩点 #include<iostream> #include<cstdio> #include<cstring> ...
- USB设备驱动模型
嵌入式设备驱动的编写,基本上都要按照一定的驱动模型编写.不这么做的话,一旦设备发生了更新和改变,大部分的驱动代码都要推倒重来,代码的重用率低,不具备移植性.所以在新版linux2.6.22以后的内核版 ...
- 题解 P2261【[CQOI2007]余数求和】
P2261[[CQOI2007]余数求和] 蒟蒻终于不看题解写出了一个很水的蓝题,然而题解不能交了 虽然还看了一下自己之前的博客 题目要求: \[\sum_{i=1}^{n}{k \bmod i} \ ...
- MySQL Windows 环境安装
1.下载 MySQL Windows 安装包 下载地址:https://downloads.mysql.com/archives/installer/ 我这个是 MySQL 5.7 版本 2.直接双击 ...
- git的下载与安装
Git的下载地址:https://git-scm.com/download/win 第一步:根据自己电脑的位数下载Git 第二步:下载安装包,放到指定的文件夹 第三步:更换路径安装Git(也可以放在C ...