Python-数据类型
一、基础数据类型
1. 字符串
通过单引号''
或者双引号""
引起来,效果是一样的。
>>> print("test")
test
>>> print('test')
test
当字符串中出现'
或者"
时,可以通过转义符 \
来标识
>>> print("A \" B")
A " B
通过r''
取消转义 ; 或者通过\\
表示\
>>> print('\\\test\\') #转义
\ est\
>>> print(r'\\\test\\') #取消转义
\\\test\\
>>> print('test\\test') #两个\\表示一个\
test\test
如果有很多字符需要转义可以使用三引号'''
或"""
指定一个多行字符串.
>>> print("""test1
... test2
... test3""")
test1
test2
test3
Python 中的字符串有两种索引方式,从左往右以 0 开始,从右往左以 -1 开始。
>>> name=input()
tiger
>>> print(name[0])
t
>>> print(name[-1])
r
Python 没有单独的字符类型,一个字符就是长度为 1 的字符串
字符串常用操作
切片
a="abcdeft"
print(a[0:3]) #abc
print(a[1:2]) #b
print(a[1:-1]) #bcdef
print(a[0:5:2]) #ace
print(a[::-1]) #tfedcba
常见操作
#首字母大写
"i am tiger".capitalize() # I am tiger
"i am tiger".title() # I Am Tiger
#大小写转换
"Test".upper() #TEST
"Test".lower() #test
"Test".swapcase() #tEST
#补全
"Test".center(30,"*")
"Test".ljust(30,"*")
"Test".rjust(30,"*")
#删除多余空格
" Test ".strip()
" Test ".lstrip()
" Test ".rstrip()
#统计字符出现次数
"aabc".count('a')
#字符查找,找到则返回第一个字符下标,找不到则返回-1
"abc".find("bc")
#字符判断
a="abc123"
a.isalnum() #是否只是有数字和字母构成
a.isalpha() #是否只是由字母构成
a.isdigit() #是否只是由数字构成
a.islower()
a.isnumeric()
a.isspace()
#字符替换
"abc".replace("ab","")
2、 布尔值
布尔值用True
和False
表示
3、空值
使用None
表示
二、集合
1、列表-list
list
中的元素的数据类型可以不同,list
中可以添加list
语法
list1 = ['a','b','c']
list2 = ['a','b','c', 1, 2]
list3 = ['a', 'b', [1, 2, 3]]
遍历
test=['a','b','c','d','e']
for i in test:
print(i)
for i,j in enumerate(test):
print(i,j)
常用操作
list1=['a','b','c']
#增
list1.append('d')
list1.insert(0,'e')
#删
list1.remove('b')
del list1[1]
list1.pop(1)
list1.clear()
#获取元素个数
len(list1)
list1.__len__()
#统计元素出现的次数
list1.count('c')
#列表合并
list1.extend(list2)
listNew=list1 + list2
#列表反转
os_list.reverse()
list1[::-1]
2、元组-tuple
与
list
非常相似,但是一旦初始化后就不能修改“指向不变”,元组是不可以变的,但是元组内的列表是可变的。
tuple1=(1,2,3)
3、字典-dict
同一个字典的键可以是不同类型
通过
key
来找value
,底层是hash表
,查找速度快
语法
dict1={
"user01":"name1",
"user02":"name2",
"user03":"name3",
1:"test1",
2:222
}
常用操作
dict1={1:"111",2:"222"}
#增
dict1[3]="333"
#删
dict1.pop("1")
dict1.pop(1)
dict1.clear()
#判断是否存在某个 key
"user21" in dict1
#如果有这个key,则不改变,否则添加该key和value
dict1.setdefault(1,"111")
#将dict2更新到dict1,如果有则修改,没有则添加
dict1.update(dict2)
遍历
dict1.keys()
dict1.values()
dict1.items()
for k,v in dict1.items():
print(k,v)
for i in dict1:
print(i,dict1[i])
排序
#根据键排序
sorted(dict1,reverse=True)
#根据值排序
sorted(dict1,key=dict1.__getitem__)
4、集合-set
set
中元素是不重复的
set
是无序的,所以不能通过下标来查询和修改元素
语法
set1 = { 1,2,3 }
常用操作
set1={'a','b','c'}
set2={'a','b','d'}
#增
set1.add("test")
set1.update(["t1","t2","t3"])
#删除
set1.remove('a') #元素不存在时,会报错
set1.discard('aaa') #元素不存在时,不会报错
#交集
print(set1.intersection(set2))
print(set1 & set2)
#并集
print(set1.union(set2))
print(set1 | set2)
#差集
print(set1.difference(set2))
print(set1 - set2)
#对称差集
print(set1.symmetric_difference(set2))
print(set1 ^ set2)
总结
字符串,列表,元组都
有
下标。字典,集合没有
下标数字,字符串,元组是
不可变
类型。列表,字典,集合是可变
类型列表,字典,集合可以做增删操作
列表,字典可以修改里面的元素, 但集合不可以修改里面的元素。
小括号
()
用于定义元组中括号
[]
用于定义列表大括号
{}
用于定义字典和集合
三、类型转换
# 要换的数据类型(要转换的变量)
int(xxx)
float(xxx)
str(xxx)
list(xxx)
tuple(xxx)
dict(xxx)
set(xxx)
chr(xxx)
ord(xxx)