py的语言特性: 动态强类型
- 静/动态: 编绎/运行 时确定变量类型;
- 弱/强类型: 会/不会发生隐式类型转换。在强类型中,不管在编译时还是运行时,一旦某个类型赋值给某个变量,它会持有这个类型,并且不能同其他类型在计算某个表达式时混合计算。
py作为后端语言的优缺点:
- 语言简单灵活,开发效率高
- 胶水语言,轮子多,拥有Django这种的成熟web框架
- 执行效率低,性能不如其他语言
- 动态语言,没有类型声明时就没有自动补全,而且很多问题要运行后才能发现
Python常用的库
Pandas 库提供了数据整理、整理和分析这些数据科学最基本的需求。该库是能够读取、操作、聚合和可视化数据并将所有内容转换为易于理解的格式的全部内容。
NumPy被广泛用作数组处理库。由于它可以管理多维数组对象,因此它被用作多维数据评估的容器。NumPy库由一系列的元素组成,每个元素都是相同的数据类型,一个正整数的元组理想地分隔了这些数据类型。维度称为轴,而轴的数量称为等级。NumPy 中的数组被归类为ndarray。
Scikit-Learn是Python 的本地机器学习库,它为数据科学家提供以下算法:支持向量机、随机森林、K-means 聚类、光谱聚类、均值偏移、交叉验证。这是我们可以使用此 Scikit-Learn 执行的操作分类、聚类、回归、降维、数据预处理。
Matplotlib可视化可以占据了数据的关键位置,它帮助我们创建2D 图形并将绘图用到应用程序中。
Seaborn另一个数据可视化库。Seaborn 与 Matplotlib 有何不同?尽管这两个软件包都作为数据可视化软件包,但实际区别在于您可以使用这两个库执行的可视化类型。对于初学者,使用 Matplotlib,我们只能创建基本图,包括条形、线条、区域、散点图等。但是,使用 Seaborn,可视化水平提高了一个档次,因为您可以用更少的资源创建各种复杂的可视化图形。
1、*args、**kwargs两个参数是什么意思
首先args,kwargs并不是必须这样设定的,只是一个约定俗成的名字,args(位置参数),kwargs(关键字参数)。
都用于函数的定义,用于将不定数量的参数传递给函数。
*args:用来发送非键值对可变数量参数,list,trump
**kwargs:用来发送键值对可变数量参数,dict
2、谈一谈python的装饰器(decorator)
装饰器是一个接收函数作为参数的闭包函数。它经常用于有切面需求的场景。比如:插入日志、性能测试、事务处理、缓存、权限校验等。
作用:
它能使函数的功能得到扩充,而同时不用修改函数本身的代码。
它能够增加函数执行前、执行后的行为,而不需对调用函数的代码做任何改变。
闭包函数:一个函数的返回值是另外一个函数,返回的函数调用父函数内部的变量,