本文总结python语言中基本的数据类型,包括(int,bool,str,list,tuple,set,dict,none,float)数据类型的方法(独有功能,公有功能)。
虽然内容多且繁琐,但只需记忆常用的知识点。(文章2W字,根据目录索引)
独有功能: 数据类型.功能名称(......)(n表示数字;x代表字符串;i表示索引;k表示键;v表示值)
公有功能:表示加减乘除,len()求长度,索引,循环遍历等
目录
数据类型 | 定义,转换 | 能否索引 | 能否修改/hash(x) | 其他特点 | 区分 | |
---|---|---|---|---|---|---|
整型 | int | a = int() | 否 | 不可变 | 十进制整数统称 | 存储单个数据的最小单位。 不可变类型内部数据无法修改。 |
布尔 | bool | a = bool() | 否 | 不可变 | 表示真True/假False | |
字符串 | str | a = str() | 有序 | 不可变 | 引号内的信息 | |
列表 | list | a = list() a = [] |
有序 | 可变(不可哈希) | 有序:可以索引切片操作, 可变:可以修改 |
存储多个数据的容器。 可变类型内部数据可以修改 (读取,增加,删除,修改) |
元组 | tuple | a = tuple() a = ( ,) |
有序 | 不可变 | 在最后一个元素后加","用于标识元组。 | |
集合 | set | a = set() | 无序 | 可变(不可哈希) | (子)元素必须可哈希,元素不能重复(去重)。 | |
字典 | dict | a = dict() a = {} |
无序 | 可变(不可哈希) | 键必须可哈希,键不重复,元素以键值对形式存放。(简洁格式) | |
空值 | None | a = None | 否 | 不可变 | 表示”空“ | 其他编程语言: 数组:存储相同数据类型的容器。 NULL:表示空 |
浮点 | float | a = float() | 否 | 不可变 | 表示小数 |
补充:对于不可变类型(str),不能修改原来的值,只能通过新创建数据来定义新值;只要有序,就能通过索引取值,同样可以通过切片取值;
对于可变类型(list),一般不会创建,可以直接修改原来的值;只要有序,不仅通过索引取值(读),而且可以修改删除元素,同样可以通过切片取值修改删除元素;
无序的数据类型,不可以索引;但是字典可以通过键来索引。
不可变的数据类型不可以修改;但是元组的内部嵌套可变类型时可以改变内部元素的元素。
##用in检查元素是否在list,tuple中,只能逐一多次比较,效率很低;
##相比,set,dict就会比较快,转为哈希值,比较一次位置,效率高。
任何类型都可以转化为bool类型:0,''(空字符串),None,空容器为false;其他为true。
int类型
独有功能:
value = 12
print(bin(value)) #输出值的二进制表示
#0b1100
num = value.bit_length() #求数值的二进制有多少位
print(num)
#4
公有功能 :加减乘除
bool类型
没有特别的独有功能;
公有功能:加减乘除
v1 = True + True #True为1,False为0,再运算
print(v1)
#2
str类型
独有功能
大概有48个,下面介绍常用的22个:
一、判断字符串是否以xx开头,.startswith(xx)
二、判断字符串是否以xx开头,.endswith(xx)
#判断是否为陕西人,是否为农村人。
text = input('请输入你的家乡:')
#输入:陕西省榆林市横山区
if text.startswith('陕西'): #判断字符串是否以xx开头
#if True 执行下面输出语句
print('你是陕西人')
if text.endswith('村' or '队'): #判断字符串是否以xx结尾
#if False不会执行输出语句
print('你是农村人')
三、判断字符串是否为十进制数,.isdecimal()
#输入两个数相加
num1 = input('请输入数字:')
num2 = input('请输入数字:')
if num1.isdecimal() and num2.isdecimal(): #判断字符串是否为十进制数
print(int(num1)+int(num2))
else:
print('输入错误')
#.isdigit()会判断 ① 也为True
四、去除字符串两边的空格,.strip()
五、去除字符串左边的空格,.lstrip()
六、去除字符串右边的空格,.rstrip()
七、去除字符串两边(左边、右边)指定的内容,.strip('xx')
text = ' 林北 是个 大帅哥 '
print(text.strip()) #去除两边的空格
print(text.lstrip()) #去除zuo边的空格
print(text.rstrip()) #去除you边的空格
print(text.strip('大帅哥 ')) #去除两边指定xx内容
#输出:(*代表空格位置)
'''
林北***是个*大帅哥
林北***是个*大帅哥**
**林北***是个*大帅哥
林北***是个*
'''
八、将字母变为大写,.upper()
九、将字母变为小写,.lower()
十、将首字母大写,.capitalize()
#完成验证码的判断(不区分大小写),去除错误输入的空格.
code = input('请输入验证码:')
#输入: heLIN
date = code.strip() #去除两边的空格
value = date.upper() #将原字符串字母变为大写
print(value)
#HELIN
if value == 'HELIN':
print('验证成功')
else:
print('验证失败')
value = code.strip().lower() #将原字符串字母变为小写
print(value)
#helin
value = value.capitalize() #将原字符串首字母变为大写
print(value)
#Helin
十一、字符串内容的替换,将字符串的A替换为B、.replace('A','B')
#完成敏感词的替换
name = input('请输入评论:')
value = name.replace('sb', '**') #将字符串中的a替换为b
value = value.replace('cao', '***')
print(value)
#完成多个敏感词的替换
name = input('请输入评论:')
char_list =['sb','cao','马','草','板子']
for i in char_list:
name = name.replace(i, '**')
print(name)
十二、字符串内容分割为(列表),将字符串中的内容根据'xx'分割,.split('xx')
十三、从左边有次数的切割,.spilt('x',n)
十四、从右边有次数的切割,.rspilt('x',n)
#对字符串根据','进行切割
info = '请叫,我,男神'
user_list = info.split(',') #将字符串中的内容根据'xx'分割
print(user_list)
#['请叫', '我', '男神']
print(user_list[2])
#男神
value = info.replace(',', '|')
print(value)
#请叫|我|男神
result = value.split('|',1) #切割1次
print(result)
#['请叫', '我|男神']
result = value.rsplit('|',1) #将字符串从右边切割1次
print(result)
#['请叫|我', '男神']
#查看文件后缀名
file_path = 'D:\lx\study_python.py'
print(file_path.rsplit