1.定义函数
在 Python 中,可以通过 def 关键字来定义一个函数。函数是一段封装了特定功能的可重复使用的代码块。以下是定义函数的一般语法
2.函数的参数
python 函数的参数传递:
不可变类型:类似 c++ 的值传递,如 整数、字符串、元组。如fun(a),传递的只是a的值,没有影响a对象本身。比如在 fun(a)内部修改 a 的值,只是修改另一个复制的对象,不会影响 a 本身。
可变类型:类似 c++ 的引用传递,如 列表,字典。如 fun(la),则是将 la 真正的传过去,修改后fun外部的la也会受影响
python 中一切都是对象,严格意义我们不能说值传递还是引用传递,我们应该说传不可变对象和传可变对象。
3. 实参和形参
编程中,参数(Parameters)分为实际参数(Arguments)和形式参数(Parameters),英文分别为"Arguments"和"Parameters"。它们有以下区别:
形式参数(形参):形参是在定义函数时用于接收传递给函数的值的变量。在函数定义中,形参是在括号内声明的变量名。形参只是作为占位符,当函数被调用时,形参会被实参的值所替代。
4. 必备参数
在 Python 中,必备参数是指在函数定义中必须提供数值或对象的参数,调用函数时必须传递这些参数才能正确执行函数。
5. 关键字参数
在 Python 中,关键字参数是一种参数传递方式,允许在函数调用时通过指定参数名来传递参数值,从而不受参数顺序的限制。
6. 默认参数
在 Python 中,可以在函数定义时为参数设置默认值,这样在调用函数时如果不提供该参数的值,则会使用默认值。这种参数称为默认参数。
7. 不定长参数
在 Python 中,可以使用不定长参数来处理传递给函数的可变数量的参数。Python 提供了两种不定长参数:可变位置参数和可变关键字参数。
*args是一种用来处理可变数量的位置参数的语法。当函数使用 *args 作为参数时,它可以接受任意数量的位置参数,并且将这些参数作为一个元组传递给函数。
**kwargs是用来处理可变数量的关键字参数的语法。当函数使用 **kwargs 作为参数时,它可以接受任意数量的关键字参数,并且将这些参数作为一个字典传递给函数。
8. 匿名函数
Python 中,可以使用 lambda 关键字来创建匿名函数。匿名函数的语法通常是 lambda arguments: expression,其中 arguments 是函数的参数,expression 是函数的返回值。匿名函数通常用于需要一个简单函数的场合,不需要为其命名。
9. return 语句
在编程中,return 语句用于从函数中返回一个值,并结束函数的执行。
10. 局部变量
局部变量(Local Variables):定义在特定作用域内(如函数内部)的变量称为局部变量,它们只能在其定义的作用域内被访问。局部变量在函数执行时创建,并在函数执行完毕后销毁。局部变量可以与同名的全局变量共存,但局部变量会覆盖同名的全局变量。
11.全局变量
全局变量(Global Variable)是指在程序中全局范围内都可以访问的变量,即这些变量在程序的任何地方都可以被读取或修改。在大多数编程语言中,包括 Python 在内,全局变量通常定义在函数外部,即在整个程序的顶层范围内。
在 Python 中,如果在函数外部定义一个变量,那么这个变量就成为全局变量。全局变量可以在程序的任何函数内部访问,但如果需要在函数内部修改全局变量的值,需要使用global关键字声明。
12.几个特殊函数
12.1 map函数
在 Python 中,map() 函数是一个内置函数,用于将一个函数应用于迭代器(如列表、元组等)中的每个项,返回一个包含结果的新迭代器。
格式:map(function, iterable)
12.2 reduce函数
reduce() 函数可以帮助我们对一个序列中的元素依次进行累积操作,最终返回一个结果。
12.3 filter函数
在 Python 中,filter() 函数是一个内置函数,用于过滤序列(如列表、元组等)中的元素,返回一个符合条件的元素组成的新序列。
filter(function, iterable)