Python标准数据类型
在六大标准数据类型之中,数字类型,字符串与元组为不可变数据类型。
字符串(String)
字符串的连接
s1 = "shining"
s2 = " lee"
s3 = s1 + s2
print(s3)
s4 = s3*3
print(s4)
#字符串进行连接时,+两边为字符串,否则会报做
num1 = 100
s5 = s1 + num1
print(s5)
#运行结果
Traceback (most recent call last):
s5 = s1 + num1
TypeError: can only concatenate str (not "int") to str
shining lee
shining leeshining leeshining lee
字符串格式化
print("我是%s,今年%d岁!"%("小明",21))
print("我是{},今年{}!".format("小明",21))
字符串的索引与切片
s = "abcdef"
print(s[0]) #利用索引获取字符串中的字符
print(s[-1]
#当索引超出字符串界限时会产生报错
s = "abcdef"
#遵循左闭右开原则
print(s[-1:-3:-1])
字符串常用的方法
s = "abcDEF"
print(len(s)) #获取字符串长度
# print(len(s.strip())) #去字符串前后的空格
# print(s.capitalize()) #将字符串首字母转化为大写,其他转换为小写
# print(s.find("cd")) #匹配字符串中是否存在,返回第一个字符所在位置
# print(s.startswith("ab")) #判断字符串是否以此开头
# print(s.endswith("ef"))
# print(s.center(10, "*")) #填充字符串
# print(s.isdigit()) #判断字符串是否为数字
# print(s.isalpha()) #判断字符串是否为数字
# print(s.isalnum()) #判断字符串是否为字母和数字
# print(s.upper()) #转换为大写字母
# print(s.lower()) #转换为小写字母
可变字符串
from io import StringIO
s6 = StringIO("shining lee") #创建可变字符串
s6.seek(0,2) #移动指针至字符串末尾
s6.write(" python") #添加内容
print(s6.getvalue()) #获取字符串内容
列表(List)
列表的创建
list1 = [ 'Apple', 'Microsoft', 30000, 10000 ]
list2 = [ 1, 2, 3 ]
list3 = [ "a", "b", "c", "d" ]
list4 = [ "Tom", 18, 1.78 ]
列表的常用本方法
list1.append("新元素") # 在末尾添加一个元素
list1.extend([1,2,3]) #在末尾添加多个元素
list1.insert(2,"index2") # 在index插入一个元素
del list1[3] # 删除一个元素
list1.pop() # 移除一个元素(默认最后一个)
list1.sort() # 列表排序(要求相同类型)
list1.reverse() # 反序
list1.clear() # 清空列表
list1.copy() # 复制列表
len(list1) # 列表元素个数
max(list1) # 返回列表元素最大值
min(list1) # 返回列表元素最小值
列表的嵌套
l1 = [ 1, 2, 3 ]
l2 = [ "apple", "microsoft", "sanxing" ]
l3 = [ l1, l2 ]
print( l3 )
元组(Tuple)
t1 = ("google", "apple", "microsoft")
t2 = tuple(("huawei", "xiaomi", "oppo", "vivo"))
t3 = ("sony", "sanxing", "moto")
t4 = (t1, t2)
t5 = (t4, t3)
t6 = (t5, t4)
print(t6)
集合(Set)
集合(set)是一个无序的不重复元素序列。
s = {"sanxing", "apple", "huawei"}
print(s)
s = {"sanxing", "apple", 1, "sanxing", "apple", 1 }
print(s)
# 不会报错,去重。
集合的基本操作
s = {1,2,3}
s1 = {4,5,6}
s.add( "1" ) # 添加元素("1"和1不一样)
s.update( {4,5,6} ) # 添加多个元素
s.remove( "100" ) # 移除,如果元素不存在,则报错。
s.discard( "100" ) # 移除,如果元素不存在,不会报错。
s = s.union(s1) #集合的拼接
print(s)
字典
键值对,键必须是唯一的(否则覆盖),但值则不必。键不可变,所以只能用Number,str或tuple,值可以是任何类型。
d = {'name': 'Jack', 'age': 20, 'address': 'USA'}
字典常见操作
d = { 'name': 'Jack', 'age': 20, 'address': 'USA' }
d["name"] = "Rose" # 修改键值对的值
d["tel"] = 1388 # 添加键值对
del d[“name”] # 删除键为“name”的键值对
d.get("123") # 访问键"123"的值(None),不报错。
print(d.keys()) # 键集合<class ‘dict_keys’> dict_keys([])
print(d.values()) # 值集合<class 'dict_values'>