## day04数据类型(二) ### 今日内容 - 列表 - 元组 ### 内容回顾和补充 1.计算机基础 硬件:cpu/内存/硬盘/主板、网卡 操作系统 liunx(免费开源) 编译型语言:(代码写完后,编译器将其变成另外一个文件,然后交给计算机执行) - c - c++ - java - c# - Go 解释性语言:(一行一行执行 边解释边执行 实时翻译) - Python - PHP - yuby 2.环境的安装 - Python解释器 - py2 - py3 - 开发工具:pycharm / 文本编辑器 3.Python语法 解释器路径 编码 1.编码种类 - acsii - unicode - utf-8 /utf-16 - gbk/gb2312 2.中文表示 - utf-8 3字节 - gbk 2字节 3.输入输出 py2: - 输入:raw_input - 输出:print "" py3: - 输入:input - 输出:print() 4.数据类型 1.int - py2中有 int/long ; py3有 int - 强制转换:int("76") - 除法:py2 ( 多加一行代码) 和py3(正常) 2.bool - True False (其他语言true false) - 特殊0 和False的其他类型: 0 和“” 3.sir 字符串 - 独有功能 upper 大/lower 小 replace 替换 strip lstrip rstrip 去空白 isdight 转数字 split rsplit 切割 - 补充 ```python name = 'alex' #判断是否以al开头 #方式一 # val = name.startswith('al') # print(val) #方式二 # val = name[-4:-2] # if val == 'al': # print('以al开头') # else: # print('不是以al开头') ``` format ```python ##############2.format name = "我叫{0},年龄:{1}".format('老男孩',73) print(name) ``` encode - ```python ################3.encode name = '李杰' #解释器读取内存后,按照unicode编码存储:8个字节 v1 = name.encode('utf-8') print(v1) v2 = name.encode('gbk') print(v2) ``` join ```python ############4.join name = 'alex' #a_l_e_x result = "_".join(name) #循环每一个元素,并在元素和元素之间加入连接符 print(result) ``` - 公共功能 1. 索引 获取一个字符 2. 长度 获取字符长度 3. 切片 获取一段字符串(子序列) 4. 步长 ```python name = 'alexalex' # val = name [1:-1:2] # val = name [1::2] # val = name [::2] # val = name [-1:0:-2] #不长负的就是向左走 # print(val) #笔试题:将字符串反转 val = name [::-1] print(val) ``` 5.for循环 ```python #############################2.for循环 name = 'alex' for item in name: print(item) continue print('123') print('结束') #1.for 循环打印字符串的元素: for > while #2 . 死循环 :while > for ``` ```python name = 'alex' for item in name: print(item) break print('123') print('结束') ``` ```py # 练习题 #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] # print(i) #2.打印1-10 不打印 7 for i in range(1,11): if i == 7: continue #pass else: print(i) ``` 注意: 有穷尽优先使用for ,无穷尽用while 5.变量 字母数字下划线 6.注释 7.条件语句 if 、else 8.循环语句 while + for + break + continue 9.运算符 10.字符串格式化 - %s - %d - %% 11.其他 markdown笔记 git - 本地 git软件 - git status - git add - git commit -m "提交记录" - git push origin master 将本地目录同步码云目录 - 远程: 码云 / github(程序员交流平台) - 面试相关 1.写出你常用的git命令 2.你们公司怎么用git做开发的? 1.在码云或者github 等代码托管平台创建自己的仓库,创建完码云会给你一个仓库地址 2.自己写代码 3.将代码提交远程仓库 初始化 进入一个任意文件夹 1. git init 2.git config 邮箱 3.git config 姓名 4.git remote add origin 注意:至此git已经将目录管理起来以后文件有任何变化git都会检测到 1、if 2.while - 1.break - 2.continue 3.数据类型 - 1.整型 - 2.字符串 - 3.布尔值 4.输入输出 5.变量 6.编码 7.运算符 8.字符串格式化 #### 总结 1.语法:变量if、while 运算符(辅助) 1. 必备if while 2. 重点 数据类型字符串 - 1.独有功能 - 2.公共功能 - 3.for 解决实际问题 逻辑+代码 ### 内容详细 #### 1.列表 如果想要表示两个同学 users = "李绍,李启航" 如果想要表示多个事物,可以使用列表 元素按照 , 分割 切割后是列表类型 ```python users = ["李少奇","李启航",99] #公共功能 ``` ![image-20230323162414857](C:\Users\山东张学友\AppData\Roaming\Typora\typora-user-images\image-20230323162414857.png) ![image-20230324103536471](C:\Users\山东张学友\AppData\Roaming\Typora\typora-user-images\image-20230324103536471.png) 注意 - 字符串/数字/布尔 本身不能删除或修改【不可变类型】,列表可以 练习题 ```python # #思路1 # """""" # content = content.strip() # v1 = int(content[0]) # v2 = int(content[-1]) # v3 = v1 +v2 #思路2 # 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) #思路3 """ content = input("请输入:") result = content.split('+') v1 = int(result[0]) v2 = int(result[1]) v3 = v1 + v2 print(v3) """ ``` - for 循环 - ```python # 1.for 循环 """" users = ['李绍奇','李启航','张三丰','李子森'] for i in users: """ """ users = ['李绍奇','李启航','张三丰','李子森'] for i in users: for ele in i: print(ele)""" #练习题 请通过for循环和数字计数器 users实现:users = ['李绍奇','李启航','张三丰','李子森'] """ 0 李绍奇 1 李启航 2 张三丰 3 李子森 """ #方式一 # users = ['李绍奇','李启航','张三丰','李子森'] # count = 0 # for i in users: # print(count,i) # count+=1 #方式二 # users = ['李绍奇','李启航','张三丰','李子森'] # users_len = len(users) # 4 # for index in range(0,users_len): #[0,1,2,3] # print(index,users[index]) ``` - 独有功能 ```python #1.append 在列表后追加一个元素 """ users = [] while True: name = input("请输入姓名:") users.append(name) print(users)""" ``` ```python #录入用户名和密码 users = [] for i in range(0,3): name = input("请输入用户名和密码:") users.append(name) print(users) #用户和密码校验 username = input('请输入登录的用户名:') passward = input('请输入登录的密码:') for index in users: result = index.split(',')#每个是字符串 分割一下 user = result[0] pwd = result[1] if user == username and pwd == passward: print('登陆成功') break ``` ```python #1.append 在列表后追加一个元素 """ users = [] while True: name = input("请输入姓名:") users.append(name) print(users)""" #录入用户名和密码 # users = [] # for i in range(0,3): # name = input("请输入用户名和密码:") # users.append(name) # print(users) # #用户和密码校验 # username = input('请输入登录的用户名:') # passward = input('请输入登录的密码:') # for index in users: # result = index.split(',')#每个是字符串 分割一下 # user = result[0] # pwd = result[1] # if user == username and pwd == passward: # print('登陆成功') # break #2.insert 插入 # users = ['李绍奇','李启航','张三丰','李子森'] # users.insert(1,'小黑') # print(users) #3.remove 删除 # users = ['李绍奇','李启航','张三丰','李子森'] # users.remove('张三丰') # print(users) #4.pop ()不加数字默认取出最后一个 # users = ['李绍奇','李启航','张三丰','李子森'] # users.pop(2) # print(users) #5.clear # users = ['李绍奇','李启航','张三丰','李子森'] # users.clear() # print(users) ``` 总结 - 增: - append/insert - 删: - remove/pop /clear/del users[2] - 改 - users3=“新值” - 查: - 索引/切片 - 列表嵌套 列表嵌套 ![image-20230324104933502](C:\Users\山东张学友\AppData\Roaming\Typora\typora-user-images\image-20230324104933502.png) #### 2.元组 1.元组书写规范(不可以修改) ```python users = [11,22,33,"老男孩"] #列表 可变 (可以改 删) users = (11,22,33,"老男孩") #列表 不可变 ``` 2.公共功能 ![image-20230324110245310](C:\Users\山东张学友\AppData\Roaming\Typora\typora-user-images\image-20230324110245310.png) 1.索引(排除:int/bool) 2.切片(排除:int/bool) 3.步长(排除:int/bool) 4.删除(排除:str/int/bool) 5.修改(排除:str/int/bool) 6.for 循环(排除:int/bool) 7.len(排除:int/bool) ![image-20230324110321628](C:\Users\山东张学友\AppData\Roaming\Typora\typora-user-images\image-20230324110321628.png) 3.独有功能(无) 4.元组中的元素不可以被修改和删除(整体可以修改) ![image-20230324110814604](C:\Users\山东张学友\AppData\Roaming\Typora\typora-user-images\image-20230324110814604.png) 元组中的元素不可以修改 元组中的列表不可以修改 元组中的列表里面的元素可以修改 ### 总结 1.解释性语言和编译性语言区别 2.字符串补充 - startwith/endwith - format - encode - join 3.公共 - 步长 - for 循环 - range(0,10)#帮你生成一个数字列表 特性 - 不可变,字符串不能删除或修改 4.元组(不可变) - 1.索引(排除:int/bool) - 2.切片(排除:int/bool) - 3.步长(排除:int/bool) - 4.删除(排除:str/int/bool) - 5.修改(排除:str/int/bool) - 6.for 循环(排除:int/bool) - 7.len(排除:int/bool)