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基础数据类型这里都有的更多相关文章

  1. Python基础数据类型-字符串(string)

    Python基础数据类型-字符串(string) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客使用的是Python3.6版本,以及以后分享的每一篇都是Python3.x版 ...

  2. python基础数据类型考试题

    Python基础数据类型考试题 考试时间:两个半小时                      满分100分(80分以上包含80分及格) 一,基础题. 1,简述变量命名规范(3分) 2,字节和位的关系 ...

  3. 1--Python 入门--Python基础数据类型

    一.Python基础语法 初次使用Python,首先要明确三点: Python的标识符(例如变量名.函数名等),可用字母.数字和下划线构成,不能以数字开头,且区分大小写. Python对于缩进敏感.在 ...

  4. 老男孩Python==基础数据类型考试题

    转载 # Python基础数据类型考试题 # 考试时间:两个半小时 满分100分(80分以上包含80分及格) # 一,基础题. # 1, 简述变量命名规范(3分) # 1.变量由字母.数字.下划线任意 ...

  5. python基础数据类型1

    python基础数据类型1 part1: ''' ''': 三个单引号用于换行的字符串 字符串可以相加(拼接)相乘(重复) 在Python中没有一个专门的语法代表常量,程序员约定俗成用变量名全部大写代 ...

  6. Python基础数据类型-列表(list)和元组(tuple)和集合(set)

    Python基础数据类型-列表(list)和元组(tuple)和集合(set) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客使用的是Python3.6版本,以及以后分享的 ...

  7. python 基础数据类型之list

    python 基础数据类型之list: 1.列表的创建 list1 = ['hello', 'world', 1997, 2000] list2 = [1, 2, 3, 4, 5 ] list3 = ...

  8. Python基础数据类型-字典(dict)

    Python基础数据类型-字典(dict) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客使用的是Python3.6版本,以及以后分享的每一篇都是Python3.x版本的哟 ...

  9. Python基础数据类型题

    Python基础数据类型 题考试时间:三个小时 满分100分(80分以上包含80分及格)1,简述变量命名规范(3分) 1.必须是字母,数字,下划线的任意组合. 2.不能是数字开头 3.不能是pytho ...

随机推荐

  1. poj_2393 Yogurt factory 贪心

    Yogurt factory Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 16669   Accepted: 8176 D ...

  2. 怎么查看当前的git分支是基于哪个分支创建的?

    2019独角兽企业重金招聘Python工程师标准>>> Question: 比如从 branch A 切出一个 branch B 然后对branch B做了一系列的操作 然后忘记了b ...

  3. 翻译 - Kafka Streams 介绍(一)

    2019独角兽企业重金招聘Python工程师标准>>> 资料 [原文地址](http://kafka.apache.org/11/documentation/streams/) 正文 ...

  4. JavaScript实现选择排序

    一.选择排序简介 **冒泡排序.插入排序.选择排序合称为简单排序.**下面是选择排序的思想: 假设有一个数组a,我们想象成有一个班级名叫a班,现在全班随意排成一排,排头的位置是a[0],排尾的位置是a ...

  5. localStorage和cookie的跨域解决方案

    原文转自:点我 前言 localStorage和cookie大家都用过,我前面也有文章介绍过,跨域大家也都了解,我前面也有文章详细描述过.但是localStorage和cookie的跨域问题,好多小伙 ...

  6. 上传组件Fine Uploader在ASP.NET中的应用

    现如今,世面上流行着许多前端上传组件,例如:Uploadify(http://www.uploadify.com/),Fine Uploader,等等.这篇博客从头开始,介绍如何在ASP.NET MV ...

  7. mock 处理接口依赖

    1.输出配置文件如下 login.json [{ "request": { "uri": "/login", "method&qu ...

  8. pycharm(py 文件中添加作者、时间)

    1.打开 Pycharm,点击 File,再找到 Settings... 2.选择 Editor ----> File and Code Templates ----> Python Sc ...

  9. 题解 CF545A 【Toy Cars】

    题目传送门 太弱了,只能写写A题的题解 题意 给你一个 $n·n$ 的矩阵,翻车分三种情况: 如果 $a_i,_j=1$ ,记录第 $i$ 辆车 如果 $a_i,_j=2$ ,记录第 $j$ 辆车 如 ...

  10. 多线程高并发编程(7) -- Future源码分析

    一.概念 A Future计算的结果. 提供方法来检查计算是否完成,等待其完成,并检索计算结果. 结果只能在计算完成后使用方法get进行检索,如有必要,阻塞,直到准备就绪. 取消由cancel方法执行 ...