Python函数

it2023-11-17  65

函数:

函数是一个功能、是一个行为、是一个动作。 函数就是一个具有名称的功能代码的集合。 一段用来解决某一个问题的代码或者指令,具有名称的集合。

python中如何使用函数 def 函数名称([参数列表]): # 函数体 # 函数得到一个结果,如果调用者需要,则需要返回这个结果 # return 返回值 函数调用: 函数名称([实参列表]) |-- 函数的分类

函数的分类: |-- 有无参数 |-- 有参函数 |-- 无参函数 |-- 是否存在返回值 |-- 有返回值的函数 |-- 无返回值的函数 |-- 定义者 |-- 系统函数 |-- 第三方函数 |-- 自定义的

全局变量在函数中的使用 全局变量(global variable):定义在py文件中 局部(本地)变量(local variable):定义在函数或者类内部的就是局部变量 **注意:**在python,函数内部不允许修改全局变量,如果要在Python中强制修改全局变量, 在函数第一行,使用 “global 变量名称” 声明

函数调用过程: 函数在python中,本质就是一个对象!!!

函数的调用叫做压栈(push)!!! 调用完成后函数就需要立刻出栈(pop)!!

引用传递和值传递 值传递,值传递仅仅会传递变量的值,不会对变量本身产生影响 引用传递,引用传递传递是对象的地址(也就是对象),因此会对对象的值产生影响

python的main函数: if name == ‘main’: python是一门脚本语言,所以它的main函数和c或者java等不一样 python中的main函数并不是代码开始执行的位置,写在main函数中的代码一般是测试代码,用来测试当前模块 并不能导入到其他模块中

函数的参数:

默认值参数: 在函数定义时,如果一些参数的值,一般都是不是不变某个值,则可以将该参数设置为默认参数,这样减少调用者的麻烦

在python中默认值参数必须跟在参数之后 def get_circle_area (r, PI=3.14 ): 可变参数: *变量 def show_ info(msg , name , *args): print(msg) print(”我的名字是“,name) if len(args)>0 print(args) #以元组的形式保存所有的可变参数 arg为可变参数 show_info (" 我是憨憨" ,”嘟嘟“,“haha “,“hehe”) 命名参数(关键字参数) **变量名称 def show_ info(msg , name , **kwargs): print(msg) print(”我的名字是“,name) print(kwargs) #以字典类型保存数据 show_info (” 我是憨憨” ,”嘟嘟“, nickname=“嘿嘿”,age=16,gender=”男“)

这几个参数必须都在普通参数之后

万能参数 *args, **kwargs

函数作为参数传递到函数内部: Python中,函数本质是一个对象,Python中,函数的参数类型是Python中的所有类型都可 结论:自Python,函数可以作为参数传递到函数内部去

lambda表达式:(在Python实现匿名函数 ) #注意 :如果需要返回值,不用添加return,会自动返回 lambda [ 参数列表 ] : 函数体 def fun1( fn): fn( ) print(“fun1执行了”) fun1 ( lambda : print(“这个函数是fn函数”))

lambda作用: 1、在python实现匿名函数 2、简化了编程

lambda缺点: 1、降低了代码的可读性,提高代码的复杂度,提高了代码的维护成本

偏函数:

将一个函数的参数修改或者增加默认值,就称为偏函数 import functools new_int = functools.partial(int, base=8) >>> new_int(“1234”) 668

递归: 函数自身调用自身,并且一定要有终止条件

最新回复(0)