补充
解释器/编译器
补充:编译型语言和解释型语言?
# 编译型:代码写完后,编译器将其变成成另外一个文件,然后交给计算机执行。 # 解释型:写完代码交给解释器,解释器会从上到下一行行代码执行:边解释边执行。 【实时翻译】
1.列表
公共功能
len
users = ["李邵奇","奇航",99] val = len(users) print(val) # 3
索引
users = ["李邵奇","奇航",99] val = users(0) print(val) # 3
切片
users = ["李邵奇","奇航",99] val = users[0:2]
删除(字/布尔/字符串除外)
users = ["李邵奇","奇航",99] # 方式一 users.pop(1) print(users) # 方式二: del users[1] print(users)
注意:
- 字符串本身不能修改或者删除(因为它是不可变类型)v1 = "alex".upper()
- 列表是可变类型
修改(字/布尔/字符串除外)
users = ["李邵奇","奇航",99] users[2] = 66 users[0] = '李杰' users[0][1]
步长
users = ["李邵奇","奇航",99] val = users[0:2:2]
练习题
""" 实现一个整数加法计算器(两个数相加): 如:content = input("请输入内容:") 用户输入:5+9或5+ 9或5 + 9(含空白),然后进行分割转换最 终进行整数的计算得到结果。 """ #我的思路 content = input("请输入内容:") list_input = content.split("+") number1 = int(list_input[0].strip()) number2 = int(list_input[1].strip()) print(number1+number2) #老师的思路 # 思路一: """ content = input('请输入:') # [5+9] 或 [5 +9] 或者 [ 5 + 9 ] content = content.strip() # [5+9] 或 [5 +9] 或者 [5 + 9] v1 = int(content[0]) v2 = int(content[-1]) v3 = v1 + v2 """ # 思路二: 更智能的伸缩功能 """ content = input('请输入:') # [5+9] 或 [5 +9] 或者 [ 5 + 9 ] 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) """ # 思路三: 与我的思路相近 """ content = input('请输入:') # [5+9] 或 [5 +9] 或者 [ 5 + 9 ] result = content.split('+') # print(result) # ['55 ', ' 99 '] v1 = int(result[0]) # "55" v2 = int(result[1]) # " 99 " v3 = v1 + v2 print(v3) """
for循环
""" users = ['李邵奇','利奇航','张三丰','李子森'] for i in users: print(i) """ """ users = ['李邵奇','利奇航','张三丰','李子森'] for i in users: # 第一次循环:i=“李邵奇” print(i) for ele in i: print(ele) """
独有功能
append,在列表的最后追加一个元素
users = [] users.append('alex') print(users
""" 示例一: users = [] while True: name = input('请输入姓名:') users.append(name) print(users) """ """ 示例二: # 录入用户和密码 users = [] for i in range(0,3): name = input('请输入用户名和密码:') users.append(name) print(users) # ['alex,123', 'oldboy,888', 'lishaoqi,123'] # 用户和密码校验 username = input('请输入要登陆用户名:') password = input('请输入要登陆密码:') for item in users: result = item.split(',') # ['alex','123'] user = result[0] pwd = result[1] if user == username and pwd == password: print('登陆成功') break """
insert
remove
pop
clear
总结
增
- append / insert
删
- remove / pop / clear / del users[2]
改
- users[3] = "新值"
查
- 索引/切片
列表嵌套
users = ["alex",0,True,[11,22,33,"老男孩"],[1,['alex','oldboy'],2,3]] users[0] users[2] users[0][2] users[3] # [11,22,33,"老男孩"] users[3][-1] # "老男孩" users[3][-1][1] # '男' users[3] = 666
2元祖
元祖书写规范
users = [11,22,33,"老男孩"] # 列表(可变) users = (11,22,33,"老男孩") # 元组(不可变)
公共功能
索引(排除bool/int)
users = (11,22,33,"老男孩") print(users[0]) print(users[-1])
len
切片
索引
for/while
步长(排除bool/int):切片走的距离
删除
修改
没用独有功能
特殊:元祖中的元素(儿子)不可以被删除/修改
# 示例一: 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
总结----重点
解释型语言和编译型区别以及列举你了解的语言?
字符串补充功能
- 独有
- startswith/endswith
- format
- encode
- join
- 公共
- 切片
- 索引
- len
- 步长(面试题)
- for循环
- range(0,10) # 帮助你生成一个数字列表 [0,1,2,3,4,5,6,7,8,9]
- 特性:
- 不可变,所以字符串元素不能删除和修改。
- 独有
git本地和远程要同步,以后只能操作本地然后提交。
列表(可变)
- 公共
- 索引
- 切片
- 步长
- 修改
- 删除 del
- for
- len
- 独有
- append
- insert
- pop
- remove
- clear
- 列表嵌套
- 公共
元组(不可变)
公共
- 索引
- 切片
- 步长
- for
- len
独有功能(无)
元组嵌套
v3 = (11,[1,2,3],22,33) v3[1] = 666 # 错误 v3[1][2] = 123