day 05 续day 04
数据类型
字符串内容补充
1.字符串
-
startwith / endwith 判断是否以什么开头
name = 'alex' # 方式一 flag = name.startswith('al') print(flag) #方法二 # value = name[0:2] # if value == 'al': # print('是以al开头') # else: # print('不是以al开头')
-
format 字符串格式化
# format name = '我叫{0},今年{1}'.format('oldboy',73) print(name)
-
encode
name = '李杰' # 解释器读取到内存后,按照unicode编码存储:八个字节 v1 = name.encode('utf-8') print(v1) v2 = name.encode('gbk') print(v2)
-
join 循环,并在每个元素之间加入连接符
name = 'alex' value = "_".join(name) print(value)
2 . 公共功能
-
索引,获取一个字符
-
切片,获取一段字符串(子序列)
-
步长,
# name = 'alexalexalex' # # # # value = name[0:2] # # value = name[0:-1] # # value = name[0:-1:2] # # value = name[1:-1:2] # # value = name[::2] # value = name[-1:0:-2] # print(value) # 字符串反转 name ='alex' val = name[::-1] print(val)
-
长度,获取字符串长度
-
for 循环
name = 'alex' for item in name: print(item)
name = 'alex' for item in name: print(item) break print('123')
name = 'alex' for item in name: print(item) continue print('123')
# 练习 # 1. for循环打印“alex” 的每个元素:for > while # 2. 请打印 1-10 for循环 + range ''' for i in range(1,11): print(i) ''' ''' # 3. 请打印 1 2 3 4 5 6 8 9 10 for i in range(1,11): if i == 7: continue else: print(i) '''
注意:for和while的应用场景:有穷尽优先使用for 无穷尽优先使用while
1.列表
-
如果想表示两个同学 users = “张三,李四。。。”
-
想要表示多个“事物”,可以使用列表
users = ["张三","李四",99]
-
公共功能
-
len
users = ["张三","李四",99] val = len(users) print(val) #结果为 3
-
索引
users = ["张三","李四",99] val= users[0] print(val)
-
切片
users = ["张三","李四",99] val= users[0:2]
-
步长
users = ["张三","李四",99] val= users[0:2:2]
- 练习题
# 实现一个加法计算器 # 思路一: ''' content = input('请输入:') content = content.strip() v1 = int(content[0]) v2 = int(content[-1]) v3 = v1 + v2 print(v3) ''' # 思路二 ''' content = input('请输入:') content_len = len(content) index = 0 total = 0 while True: char = content[index] if char.isdigit(): total += int(char) index += 1 if index == content_len: break print(total) ''' #思路三:
-
for循环
-
-
总结
-
增
- append / insert
-
删
- remove / pop / clear / del users[2]
-
改
- users[3] = “新值”
-
查
- 索引 / 切片
-
列表嵌套
users = ["alex",0,True,[11,22,33,"老男孩"],[1,["alex","oldboy"],2,3]] users[0] # alex users[2] # True users[0][2] # e users[3] # [11,22,33,"老男孩"] users[3][-1] # "老男孩" users[3][-1][1] # "老" users[3] = 666
-
-
2.元组
-
元组书写规范
users = [11,22,33,"oldboy"] # 列表(可变) users = (11,22,33,"oldboy") # 元组(不可变)
-
公共功能
-
索引(排除: int / bool)
users = (11,22,33,"oldboy") print(users[0]) print(users[2])
-
切片(排除: int / bool)
users = (11,22,33,"oldboy") print(users[0:2])
-
步长(排除: int / bool)
users = (11,22,33,"oldboy") print(users[0:2:2])
-
删除(排除: tuple / str / int / bool)
-
修改(排除: tuple / str / int / bool)
-
for 循环(排除: int / bool)
users = (11,22,33,"oldboy") for item in users: print(item)
-
len(排除: int / bool)
users = (11,22,33,"oldboy") print(len(users))
-
-
独有功能(无)
-
特殊:元组中的元素不可被修改 / 删除。
# 示例一: v1 = (11,22,33) v1[1] = 999 # 错误 v1 = 999 # 正确 # 示例二:可以嵌套 v1 = (11,22,33,(44,55,66),(11,2,(99,88),3)) # 示例三:嵌套 v2 = [11,22,33,(11,22,33)] v2[-1][1] = 99 #错误 v2[-1] = 123 # 正确 # 示例四:嵌套 v3 = (11,[1,2,3],22,33) v3[1] = 666 # 错误 v3[1][2] = 123
总结
-
解释型语言和编译型区别以及列举了解的语言
-
字符串补充功能
-
独有
- startwith / endwith
- format
- encode
- join
-
公共
-
索引
-
切片
-
步长
-
for 循环
-
range(0,10) #帮助你生成一个数字列表
-
-
字符串特性
- 不可变,所以字符串元素不能删除和修改
-
-
列表(可变)
- 公共
- 索引
- 切片
- 步长
- 修改
- 删除
- len
- for
- 独有
- append
- insert
- pop
- remove
- clear
- 列表嵌套
- 公共
-
元组(不可变)
-
公共
- 索引
- 切片
- 步长
- len
- for
-
独有功能(无)
-
元组嵌套
v3 = (11,[1,2,3],22,33) v3[1] = 666 # 错误 v3[1][2] = 123
-