zoukankan      html  css  js  c++  java
  • 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 逻辑运算符
  • 相关阅读:
    Docker镜像仓库的搭建--> Harbor篇
    K8S入门系列之扩展组件 --> Dashboard (五)
    K8S入门系列之必备扩展组件--> coredns(四)
    K8S入门系列之集群二进制部署--> node篇(三)
    K8S入门系列之集群二进制部署--> master篇(二)
    K8S入门系列之集群yum安装-->初试篇(一)
    zabbix 4.2 的安装和设置(mysql57----centos7)
    SVN--服务端安装和设置---centos7
    Docker(二) Dockerfile 使用介绍
    二叉搜索树JavaScript实现
  • 原文地址:https://www.cnblogs.com/Programmatic-yuan/p/12920180.html
Copyright © 2011-2022 走看看