上一阶段的小总结
从9.11号学习完Mysql进行总结,然后用了3天的时间进行了leetcode的刷题。
三天的时间把leetcode上的简单难度的题目、以及数据蛙的作业、经典45道sql题目中的部分过了一遍。
在那三天的刷题中,发现了自己对题目的没有什么思路,好像没有应用不了所学的知识。
当时的应对方法是:没有思路的题目都果断看答案,了解答案每一行语句的含义。
今天10.04,上述的应对方法从现在的反馈来帮助不少,至少现在对大部分题目都有了思路,拥有一定的自主解题能力。
Mysql的问题:排名问题的解决还不熟悉,窗口函数还不熟悉
赋值的理解和应用较差
应对方法:通过对做题和看代码进行不断理解
第二阶段python的总结
大概从9.15日开始学习第二阶段的课程,直到昨天才完成了最后章节的学习与实践,一共用了两周多一点的时间。
按照原定计划,本该两周内可以学习完第二阶段python的课程,但是在一些不必要的事情上花费了一些时间,导致进度稍慢了,下次需要注意!
知识总结
对没有接触过编程的我来说,第二阶段python的知识非常庞大。根据我自己的记忆习惯,用分类的方法对所有知识进行总结,同时整理笔记。
我把本阶段知识分为五个部分,分别是变量、运算符、常用语句、遍历、模块&函数
一、变量
变量的作用:接收和记录数据
1.变量的介绍
数字型变量
整数(型) int
浮点型 float
布尔型 bool #在运算中,True表示1,false表示0
非数字型变量
字符串:str
列表:[] #用于存储一组数据
字典:{}
元祖:()
常用语句:input:默认输出格式为字符串
格式化输出:%格式
修改变量类型:如:int()
全局变量:可以作用于所有函数、语句的变量
局部变量:只作用于函数体内部的变量
局部变量转换为全局变量:global 变量名
2.变量的操作
(1)变量之间的运算
a.四则运算
b.字符串运用加法或乘法运算进行字符串拼接
(2)列表 list
a.增加 列表.insert(索引,增加的元素) #在指定位置增加
列表.append(增加的元素) #在列表末尾增加
列表.extend(增加的元素) #在列表末尾增加
知识点:当增加的元素为列表、元祖、字典时,append把增加的列表当做一个整体增加至末尾
extend把列表中的元素增加至末尾
b.删除 del.列表[索引]
列表.remove(数据) #当数据或元素在列表中存在多个时,remove删除第一个
列表.pop(索引) #不指定索引时,删除列表中最后一个元素;具有返回值,返回被删除的元素
列表.clear() #清空列表
c.修改 列表[索引]=修改值
d.查询 查询列表中数据:列表[索引]
查询列表中数据的索引:单个数据查询:列表.index(数据)
范围查询:列表.index(范围) #范围左闭右开
查询列表中某元素出现的次数:列表.count(数据)
查询列表中有多少个元素:len(列表名)
查询某个数据是否在列表中:if语句
e.排序 升序 列表名.sort()
降序 列表名.sort(reverse =True)
按照某个条件排序 列表名.sort(key=条件)
g:列表推导式:用于快速创建列表
列表名=[加入的数据,for 加入的数据 in range()]
如:a=[x for x in range(4)] print(a) 输出 1234
(3)元祖 tuple
用于储存一列数据,并且不能被修改,只有查询功能
元祖用()定义 #定义一个数据的元祖 如:a = (1,)
元祖能与列表互相转换:列表转元祖 list(元祖)
元祖转列表 tuple(列表)
查询操作:同列表
知识点:组包&解包
(4)字典及操作dictionary
字段由键和数据组成(key:value),一个key对一个value,是无序的组合
值 可以取任何数据类型,但 键 只能使用字符串、数字或 元组
通常用于描述一个事件的相关信息
a.增加 字典={key:value} #当键值存在时为修改,不存在时是增加
b.删除 del.字典[键] #j键不存在时会报错
字典.pop(键) #键不存在时报错;删除后会返回被删除的值
字典.clear() #清空字典
c.修改 字典={key:value}
d.查询:查询键值:字典[键] #不能根据值查询键
字典.get(键) #当键不存在时返回None
e.遍历:遍历键:字典.keys()
值:字典.values()
键值对:字典.items() #返回元祖
(5)字符串str
字符串用于储存一串字符
a.判断
b.查找与替换
c.拆分和连接
d.大小写转换
e.去除空白符
f.切片 #范围左闭右开
二、运算符
算数运算符: 加减乘除+-*/、取整//、取余%、幂**
(经典用法:余数是0为偶数,余数是1为奇数)
比较运算符(检查条件是否成立):大于>,小于<,等于==,大于等于>=,小于等于<=,
逻辑与算符:and、or、not、in
赋值运算符:+=、-=、*=、/=、//=、%=、**=
三、常用语句
1.IF(条件语句)
(1).if
(2).elif(需要并列判断时使用)
知识点:嵌套!!
2.Wilhe(循环语句)
关键字:break 停止执行循环体内后面的语句,并跳出循环
continue 停止执行循环体内后面的语句,并回到循环之初(注意死循环!!)
知识点:嵌套!!python 的计数方法!!(从0开始计算)
四、遍历
遍历:从头到尾依次从变量中依次取出数据
常用方法:for循环语句
whihe循环语句
五、模块&函数
函数是具有独立功能的代码块
在python里用自带函数,也可以自定义函数
1.函数的定义
def 函数名():
2.参数
参数用于增加函数的通用性,可以作为变量使用,定义顺序
(1)形参:在括号内的输入,用于占位,作为变量使用
(2)实参:传递到函数内部的真实数据
(3)返回值:return #return可以不填写;在函数体内,return后的代码都不会执行
(4)匿名函数:lambda :返回值 #用于简化函数标准步骤
lambda 参数:返回值
用法:f = lambda :1 print(f) #可以多次调用
res= lambda(lambda:1)() 只能调用一次
案例:#求和
sum = lambda x,y : x+ y
print(sum(3,4))
(5)参数类型:位置参数: 形参与实参需要一一对应
默认参数: 给形参设置默认值,没有实参时返回默认值;默认值的设置需要在第一个形参之 后
关键字参数: 实参可以指定对应某一个形参
可变参数:*args #可以接收任何数量的参数;在除定义参数外,都只写args
可变关键字参数:kw*args #可以接收任何数量的关键字参数;输出格式为字典
知识点:函数嵌套调用、函数的注释
3.模块
模块的实质是格式为.py的源文件 #理解:模块为工具包,模块内的函数、变量等为工具
引用模块 import 模块名
引用模块内工具 模块名.工具名
本阶段的问题:1.没有按照既定的学习计划学习,拖慢了学习的进度;
2.对python的语句大概熟悉了,但与mysql一样,编程的思维还没有养成
应对方法:对本阶段进行定期的复习;寻找题目
下周任务:学习完第三阶段;
继续对mysql进行刷题,完成45道题目;对所有题目复刷一遍,找出没有理解、思路的题目;
每天复习python一个知识点