前言
前期我们介绍了,元组、列表、字典,里面有很多的内置函数,我们要熟记于心,经常练习,后面我们去实际应用的时候,就可以满足需要而又不复杂。本期我们将开启函数与模块的探索!
定义函数
在Python程序中,在使用函数前必须定义声明函数,然后才能调用它。
def<函数名>(参数列表): 函数语句 return<返回值>
有的时候,参数和返回值可以不需要的,如果没有该返回值,自动返回为None。
# 定义一个没有参数的函数 def hello_python(): ''' 打印出一句话 :return: 无 ''' print("hello,python!") # 调用该函数 hello_python()
# 定义一个带有参数和返回值的函数 def all_return(T): ''' 计算总和 :param num: :return: 一个数字 ''' result = 0 for i in T: result += i return result print(all_return((1, 4)))
上面这个函数定义了一个实参和形参,我们把T看做形参,把(1,4)看做实参,这样就好理解了。这个时候我们来介绍一下关于函数的参数。
参数
1.形参和实参:
每次执行代码的时候,我们都需要把实参传入到形参之中,这样才能使程序正常运行。
2.必须参数:
必须参数又称为位置参数,在使用的时候必须要以正确的顺序传入到函数里面。
3.关键字参数:
在调用函数的时候,我们通过匹配参数值来进行函数的调用
4.默认参数:
如果在调用函数的时候没有传入参数值,我们会使用默认参数来解决这个问题。
5.不定长参数:
在Python程序中可能需要实现以比当时声明的函数的更多参数这个时候我们就需要使用到不定参数。
说了这个多,如果你还是比较懵逼的话,我们一起来看看这张图片吧。注意:*收集多余的位置参数,**收集多余的关键字参数,并整合为一个字典。
变量的作用域
局部作用域
定义在函数内部的变量拥有一个局部作用域,它只能声明它在函数内部访问,一般如果我们要声明它在全局有意义的话要用到global函数加变量名。
全局作用域
顾名思义它是在整个Python程序里面都会有的变量
内置作用域
是Python自带的一些作用域
查找顺序
匿名函数
在Python程序中,可以使用lambda函数来自己定义,这样的特殊语法,我在之前的文章也详细的介绍了。我这里就不在重复介绍了。
函数与模块开发
格式:import 模块名
上面就是将整个模块导入到Python程序里面。
格式:from 模块名 import 全局变量
上面就是导入了模块的部分功能
有的时候,模块我们要从第三方库里面安装,anaconda里面自带的可能没有,比如我们后期介绍的网络爬虫需要导入的库就需要我们pip安装。
模块安装首先我们需要在anaconda里面用下面的这个格式
pip install 模块名
进行安装和使用,如果安装的时候有困难,出现了问题,你可以使用清华镜像网站,通过那个渠道进行。
https://blog.csdn.net/pansanday/article/details/89374287
这里有一个网站方便的大家学习
其实函数并不难,难的是我们之前的所有知识,要用函数来囊括,这就可能出现了一些bug,但是我们是重要相信自己,兴趣是最好的老师,只有不断的学习才会进步。
介绍完函数了,我们后期就会介绍面向对象,这一块硬骨头了,他应该是所有知识点里面最难的一部分,很抽象,也不是很好懂,但是我相信只要用心就一定可以做到的!之后的文章我会实际操作一些项目,让大家在语法的回顾中感觉。
下期文章再会!