初识Python之函数模块篇

简介: 初识Python之函数模块篇

前言

前期我们介绍了,元组、列表、字典,里面有很多的内置函数,我们要熟记于心,经常练习,后面我们去实际应用的时候,就可以满足需要而又不复杂。本期我们将开启函数与模块的探索!

定义函数

在Python程序中,在使用函数前必须定义声明函数,然后才能调用它。

def<函数名>(参数列表):
  函数语句
  return<返回值>

有的时候,参数和返回值可以不需要的,如果没有该返回值,自动返回为None。


# 定义一个没有参数的函数
def hello_python():
    '''
    打印出一句话
    :return: 无
    '''
    print("hello,python!")
# 调用该函数
hello_python()

image.png

# 定义一个带有参数和返回值的函数
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程序中可能需要实现以比当时声明的函数的更多参数这个时候我们就需要使用到不定参数。


说了这个多,如果你还是比较懵逼的话,我们一起来看看这张图片吧。注意:*收集多余的位置参数,**收集多余的关键字参数,并整合为一个字典。

image.png

变量的作用域


局部作用域


定义在函数内部的变量拥有一个局部作用域,它只能声明它在函数内部访问,一般如果我们要声明它在全局有意义的话要用到global函数加变量名。


全局作用域


顾名思义它是在整个Python程序里面都会有的变量


内置作用域


是Python自带的一些作用域


查找顺序

image.png

匿名函数


在Python程序中,可以使用lambda函数来自己定义,这样的特殊语法,我在之前的文章也详细的介绍了。我这里就不在重复介绍了。


函数与模块开发


格式:import 模块名

上面就是将整个模块导入到Python程序里面。


格式:from 模块名 import 全局变量

上面就是导入了模块的部分功能


有的时候,模块我们要从第三方库里面安装,anaconda里面自带的可能没有,比如我们后期介绍的网络爬虫需要导入的库就需要我们pip安装。


模块安装首先我们需要在anaconda里面用下面的这个格式

pip install 模块名

进行安装和使用,如果安装的时候有困难,出现了问题,你可以使用清华镜像网站,通过那个渠道进行。


https://blog.csdn.net/pansanday/article/details/89374287

这里有一个网站方便的大家学习


其实函数并不难,难的是我们之前的所有知识,要用函数来囊括,这就可能出现了一些bug,但是我们是重要相信自己,兴趣是最好的老师,只有不断的学习才会进步。


介绍完函数了,我们后期就会介绍面向对象,这一块硬骨头了,他应该是所有知识点里面最难的一部分,很抽象,也不是很好懂,但是我相信只要用心就一定可以做到的!之后的文章我会实际操作一些项目,让大家在语法的回顾中感觉。


下期文章再会!


相关文章
|
2月前
|
开发者 Python
如何在Python中管理模块和包的依赖关系?
在实际开发中,通常会结合多种方法来管理模块和包的依赖关系,以确保项目的顺利进行和可维护性。同时,要及时更新和解决依赖冲突等问题,以保证代码的稳定性和可靠性
55 4
|
18天前
|
Python
Python Internet 模块
Python Internet 模块。
117 74
|
2月前
|
搜索推荐 Python
利用Python内置函数实现的冒泡排序算法
在上述代码中,`bubble_sort` 函数接受一个列表 `arr` 作为输入。通过两层循环,外层循环控制排序的轮数,内层循环用于比较相邻的元素并进行交换。如果前一个元素大于后一个元素,就将它们交换位置。
138 67
|
2月前
|
算法 数据安全/隐私保护 开发者
马特赛特旋转算法:Python的随机模块背后的力量
马特赛特旋转算法是Python `random`模块的核心,由松本真和西村拓士于1997年提出。它基于线性反馈移位寄存器,具有超长周期和高维均匀性,适用于模拟、密码学等领域。Python中通过设置种子值初始化状态数组,经状态更新和输出提取生成随机数,代码简单高效。
117 63
|
2月前
|
测试技术 Python
手动解决Python模块和包依赖冲突的具体步骤是什么?
需要注意的是,手动解决依赖冲突可能需要一定的时间和经验,并且需要谨慎操作,避免引入新的问题。在实际操作中,还可以结合使用其他方法,如虚拟环境等,来更好地管理和解决依赖冲突😉。
|
2月前
|
持续交付 Python
如何在Python中自动解决模块和包的依赖冲突?
完全自动解决所有依赖冲突可能并不总是可行,特别是在复杂的项目中。有时候仍然需要人工干预和判断。自动解决的方法主要是提供辅助和便捷,但不能完全替代人工的分析和决策😉。
|
28天前
|
Python
Python中的函数是**一种命名的代码块,用于执行特定任务或计算
Python中的函数是**一种命名的代码块,用于执行特定任务或计算
48 18
|
19天前
|
数据可视化 DataX Python
Seaborn 教程-绘图函数
Seaborn 教程-绘图函数
46 8
|
2月前
|
JSON Linux 数据格式
Python模块:从入门到精通,只需一篇文章!
Python中的模块是将相关代码组织在一起的单元,便于重用和维护。模块可以是Python文件或C/C++扩展,Python标准库中包含大量模块,如os、sys、time等,用于执行各种任务。定义模块只需创建.py文件并编写代码,导入模块使用import语句。此外,Python还支持自定义模块和包,以及虚拟环境来管理项目依赖。
Python模块:从入门到精通,只需一篇文章!
|
29天前
|
Python
Python中的函数
Python中的函数
43 8