【零基础入门学习Python---Python函数和模块】

news2024/9/29 3:30:52

在这里插入图片描述

🚀 Python 🚀

🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀
🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨
🌲 作者简介:硕风和炜,CSDN-Java领域优质创作者🏆,保研|国家奖学金|高中学习JAVA|大学完善JAVA开发技术栈|面试刷题|面经八股文|经验分享|好用的网站工具分享💎💎💎
🌲 恭喜你发现一枚宝藏博主,赶快收入囊中吧🌻
🌲 人生如棋,我愿为卒,行动虽慢,可谁曾见我后退一步?🎯🎯

🚀 Python 🚀

在这里插入图片描述

🍔 目录

  • 📬 Python函数和模块
    • 📜 函数的定义和调用
    • 📜 函数参数
      • 📰 位置参数
      • 📰 关键字参数
      • 📰 默认参数
      • 📰 可变参数
    • 📜 函数的返回值和作用域
    • 📜 匿名函数(Lambda函数)
    • 📜 模块的概念和导入
    • 📜 标准库和第三方库的使用
    • 📜 创建自己的模块和包
    • 📜 发布自己的包到PyPI
    • ✨ 结论
    • 💬 共勉

📬 Python函数和模块

本文将介绍Python中的函数和模块的概念以及它们的用法。我们将深入探讨函数的定义和调用方式,函数参数的种类,返回值和作用域,匿名函数(Lambda函数)的使用,以及模块的导入和创建。此外,我们还将介绍如何使用标准库和第三方库,以及如何创建自己的模块和包,并将最终的包发布到PyPI。

📜 函数的定义和调用

在Python中,函数是一种可重复使用的代码块,用于执行特定的任务。函数通过关键字def进行定义,可以包含参数和返回值。下面是一个简单的函数定义和调用的示例:

def greet(name):
    print("Hello, " + name + "!")

greet("Alice")

上述代码定义了一个名为greet的函数,它接受一个参数name并打印出问候语。函数调用greet("Alice")会输出Hello, Alice!

📜 函数参数

Python函数可以接受不同类型的参数,包括位置参数、关键字参数、默认参数和可变参数。

📰 位置参数

位置参数是按照定义时的顺序进行传递的参数。下面的例子演示了一个接受两个位置参数的函数:

def add_numbers(x, y):
    return x + y

result = add_numbers(3, 5)
print(result)  # 输出: 8

📰 关键字参数

关键字参数是通过指定参数名进行传递的参数。这使得我们可以在函数调用时不关心参数的顺序。下面的例子演示了使用关键字参数的函数调用:

def greet(name, message):
    print(message + ", " + name + "!")

greet(message="Hello", name="Alice")

📰 默认参数

默认参数是在函数定义时为参数指定的默认值。如果调用函数时没有提供相应的参数值,则使用默认值。下面的例子演示了一个具有默认参数的函数:

def greet(name, message="Hello"):
    print(message + ", " + name + "!")

greet("Alice")  # 输出: Hello, Alice!
greet("Bob", "Hi")  # 输出: Hi, Bob!

📰 可变参数

可变参数允许函数接受任意数量的参数。在函数定义中,可以使用*args来表示可变参数。下面的例子展示了如何使用可变参数计算数字的总和:

def calculate_sum(*numbers):
    total = sum(numbers)
    return total

result = calculate_sum(1, 2, 3, 4, 5)
print(result)  # 输出: 15

📜 函数的返回值和作用域

函数可以通过return语句返回一个值。在函数中,return语句用于结束函数的执行并返回结果。下面的例子演示了

函数的返回值的使用:

def square(x):
    return x ** 2

result = square(5)
print(result)  # 输出: 25

函数中的变量有其特定的作用域。在函数内部定义的变量属于函数的局部作用域,而在函数外部定义的变量属于全局作用域。局部作用域的变量只在函数内部可见,全局作用域的变量则可以在整个程序中访问。下面的例子展示了作用域的概念:

x = 10  # 全局变量

def print_number():
    x = 5  # 局部变量
    print(x)

