python基础之数据类型及相关方法

一、概论

Ⅰ.前言

  • 1.python支持一种数据结构的基本概念是容器,容器是可包含其他对象的对象,两种主要容器有序列(列表和元组),映射(字典)。但是集合既不是序列也不是映射的容器

Ⅱ.通用操作

  • 1.索引:python中最基本的数据结构是序列,序列中每个元素都有编号,即位置或者索引,在映射中称键,左边从0开始,右边-1开始。
  • 2.切片:适用于字符串,列表,元组
    • 1)切片使用索引值来限定范围,从一个大的字符串中切出小的字符串
    • 2)格式: 字符串[开始索引:结束索引:步长]
    • 3)注意点:
      • 指定区间是左闭右开型,从起始位置开始,结束位的前一位结束(不包含结束位本身)
      • 从头开始,开始索引 数字可以省略,冒号不能省略
      • 到末尾结束,结束索引 数字可以省略,冒号不能省略
      • 步长默认为 1,如果连续切片,数字和冒号都可以省略
      • 倒序的话,就从-1开始,依次递减
  • 3.相加:拼接序列,但是不能拼接列表和字符串。
  • 4.相乘:重复这个序列
  • 5.成员运算符(in / not in):测试 序列中是否包含指定的成员,对字典操作时,判断的是字典的键

Ⅲ.内置函数

  • len(item):计算容器中元素个数
  • del(item):删除是变量不是数据
  • max(item):返回容器中元素最大值,如果是字典,只针对 key 比较
  • min(item):返回容器中元素最小值 ,如果是字典,只针对 key 比较
  • type(item) :查看容器数据类型
  • id() :查看变量的位置
  • list(), dict(),str() ,tuple() :各数据类型的创建函数也是转换函数
    • [注]:如果是 数字型,int(),float()进行数据转换

二、字符串

Ⅰ.创建

  • 1.使用引号(单引号或双引号或三引号)创建字符串
	# 定义一个字符串
	a = '子明'
	a = "子明"
	a = '''子明'''
  • 2.变量赋值过程示意图
  • 在这里插入图片描述

Ⅱ.运算符

在这里插入图片描述
*【注】:格式化下面单独详解

Ⅲ.字符串格式化

  • 1.基本用法:将一个值插入到一个有字符串格式符(%s)的字符串中
	print ("我叫 %s !" % '子明' )
	print ("我叫 %s 今年 %d 岁!" % ('子明', 20))

*【注】详细的字符串格式化符号如下:
在这里插入图片描述

  • 2.format() 方法格式化’
    // 调用format方法,并提供要设置格式的值,去替换用花括号括起来的替换字段,替换字段由三部分组成:
    • (1)字段名:索引或表示符,指出设置哪个值的格式,并使用结果来替换该字段,也可指定特殊部分,如列表的元素。
      • 只需向format提供要设置的未命名参数,并在格式字符串中使用未命名字段,此时顺序将字段和参数匹配,也可以给参数指定名称。
        >>> " {foot}  { }  {bar}  { } ".format(1,2,bar=4,foot=3)    
             '3,2,4,1'
        
      • 还可以通过索引指定要在哪个字段中使用相应的未命名参数
        >>> " {foot}  {1}  {bar}  {0} ".format(1,2,bar=4,foot=3) 
           '3,2,4,1'
        
    • (2)转换标志:感叹号后面的单个字符,包括r(repr),s(str) 和 a(ASCII)
      • Str 创建外观普通的字符串版本(对字符串不做任何处理),repr创建给定值的python表示,a便是ASCII表示。
      • *[注]:pi = π
       	>>>print( “{pi ! a}  {pi ! s}  {pi ! r}”.format(pi=”π”))  
       	  '\u03c0'  π  'π'
      
    • (3)格式说明符:冒号后面的表达式,包括格式类型(如字符串,浮点型或十六进制),字段宽度和数的精度,如何显示符号和千位分隔符,以及对齐和填充方式。
      • 一般用格式说明(冒号后面)使用字符表示要转换的值类型
       	>>> "the number is {num:f}".format(num=42)
       		'the number is 42.000000'
      
      *【注】字符串格式设置中的类型说明符
      在这里插入图片描述
      在这里插入图片描述
      • . 宽度,精度和千位分隔符
      	 >>> "pi  day is  {pi : 10.2f }".format(pi=pi) 
      	        '        3.14'
      	 >>> " { name:10 }". format (name="Bob")    // 很显然数字和字符串对齐方式不同
      	       'Bob       '                        
      
      【分析】 :10表示宽度 .2表示精度 f表示格式说明 如果冒号( ; )后面是逗号( ,)表示添加千位符(每隔3位数一个逗号)
      • 符号,对齐和用0填充
        • 在宽度和精度前面加一个标志,这个标志可以是零,加号,减号和空格

          • 用0填充 (pi = π)
          >>> ' { : 010.2f } '.format(pi) 
          	 '0000003.14'  
          
          • 要指定左对齐,右对齐和居中,分别使用< > 和^,还可以用填充字符来扩充对齐说明符,比如美元符号$
            在这里插入图片描述

          【分析】 而冒号前面的0或1,表示和这个值是正还是负,也可以直接在冒号用+或-来表示。冒号后面也能是=号,将指定填充字符放在符号和数字之前。#号,将触发另外一种转换方式,对于二,八,十六进制,将加一个前缀。对于十进制,必须包含小数点(对于类型g,保留小数点后面的零)

          >>>  "{:b}".format(42)  
          	 '101010'
          >>>  "{:#b}".format(42) 
          	 '0b101010'
          

