Python本质上是一种编程语言,通过编写运行代码的方式实现工作目标。读者可以想象,如果针对机器学习或数据统计分析的每种方法或统计量计算都要用户自行编写代码,那么显然在很多情况下是无法满足用户便捷开展分析的要求的,用户体验也会远远不如Stata、SPSS等专业集成统计软件。所以,Python提供了函数作为完成某项工作的标准化代码块,达到标准化编写后反复调用、增加标准代码复用性、减少代码冗余、提升工作效率的目的。
函数的创建通过def()来完成,基本语法格式为:
def functionname([parameterlist]):
["""comments"""]
[functionbody]
其中,functionname为函数名;parameterlist为可选参数,用于指定需要向函数中传递的参数,参数可以为一个或多个,多个参数之间使用英文逗号(,)分隔,也可以没有参数,但要保留def后面的一对空的小括号(());comments为可选参数,用来为函数指定注释,说明该函数的功能、要传递的参数作用等;functionbody为可选的,用于指定函数体,即该函数被调用后要执行的功能代码。如果函数有返回值,则要通过return语句返回。["""comments"""]和[functionbody]相对于def关键字需要保持一定程度的缩进。
比如要创建一个计算长方形面积的函数,代码如下:
def area(width, length): # 定义长方形面积函数area,参数为宽width和长length
return width * length # 返回宽width乘以长length的积
函数的调用通过执行该函数来完成,基本语法格式为:
functionname([parametervalue])
其中,functionname为函数名;parametervalue为可选参数,用于指定向函数中传递的参数,参数可以为一个或多个,多个参数之间使用英文逗号(,)分隔,也可以没有参数,也要保留函数名后面的一对空的小括号(())。示例如下,输入以下代码并运行:
area(4,6) # 调用长方形面积函数area,参数为4和6
运行结果为:24。
很多朋友反映学Python、学机器学习比较难、效果不好,我的观点是:需要拿到Python、机器学习的源代码边学习边操作,从解决问题、上手操作中获得成就感,才会越学越深入,学习效果才会好。
针对数据分析或机器学习推荐两本入门级的图书:《Python机器学习原理与算法实现》(杨维忠 张甜 著 2023年2月新书 清华大学出版社)《