Python 全栈 191 问(附答案)
- 2020 年 4 月 3 日
- 筆記
作为程序员,你的电脑里、书架上,一定少不了 Python 的资料和课程。免费的电子书,花钱买的课,实体书籍…
现在想一下,你真正从中学到多少:
- 正则会用了吗?
__getitem__
用过吗?callable
对象怎么实现的?- 还在觉得
yield
可有可无吗? - 还觉得
装饰器
与你没有毛关系吗? NumPy
的多维数组reshape 成这个形、那个形,怎么做到的啊?Pandas
的isin
,set_index
,reindex
使用过吗?EDA
搞几张花哨的图形就完事了吗?如何思考、如何分析、思维方法呢?pivot_table
,crosstab
是摆设吗?- 离散、连续事件的期望等于求和、求积分,体会到重要性了吗?
- 机器学习调调包,越来越心虚,可是算法那些数学公式看到就头大,怎么办?放弃它?跳过它?改行?
- 神经网络能拟合任意函数,奥妙在哪里?这有多神秘?
- …
影响事物发展的机理永远都在里面,在表层靠下一点,比别多人多想一点。有没有能完整回答上面问题,教人以渔的教材。我推荐好朋友例子君写的:
《Python 全栈 60 天精通之路》
这个专栏 Day1~ Day38 就已经完整解决下面的 191 个问题,Day39~Day61 精彩继续… 而现在订阅它只需七折,49 元.
- 什么是动态语言?
- Python 常用的两个命名规则?
- 说说 Python 的缩进原则
- 说出几个 Python 关键字
- 运算符 //,运算符 ** ,运算符 := 完成何操作?
- 十六进制的整数前缀?
- 列举几个容器对象
- join 方法使用举例
- 正则表达式 [da-zA-Z]表示什么含义?
- dir() 的含义
- 列举几个魔法方法
- @property 使用举例
- 什么是可变 (mutable) 容器? 举三个例子
- list 的 append 和 insert 有何区别?
- list 的 pop 方法作用?
- list 的 copy() 方法功能
- Python 中如何实现深拷贝?
- 列表 a,切片 a[:-1] 实现什么功能?,a[::-1] 又实现什么功能?
- 列表 a, 切片 a[1:5:2] 实现什么功能?
- (1) 是元组吗?(1,) 是什么类型?
- 元组能增删元素吗?
- 怎么判断 list 内有无重复元素?
- 列表如何反转?
- 如何找出列表中的所有重复元素?
- 如何使用列表创建出斐波那契数列?使用 yield 又怎么创建 ?
- 找出列表中出镜最多的元素,可能有多个
- a = [1,2,3,4,5],如何一行代码返回:[(1,2),(2,3),(3,4),(4,5)]
- sample 函数实现何功能?
- shuffle 函数实现什么功能?
- uniform 函数实现什么功能?
- 说说你知道的创建字典的几种方法?
- 字典视图是什么?
- 所有对象都能作为字典的键吗?
- 集合内的元素可以为任意类型吗?
- 什么是可哈希类型?举几个例子
- 求集合的并集、差集、交集、子集的方法?
- 怎么找出字典的最大键?
- 如何求出字典的最大值?
- 如何快速判断一个字符串中所有字符是否唯一?
- 给定 n 个集合,如何使用 max 函数求出包含元素最多的集合?
- 找出字典前 n 个最大值对应的键
- 怎么一行代码合并两个字典?
- 怎么理解函数原型 max(iterable,*[, key, default]) ?
- max 函数的 key 参数怎么使用,举例说明
- divmod 函数返回值?
- id 函数返回什么类型的对象?
- all, any 函数各自实现何功能?
- 十进制转二进制,转十六进制的函数各叫什么?
- 什么是函数作用域的 LEGB 规则 ?
- range(1,10,3) 返回一个什么样的迭代器?
- zip 函数能实现功能?
- 如何动态地删除类上的某个属性?
- 又如何判断类上是否有某个属性?
- super 函数使用举例
- callable 函数实现功能,举个例子
- 字符串I_love_python 使用哪个函数返回 ['I', 'love', 'python'] ?
- strip() 方法实现什么功能?
- 正则方法 match 与 search 有何不同?
- 如何使用正则表达式,匹配浮点数?
- 使用正则表达式,如何匹配出正整数?
- re.sub(r'd+', '666',"hello 12345, hello 456321"),返回的字符串
- 说说贪心捕获和非贪心捕获的区别?
- 文件读写操作,常见的乱码问题,怎么解决?
- 文件读写模式 r, w, a 分别指什么?
- os.path.split('./data/py/test.py'),返回值是什么?
- 如何优雅地提取文件后缀?
- 使用 Python ,如何重命名某个文件?
- 关于文件压缩、加密,在专栏会涉及到。
- time 模块,time.local_time() 返回值是什么?对象的类型是?
- 如何格式化时间字符串?'2020-02-22 11:19:19' 对应的时间格式串是 '%Y-%M-%d %H:%m:%S' ,正确吗?
- 列举 datetime 模块中的四个类?
- 使用 datetime 模块,打印出当前时间,显示格式:yyyy年-mm月-dd日 HH:mm:ss
- datetime.strptime('2020-02-22 15:12:33','%Y-%m-%d %H:%M:%S') 实现什么功能?
- 如何计算出还有几天是女朋友生日?
- 如何绘制出年、月的日历图?
- 如何使用 Python 提供的函数快速判断是否为闰年?
- 如何获取月的第一天、最后一天、月有几天?
- 介绍 Python 四种常用的开发环境
- 说说Python 包安装常见问题及总结
- 说说Web, 爬虫,打包的常用工具包
- 聊聊数据分析、机器学习和深度学习的常用框架
- PyInstaller 打包的完整过程
- 使用列表生成式,如何得到12 个随机数
- for , if 和列表生成式结合,碰撞出哪些火花?
- zip 和列表生成式
- 列表生成式实现筛选分组,函数分组等更多实用案例
- 关键字 is 的功能是什么?
- 对于自定义类型,判断成员是否位于序列类型中,怎么做?
- 使用 == 判断对象的相等性,需要区分哪些情况?编码实现:对象的 user_id 相等,则认为对象相等
- yield 理解从哪四个方面入手?
- 函数带有 yield 便是生成器,那么它还是迭代器吗?
- yield 和 send 碰撞出哪些火花?
- yield 使用举例
- 关键词 nonlocal常用于函数嵌套中,实现什么作用?
- global 关键字在哪些场景发挥重要作用
- Python 函数的五类参数都指哪些?
- 如何区分参数是位置参数还是关键字参数?
- f(*a,**b) 可变位置参数,可变关键字参数怎么传参?
- 参数传递常见的以下 3 个异常,怎么理解?
- SyntaxError: positional argument follows keyword argument
- TypeError: f() got an unexpected keyword argument 'a'
- TypeError: f() takes 0 positional arguments but 1 was given
- 函数参数传递的 6 个规则都在专栏中做了详细总结
- sorted 函数用法解析
- filter 函数用法举例
- map 函数使用技巧
- reduce 函数用法及注意事项
- 迭代器协议之 iter 和 next 方法
- Python 的枚举对象
- 如何感性认识多线程?
- Python 中如何创建线程,以及多线程中的资源竞争及暴露出的问题
- 多线程鸡肋和高效的协程机制的相关案例
- 列表和迭代器有何区别?
- 如何拼接多个迭代器,形成一个更大的可迭代对象?
- 通过累积迭代器、漏斗迭代器、克隆迭代器,彻底弄明白迭代器和生成器
- 如何遍历整个目录与子目录,抓取 .py 文件
- 单机 4 G 内存,如何处理 10 G 文件?
- lambda 函数的形参和返回值使用案例
- 多用 NamedTuple ,让代码更可读
- Counter 计数的功能非常好用
- 使用 DefaultDict 自动创建一个被初始化的字典
- 使用装饰器太魔幻,始终不知道怎么使用,该怎么浅显易懂的攻破?
- 装饰器都用在哪里,可否举几个例子?
- wraps 装饰器确保函数被装饰后名称不改变
- 写个装饰器统计出某个异常重复出现到指定次数时,历经的时长。
- Python 的列表与快速实现元素之坑
- 删除列表的元素,O(1) 空间复杂度如何做到?
- 函数的参数默认为 [], 会出现哪些奇特的问题?
- {} 和 () 创建对象之坑
- Python 解包带来哪些方便?
- OOP 编程,魔术方法 getattr 和 setattr 怎么使用?注意事项有哪些?
- OOP 编程,对象的中括号访问机制,怎么实现的?魔术方法 __getitem__帮助实现
- Python 的 API 文档中,经常看到 array-like 之类的词汇,这背后是 Python 的鸭子类型,该如何理解?
- Python 界的领袖 Tim Peters 说过:“元类就是深度的魔法,99%的用户应该根本不必为此操心。” 作为程序员,相信还是很好奇元类,那么元类的必知知识都有哪些?
- 开放的服务或 API, 被其他系统调用,怎能不掌握 Python 对象的序列化知识呢!
- 除了 print, print, 我们还应该掌握 logging 模块,它的设计理念又是怎样的。换位思考,日志管理模块设计者会考虑哪些日志管理问题?
- 作为程序员,使用什么工具和方法绘制出框架目录结构图?
- Flask 模板引擎 jinja2 基本使用介绍
- Flask 注册蓝本、路由处理函数、前端 html + css + javascript 必知知识介绍
- 实战 Flask 前后端项目:带自动提升优先级的计算器
- Python 已经提供了很多丰富的内置包,我们为什么还要学习 NumPy 呢?NumPy 数值计算:更快,案例解读
- 5 种创建 NumPy 数组的常用方法
- arange, linspace, logspace, diag, zeros, ones, np.random 一体化介绍
- NumPy 索引和选择功能强大,不仅支持切片操作,还支持布尔型按条件筛选操作。
- 使用 NumPy 创建一个 [3,5] 所有元素为 True 的数组
- 数组所有奇数替换为 -1; 提取出数组中所有奇数
- 求 2 个 NumPy 数组的交集、差集
- NumPy 二维数组交换 2 列,反转行,如何实现?
- NumPy 的灵魂:shape 与 reshape,提供直观的 6 幅图理解,其中一幅:
- 线性代数中,矩阵的乘法操作在 NumPy 中怎么实现?
- NumPy 实现统计学的描述性变量:求平均值、标准差、方差、最大值、求和、累乘、累和。
- 总结 NumPy 常用的方法:flatten, newaxis, repeat, tile, vstack, hstack, concatenate, c_, argmax, argmin
- NumPy 使用方便的诀窍:广播规则,那么广播规则的规律如何总结?
- 手动实现案例:实践广播规则,加深印象
- 借助 NumPy 的 vectorize 实现 Python 的向量化操作例子
- 使用 NumPy, 求神经网络的 softmax 层的概率得分值
- 使用 NumPy 求两个特征的相关系数
- 如何找出 NumPy 中的缺失值、以及缺失值的默认填充
- Pandas 的 read_csv 30 个常用参数总结,从基本参数、通用解析参数、空值处理、时间处理、分块读入、格式和压缩等 5 个方面总结
- Pandas 两大核心数据结构:Series 和 DataFrame 的增加、删除、修改和访问
- Pandas 更加强大的索引访问机制总结
- Pandas 的 iterrows, itertuples 性能比较
- set_index, reset_index, reindex 使用总结
- 数据预览操作:info 和 describe 使用总结
- Pandas 数据 null 值检查
- 空值补全,使用列的平均值、中位数、众数填充。
- Pandas 做特征工程之 删除列
- Pandas 增加特征列的方法
- Pandas 使用 cut, qcut, ChiMerge 算法做分项总结
- LabelEncoder 编码和 get_dummies 方法总结
- Pandas 的 melt 将宽 DataFrame 透视为长 DataFrame 例子
- Pandas 的 pivot 和 pivot_table 透视使用案例
- Pandas 的 crosstab 频次透视函数使用例子
- 给定两个 DataFrame,它们至少存在一个名称相同的列,如何连接两个表?使用merge 函数连接两个 DataFrame,连接方式共有 4 种,分别为:left, right, inner,outer. 如何区分这 4 种连接关系
- Kaggle 数据集 EDA 实战,总结单变量分析的思维模式
- Kaggle 数据集 EDA 实战,双变量分析的思维模式,使用 pivot_table, groupby, matplotlib, seaborn 绘制 barplot图, catplot 图,pairplot 图
- 分类型变量处理技巧总结
- 读取时抽样 1% 样本的处理技巧
- 与时间序列相关的问题,平时挺常见。如何用 Pandas 快速生成时间序列数据?
- Pandas 使用 apply(type) 做类型检查
- Pandas 使用标签和位置选择数据的技巧
- 一个快速清洗数据的小技巧,在某列上使用 replace 方法和正则,快速完成值的清洗。
- 分类中出现次数较少的值,如何统一归为 others,该怎么做到?
- 某些场景需要重新排序 DataFrame 的列,该如何做到?
- 步长为小时的时间序列数据,有没有小技巧,快速完成下采样,采集成按天的数据呢?
- DataFrame 上快速对某些列展开特征工程,使用 map 如何做到?
- Pandas 结合使用 where 和 isin 搞点事情,加快处理效率
- Matplotlib 的几大绘图相关的核心对象,对象间的逻辑关系总结
- Matplotlib 绘图分为这 18 步:导入;数据;折线图;线条颜色;线型;标题;x、y轴 label;文本;注解;显示中文;双 data;legend;网格;数据范围;x 轴日期格式自适应;双轴;双图或多图排布;嵌入图
- Pyecharts 快速入门第 1例
- Pyecharts 万物皆 options,参数配置方法总结
- Pyecharts 中 y 轴靠右参数配置之道
- 14 步配置一个完美的柱状图
- Pyecharts 绘制的 10 类图总结:仪表盘;漏斗图;日历图;图;水球图;饼图;极坐标图;词云图;系列柱状图;热力图