print_number()  # 输出: 5
print(x)  # 输出: 10

📜 匿名函数(Lambda函数)

匿名函数,也称为Lambda函数,是一种没有名称的小型函数。它们通常用于需要一个简单函数作为参数的场景。下面的例子展示了如何定义和使用匿名函数:

multiply = lambda x, y: x * y

result = multiply(3, 5)
print(result)  # 输出: 15

Lambda函数的语法是使用关键字lambda定义函数,后面跟着参数列表和冒号,然后是函数体的表达式。

📜 模块的概念和导入

模块是包含Python代码的文件,它们用于组织和重用代码。每个Python文件都可以被视为一个模块。模块可以包含函数、类、变量和其他可执行代码。

要使用模块中的代码,需要使用import语句将其导入到当前的代码文件中。下面是一个导入模块并调用其中函数的示例:

import math

result = math.sqrt(16)
print(result)  # 输出: 4.0

在上述示例中,我们使用import math导入了Python的标准库中的math模块,并使用math.sqrt()函数计算了16的平方根。

📜 标准库和第三方库的使用

Python提供了丰富的标准库,包含了各种功能和工具模块。标准库中的模块可以直接使用,无需进行额外的安装。除了标准库之外,还有大量的第三方库可供使用,这些库提供了各种领域的功能和工具,可以通过安装包管理器(如pip)进行安装。

要使用第三方库,首先需要使用包管理器安装该库,然后使用import语句导入库的模块。下面的示例演示了使用第三方库requests发送HTTP请求的例子:

import requests

response = requests.get("https://www.example.com")
print(response.status_code)  # 输出: 200

在上述示例中,我们使用import requests导入了第三方库

requests,并使用requests.get()函数发送了一个HTTP GET请求。

📜 创建自己的模块和包

除了使用现有的模块和库,我们还可以创建自己的模块和包来组织和重用自己的代码。

模块是一个包含Python代码的文件,可以包含函数、类、变量等。要创建自己的模块,只需编写代码并将其保存为.py文件。下面是一个示例:

# mymodule.py

def greet(name):
    print("Hello, " + name + "!")

def square(x):
    return x ** 2

在其他代码中,可以使用import语句导入自己的模块,并使用其中的函数和变量:

import mymodule

mymodule.greet("Alice")
result = mymodule.square(5)
print(result)  # 输出: 25

包是一个包含多个模块的目录,用于组织和管理相关的代码。要创建自己的包,可以创建一个包含__init__.py文件的目录,并在该目录下创建模块文件。__init__.py文件可以是一个空文件,也可以包含初始化包的代码。下面是一个包的示例结构:

mypackage/
    __init__.py
    module1.py
    module2.py

在其他代码中,可以使用import语句导入包及其中的模块,并使用其中的函数和变量:

import mypackage.module1

mypackage.module1.function1()

📜 发布自己的包到PyPI

PyPI(Python Package Index)是Python的软件包仓库,可以用于分享和分发Python包。要将自己的包发布到PyPI,首先需要创建一个PyPI账户,并准备好包的源代码。然后,可以使用setuptools库来创建一个setup.py文件,其中包含有关包的元数据和依赖项信息。

完成setup.py文件的编写后,可以使用pip工具将包上传到PyPI。以下是发布包到PyPI的大致步骤:

  1. 创建PyPI账户。
  2. 编写setup.py文件,并在其中指定包的元数据和依赖项信息。
  3. 使用twine工具将包上传到PyPI。

详细的发布包到PyPI的步骤和流程可以在PyPI的官方文档中找到更详细的说明。

PyPI的官方文档

✨ 结论

本文介绍了Python中函数和模块的基本概念和用法。我们学习了函数的定义和调用方式,包括函数参数的种类和使用方法,以及函数的返回值和作用域。我们还了解了匿名函数(Lambda函数)的使用,以及如何导入标准库和第三方库。此外,我们还探讨了如何创建自己的模块和包,并最终了解了如何将包发布到PyPI,与其他开发者共享和分发我们的代码。通过灵活运用函数和模块的知识,我们可以更好地组织和重用代码,提高开发效率和代码质量。