Ⅳ.常用操作

1.判断类型

  • isspace() 如果 string 中只包含空格,则返回 True
  • isalnum() 如果 string 至少有一个字符并且所有字符都是字母或数字则返回 True
  • isalpha() 如果 string 至少有一个字符并且所有字符都是字母则返回 True
  • isdecimal() 如果 string 只包含数字则返回 True,全角数字
  • string.isdigit() 如果 string 只包含数字则返回 True,全角数字、⑴、\u00b2
  • isnumeric() 如果 string 只包含数字则返回 True,全角数字,汉字数字
  • istitle()如果 string 是标题化的(每个单词的首字母大写)则返回 True
  • islower() 如果 string 中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是小写,则返回 True
    - isupper() 如果 string 中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是大写,则返回 True

2.查找和替换

  • startswith(str) 检查字符串是否是以 str 开头,是则返回 True
  • endswith(str) 检查字符串是否是以 str 结束,是则返回 True
  • find(str, start=0, end=len(string))检测 str 是否包含在 string 中,如果 start 和 end 指定范围,则检查是否包含在指定范围内,如果是返回开始的索引值,否则返回 -1
  • rfind(str, start=0, end=len(string))类似于 find(),不过是从右边开始查找
  • index(str, start=0, end=len(string))跟 find() 方法类似,不过如果 str 不在 string 会报错
  • rindex(str, start=0, end=len(string))类似于 index(),不过是从右边开始
  • replace(oldstr, newstr, num=string.count(old))把 string 中的 oldstr 替换成 newstr,如果 num 指定,则替换不超过 num 次
  • count(str)计算子串str出现的次数

3.大小写转换

  • capitalize() 把字符串的第一个字符大写
  • title() 把字符串的每个单词首字母大写
  • lower() 转换 string 中所有大写字符为小写
  • upper() 转换 string 中的小写字母为大写
  • swapcase()翻转 string 中的大小写

4.文本对齐

  • ljust(width) 返回一个原字符串左对齐,并使用空格填充至长度 width 的新字符串
  • rjust(width) 返回一个原字符串右对齐,并使用空格填充至长度 width 的新字符串
  • center(width)返回一个原字符串居中,并使用空格填充至长度 width 的新字符串

5.去除空白字符

  • lstrip() 截掉 string 左边(开始)的空白字符
  • rstrip() 截掉 string 右边(末尾)的空白字符
  • strip() 截掉 string 左右两边的空白字符

6.拆分和连接

  • partition(str) 把字符串 string 分成一个 3 元素的元组 (str前面, str, str后面)
  • rpartition(str) 类似于 partition() 方法,不过是从右边开始查找
  • split(str="", num)以 str 为分隔符拆分 string,如果 num 有指定值,则仅分隔 num + 1 个子字符串,str 默认包含 ‘\r’, ‘\t’, ‘\n’ 和空格
  • splitlines()按照行(’\r’, ‘\n’, ‘\r\n’)分隔,返回一个包含各行作为元素的列表
  • join(seq) 以 string 作为分隔符,将 seq 中所有的元素(的字符串表示)合并为一个新的字符串

三、列表、元组

Ⅰ.定义及创建

  • 列表定义:方括号,元素以逗号隔开
  • 元组定义:小括号,元素以逗号隔开
  • 列表创建:name = list() 或 [] 或 [1,2] 或 [1,[1,2]]
  • 元组创建:name = tuple() 或()或 (1,2)或(1,,1,2))

Ⅱ.特点

  • 列表:可修改,可重复,可嵌套,支持多种数据
  • 元组:不可修改,可重复,可嵌套,支持多种数据

Ⅲ.基本操作

在这里插入图片描述

四、字典

Ⅰ.定义及创建

  • 定义:花括号,键值对用冒号隔开,每对之间逗号隔开
  • 创建:name = dict() 或 {} 或 dict(name = ‘lucy’,age=18)或 dict([(‘name’,‘Tom’),(‘age’,12)])

Ⅱ.特点

  • 无序,键唯一(去重),可嵌套,键是不可变类型数据

Ⅲ.基本操作

    • update() : 使用字典里的项更新另一个字典
    • clear() : 删除所有字典项
    • pop() : 获取并删除指定键相关联的值
  • 改 list_name[键] = 值
    • get() :访问字典项,访问不存在的键,返回None,也可以是你指定的值,访问存在的键

五、集合

Ⅰ.定义及创建

  • 定义:花括号,元素以逗号隔开
  • 创建 :{ } 或 set() 空集合只能是set函数创建,{}是创建字典的

Ⅱ.特点

  • 无序,不重复,元素不可变

Ⅲ.基本操作

    • add():将元素添加到集合当中,如果元素存在,则不进行任何操作
    • update() : 更新集合
    • remove() : 将元素从集合中移除,如果元素不存在,则会发生错误
    • discard() : 移除集合中的元素,且如果元素不存在,不会发生错误
    • pop() : 随机删除一个元素
    • clear() : 清空集合

[^1] 各种数据类型的基本方法列举在这,另外还有些内置函数,如果要用到,自己到官方文档查询即可

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值