day004课堂笔记
今日内容
1. 列表
2. 元组
上周内容回顾和补充
1. 计算机基础
-
硬件:cpu,内存,硬盘,电源,网卡
-
操作系统:
-
linux
-
windows
-
mac
-
-
软件:一个用程序
-
编译器/解释器
-
编译器:写完代码之后,编译器将变成一个新的文件交给计算机一次性运行(一大段话的翻译)
-
解释器:代码交给解释器,解释器会从头到尾逐步一行一行的执行(实时翻译)
-
2. 环境安装
-
python解释器
-
py2
-
默认编码ascii码
-
raw_input
-
print ""
-
int/long
-
-
py3
-
utf-8
-
-
3. python语法
-
.py文件
-
linux赋予路径
#!/usr/bin/env python
# -*- coding:UTF-8 -*-
-
-
编码
-
编码种类
-
ascii码
-
unicode
-
utf-8/16
-
gbk
-
gb2312
-
-
输入输出:
-
py2:
-
输入:raw_input
-
输出:print ""
-
-
py3:
-
输入:input
-
输出:print()
-
-
-
数据类型:
-
int
-
py2中有int/long;py3中只有int
-
强制转换:int("88")
-
除法:
-
py2默认不能保留小数,需要加一行代码
-
py3可以保留小数
-
-
-
bool
-
True/False (其他语言: true/false)
-
特殊为False的类型:0和""(空字符串)
-
-
str
-
独有功能
-
upper/lower
-
replace
-
strip/lstrip/rstrip
-
isdigit
-
split / rsplit
-
补充
-
startswith / endswith #判断是否从(__)字符开始
-
name = 'alex'
# 判断是否已al开头
"""
# 方式一:
flag = name.startswith('al')
print(flag)
"""
"""
# 方式二:
val = name[0:2]
if val == 'al':
print('是以al开头')
else:
print('不是')
"""
-
-
-
format #占位符格式化类似%s
-
name = "我叫{0},年龄:{1}".format('老男孩',73)
print(name)
-
-
encode #代码转换编码
-
name = '李杰' # 解释器读取到内存后,按照unicode编码存储:8个字节。
v1 = name.encode('utf-8')
print(v1)
v2 = name.encode('gbk')
print(v2)
-
-
join #循环每个字符插入(__)
-
name = 'alex' # a_l_e_x
result = "**".join(name) # 循环每个元素,并在元素和元素之间加入连接符。
print(result)
-
-
-
公共功能
-
索引 #获取一个字符
-
切片 #获取一段字符或子序列
-
步长 #赋予第一个字符长度的值
-
name = 'alex'
# val = name[0:-1:2]
# val = name[1:-1:2]
# val = name[1::2]
# val = name[::2]
# val = name[-1:0:-2]
# print(val)
# 笔试题:请将字符串反转。
val = name[::-1]
print(val)
-
-
len #获取字符长度
-
for in :循环 #可以跟break ;continue
-
name = 'alex' # 逐行打印
for item in name:
print(item) -
name = 'alex'
for item in name:
print(item)
break/continue #结束或返回
print('123') -
# 练习题 # 1. for循环打印 “alex” 的每个元素: for > while # 2. 请打印: 1 - 10 """ for i in range(1,11): # [1,2,3,4,5,6,7,8,9,10,11,12,14] "12345678910" print(i) """ # 3. 请打印: 1 2 3 4 5 6 8 9 10 """ for i in range(1,11): if i == 7: pass else: print(i) """
-
注意:for和while的应用场景:有穷尽优先使用for,无穷尽用while
-
-
-
-
-
-
4. 变量
-
字母,数字,下划线组成.
-
不能数字开头或全数字
-
不能用py关键字
-
简单明了
-
建议使用下划线格式
5. 注释
-
'''/""" 多行注释 '''/"""
6. 条件语句
-
if 条件: else/elif
7. 循环语句
-
for in; while
-
break/continue
-
8. git
-
本地:git软件【常用命令】
-
git status
-
git add .
-
git commit -m ''提交记录'
-
git push origin master
-
-
远程:码云 / github(程序员交友平台)
-
面试相关
-
写出你常用的git命令。
-
你们公司是怎么用git做开发的?
-
在码云或GitHub等代码托管的网站创建自己仓库,创建完之后码云会给我一个仓库地址,如:https://gitee.com/old_boy_python_stack_21/190326032.git
-
自己写代码.....
-
将代码提交到远程 仓库。
-
初始化
-
进入一个任意文件夹,如:D:\homework\
-
git init
-
git config 邮箱
-
git config 姓名
-
git remote add origin https://gitee.com/old_boy_python_stack_21/190326032.git
注意:至此git已经将 D:\homework\目录管理起来,以后此文件夹有任何变化,git都会检测到(使用 git status 命令可以查看状态)
-
-
代码收集并提交
-
git status
-
git add .
-
git commit -m ''记录"
-
git push origin master 将本地D:\homework\目录下的内容同步到 码云仓库。
-
-
修改代码或删除文件等对本地 D:\homework\ 下任何文件做操作。
-
git status
-
git add .
-
git commit -m ''记录"
-
git push origin master 将本地D:\homework\目录下的内容同步到 码云仓库。
-
-
【避免】如果远程有本地没有的代码,必须先执行:【可能引发合并问题】
-
git pull origin master
-
git status
-
git add .
-
git commit -m ''记录"
-
git push origin master 将本地D:\homework\目录下的内容同步到 码云仓库。
-
-
-
-
今日内容
1. 列表
### 1. 列表
-
表示多个”事物“,可以使用列表
-
#如果想要表示两个同学 users = "李明,珍妮...".
-
users = ["李明","珍妮",99] print(users) #['李明', '珍妮', 99]
-
-
公共功能
-
len
-
users = ["李明","珍妮",99] users_len = len(users) print(users_len) #3
-
-
索引
-
users = ["李明","珍妮",99] users_1 = users[0] print(users_1) #['李明']
-
-
切片
-
users = ["李明","珍妮",99] users_1 = users[0:2] print(users_1) #['李明', '珍妮']
-
-
删除
-
users = ["李明","珍妮",99] users.pop(0) print(users) #['珍妮', 99]
-
users = ["李明","珍妮",99] del users[0] print(users) #['珍妮', 99]
-
-
修改 #字符串/bool值/数字除外
-
users = ["李明","珍妮",99] users[0] = '戴尼' print(users) #['戴尼', '珍妮', 99]
-
-
步长
-
users = ["李明","珍妮",99] users_1 = users[0:-1:1] print(users_1) #['李明', '珍妮']
-
-
练习题
-
""" 实现一个整数加法计算器(两个数相加): 如:content = input("请输入内容:") 用户输入:5+9或5+ 9或5 + 9(含空白),然后进行分割转换最终进行整数的计算得到结果。 """ # 思路一: """ 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) """
-
-
注意:
-
字符串本身不能修改或删除【不可变类型】 v1 = "alex".upper()
-
列表是可变类型。
-
独有功能
-
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 #在指定索引位置进行插入元素
-
users = ["李明","珍妮",99] users.insert(1,'带你') print(users) #['李明', '带你', '珍妮', 99]
-
-
remove #删除
-
users = ["李明","珍妮",99] users.remove('李明') print(users) #['珍妮', 99]
-
-
clear #全部删除
-
users = ["李明","珍妮",99] users.clear() print(users)
-
-
总结
-
增:
-
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,"老男孩") # 元组(不可变)
公共功能
-
索引
-
切片
-
步长
-
for循环
-
len计算长度
没有独有功能
特殊
-
元组中的元素(儿子)不可被修改/删除。
-
# 示例一: 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