Python-数据类型

官方文档:https://docs.python.org/zh-cn/3/

一、基础数据类型

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、 布尔值

布尔值用TrueFalse表示

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)
Last modification:February 20th, 2020 at 03:52 pm