💬 共勉

最后,我想和大家分享一句一直激励我的座右铭,希望可以与大家共勉!

在这里插入图片描述

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/687952.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

protoBuf

序列化和反序列化 链接 序列化的对象是什么 程序对象 对象序列化之后是什么 字节流 protocol buffer 链接 教程 原文链接 Protocol Buffer 的作用 通过将结构化的数据(拥有多种属性)进行序列化,从而实现(内存与硬盘之间…

探索MediaPipe检测人脸关键点

MediaPipe是Google开源的计算机视觉处理框架,基于TensorFlow来训练模型,支持人脸识别、人脸关键点、物体检测追踪、图像分类、人像分割、手势识别、文本分类、语音分类等。我们可以使用CPU来推理,也可以选择GPU加速推理。在滤镜特效场景&…

【软考网络管理员】2023年软考网管初级常见知识考点(17)-数据加密与签名摘要

涉及知识点 对称加密,非对称加密,数字签名,报文摘要,数字证书 软考网络管理员常考知识点,软考网络管理员网络安全,网络管理员考点汇总。 文章目录 涉及知识点前言一、对称加密技术1.DES2.3DES3.IDEA4.AES5…

系统架构的精髓:18个必懂的设计概念一览

要想在系统设计领域中脱颖而出,深入理解一些基础的系统设计概念是必不可少的,这些概念包括负载均衡、缓存、分区、复制、数据库和代理等。 依据我自己的经验,我总结出了18个关键概念,如果能掌握这些,将极大地提升你处…

Android APT 系列 (二):APT 筑基之注解

注解介绍 元数据 元数据就是为其他数据提供信息的数据 注解 官方解释:注解用于为代码提供元数据。作为元数据,注解不直接影响你的代码执行,但也有一些类型的注解实际上可以用于这一目的。Java 注解是从 JDK 1.5 开始添加到 Java 的。 简单…

建议收藏:OpenKruise入门与实践

简介 OpenKruise 是一个基于 Kubernetes 的扩展套件,主要聚焦于云原生应用的自动化,比如部署、发布、运维以及可用性防护。 OpenKruise 提供的绝大部分能力都是基于 CRD 扩展来定义,它们不存在于任何外部依赖,可以运行在任意纯净的…

css 背景颜色级别高于背景图

<div class"bg-parent"> <img :src"employeeImg" class"bg-url" /> <div class"bg"> <el-icon class"plus-icon"> <Plus /> </el-icon> </div> </div> .bg-parent{ //父级…

Web服务器群集:Nginx之Rewrite重写

目录 一、理论 1.Nginx正则表达式 2.location匹配 3.rewrite重写 二、实验 1.基于域名的跳转 2.基于客户端 IP访问跳转 3.基于旧域名跳转到新域名后面加目录 4.基于参数匹配的跳转 5.基于目录下所有 php结尾的文件跳转 6.基于最普通一条url请求的跳转 三、总结 一、…

福昕Foxit PDF远程代码执行漏洞CVE-2023-27363分析与复现

漏洞概述 福建福昕软件开发股份有限公司是一家国际化运营的PDF电子文档解决方案提供厂商&#xff0c;提供文档的生成、转换、显示、编辑、搜索、打印、存储、签章、表单、保护、安全分发管理等涵盖文档生命周期的产品技术与解决方案。其下产品Foxit PDF Reader和Foxit PDF Edit…

性能测试——App性能测试需要关注的指标

目录 一、Android客户端性能测试常见指标&#xff1a; 二、预期标准指定原则 三、测试方法及工具 一.从用户角度出发 二.站在管理员的角度考虑需要关注的性能点 三.站在开发(设计)人员角度去考虑 四.站在测试工程师角度考虑 总结&#xff1a; 一、Android客户端性能测试…

无功功率补偿及电容器的简单介绍 安科瑞 许敏

摘要&#xff1a;主要对无功功率的概念、电容器的补偿方式、补偿容量的计算等方面进行了阐述&#xff0c;在此基础上介绍了电容器运行的注意事项。 关键词&#xff1a;电力电容器&#xff1b;补偿方式 &#xff1b;运行 0 引言 笔者从进入吕合煤业从事电工工作的那天起&#…

Wav2Lip原理以及训练

原理 1: 音视频同步判别器 常规SyncNet&#xff1a; 功能&#xff1a;音频和嘴唇同步 实质&#xff1a;判断音频和唇形在某个共同参数空间下的相似性。 网络结构&#xff1a; 一种伪孪生网络结构&#xff0c;分别提取嘴形特征和音频特征&#xff0c;然后通过对比损失计算两者…

VS2017+OpenCV4.5.1 安装与配置,扩展模块opencv_contrib的安装与配置

文章目录 VS2017OpenCV4.5.1 安装与配置&#xff0c;扩展模块opencv_contrib的安装与配置1、OpenCV下载&#xff1a;&#xff08;1&#xff09;下载地址&#xff1a;https://opencv.org/releases/page&#xff08;2&#xff09;解压到指定文件夹&#xff1a; 2、配置环境&#…

如何进行可视化的数据过滤?Sugar BI 的过滤组件教你快速实现

Sugar BI 中支持了 10种过滤组件&#xff0c;这些过滤组件都是让用户在浏览报表或大屏的时候&#xff0c;能够交互式的对页面上的图表进行数据的过滤。所有过滤组件对图表的数据过滤设置都是一样的&#xff0c;如下&#xff1a; 例如页面中已有两个图表&#xff08;这两个图表…

人脑髓鞘化

髓鞘化 大纲&#xff1a;髓鞘化定义&#xff1b;髓鞘化能用来干嘛&#xff1b;髓鞘化现阶段存在的痛点&#xff1b;现有方法如何解决问题&#xff1b;我们方法的优势。 定义 髓鞘化是指髓鞘发展的过程&#xff0c;它使神经兴奋在沿神经纤维传导时速度加快&#xff0c;并保证…

开窗函数分享

开窗函数定义 开窗函数&#xff1a;用于为行定义一个窗口&#xff0c;它一组值进行操作&#xff0c;不需要使用group by子句对数据进行分组&#xff0c;能够在同一行中同时返回基础行的列和聚合列。 划重点!!! 开窗函数返回&#xff1a;基础行列、聚合列 下面通过例子看一下…

OJ# 376 机器翻译

题目描述 ​ 小李的电脑上安装了一个机器翻译软件&#xff0c;他经常用这个软件来翻译英语文章。 ​这个翻译软件的原理很简单&#xff0c;它只是从头到尾&#xff0c;依次将每个英文单词用对应的中文含义来替换。对于每个英文单词&#xff0c;软件会先在内存中查找这个单词的…

简单易用多git服务器ssh密钥配置管理

文章目录 前言一、什么是ssh-key二、配置步骤添加ssh-key配置多ssh-key 总结 前言 快速理解如何配置管理多个git服务器的ssh&#xff0c;当我们有多个git帐号时会涉及如何管理不同的remote使用不同的git账户登陆推送 当前repo的origin remote是github&#xff0c;我们在推送时…

EMMC基础知识总结

1、说明 1.0 整体架构 ‘ EMMC最简单的可理解为带有控制器的FLASH&#xff0c;具体结构如下&#xff1a; EMMC&#xff1a; Embedded multiMediaCard EMMC. EMMC内部&#xff1a; host interface 、 flash controller 、 flash memory 1.1 flash memory 结构 EMMC 中一般…

学习Vue3——watchEffect(高级侦听器)

立即运行一个函数&#xff0c;同时响应式地追踪其依赖&#xff0c;并在依赖更改时重新执行。 watchEffect有两个参数 第一个参数就是要运行的副作用函数 第二个参数是一个可选的选项&#xff0c;可以用来调整副作用的刷新时机或调试副作用的依赖 API—watchEffect 基本用法 …