python基本语法知识(四)——包和模块

news/2024/9/22 20:37:18/

模块

例子1:导入某个模块中的具体功能

# 只导入time模块中的sleep方法,可以直接使用sleep调用不用加time.
from time import sleep
print("hello")
sleep(500)
print("fine")# 只导入time模块中的sleep方法,并给sleep起别名为sl
from time import sleep as sl
print("hello")
sl(500) # !!!
print("fine")

例子2:自定义模块

当自定义模块写了测试代码,在其他代码文件中导入该模块,也会调用该测试代码,即:

注意如下是两个个文件的代码

# my_moudle.py
def add(x, y):print(f"{x} + {y} = {x+y}")add(8, 9)# aa.py
import my_moudle
my_moudle.add(22, 12)

执行aa.py 输出:
8 + 9 = 17
22 + 12 = 34

如果不想执行 my_moudle.py 中的 add(8, 9),可修改代码:

# my_moudle.py
def add(x, y):print(f"{x} + {y} = {x+y}")if __name__ == '__main__':add(8, 9)

__name__是每个py文件内置的变量,只有运行的py文件才会是__main__

例子3:__all__全局变量

# my_moudle.py
__all__ = ['add'] # 其他文件  以from my_moudle import * 导入,则只能用add函数
def add(x, y):print(f"{x} + {y} = {x+y}")def sub(x, y):print(f"{x} - {y} = {x-y}")

python包

python包就是一个文件夹,里面是模块,即python文件,额外还有一个 __init__.py

创建python包方法

在这里插入图片描述

在这里插入图片描述

假设文件夹下有两个模块文件 my_moudle1.py 和 my_moudle2.py

# my_moudle1.py
def print1():print("模块1功能")# my_moudle2.py
def print2():print("模块2功能")

在 aa.py 中使用

# 这样导入,调用函数要写包名.模块名.方法名
import my_package.my_moudle1
import my_package.my_moudle2my_package.my_moudle1.print1()
my_package.my_moudle2.print2()# 这样导入,调用函数要写模块名.方法名
from my_package import my_moudle1
from my_package import my_moudle2my_moudle1.print1()
my_moudle2.print2()# 这样导入,调用函数只要写方法名
from my_package.my_moudle1 import print1
from my_package.my_moudle2 import print2print1()
print2()

列表的sort方法

即使用自己定义的比较函数来进行排序

my_list=[["a", 33], ["b", 55], ["c", 11]]# 基于有名函数排序
# 表明按照element 的第二个元素进行排序
def choose_sort_key(element):return element[1]# reverse=True 表明是降序排列
#my_list.sort(key = choose_sort_key, reverse=True)# 基于lambda匿名函数来降序排序
my_list.sort(key=lambda element:element[1], reverse=True)print(my_list)

输出结果:
[[‘b’, 55], [‘a’, 33], [‘c’, 11]]


http://www.ppmy.cn/news/334484.html

相关文章

uni-app②

文章目录 二、微信小程序简介(一)文档相关开发者工具使用小程序代码构成小程序基本操作 三、uniapp 开发规范uniapp 开发环境开发工具下载 HBuilderX 工程搭建项目运行浏览器运行 四、组件基础组件基础组件列表组件公共属性集合 扩展组件自定义组件 UNI-…

uniCloud

前言 一个云开发平台, 用熟悉的js,轻松搞定前后台整体业务 uni-app官网 核心知识点:客户端与服务空间是怎样工作的 创建一个uniCloud 项目 --- studyUniCloud 创建&关联服务空间 至此,studyUniCloud 已经拥有一个云开发平台&#xff0c…

uni-app ①

文章目录 一、uni-app简介学习 uniapp 本质uniapp 优势uni-app 和 vue 的关系uni-app 和小程序有什么关系uniapp 与 web 代码编写区别课程内容学习重点知识点 一、uni-app 简介 uni-app 是一个使用 Vue.js 进行 开发所有前端应用的框架。开发者编写一套代码,即可发…

快速傅里叶变换:高效的信号处理与数据分析神器

其中一个我认为非常惊艳的算法是快速傅里叶变换(FFT)。它是一种数学算法,可以高效地计算序列的离散傅里叶变换(DFT),这是信号处理和数据分析中的基本操作。FFT已经在许多领域引起了革命,包括音频…

碳排放预测模型 | Python实现基于CNN卷积神经网络的碳排放预测模型(预测未来发展趋势)

文章目录 效果一览文章概述研究内容环境准备源码设计学习总结参考资料效果一览 文章概述 碳排放预测模型 | Python实现基于CNN卷积神经网络的碳排放预测模型(预测未来发展趋势) 研究内容 这是数据集的链接:https://github.com/owid/co2-data/blob/master/owid-co2-data.csv …

Git工作流(随笔)

目录 前言 一、工作流概述 1、概念 2、分类 二、集中式工作流 1、概述 2、介绍 3、操作过程 三、功能分支工作流 1、概述 2、介绍 3、操作过程 1)创建远程分支 2)删除远程分支 四、GitFlow工作流 1、概述 2、介绍 3、操作过程 五、Forki…

两个字符串根据字典序进行排序

两个字符串根据字典序进行排序意味着按照字母表顺序对字符串进行排序。在 JavaScript 中,我们可以使用 localeCompare 方法来比较两个字符串的顺序。具体来说,localeCompare 方法会比较两个字符串的 Unicode 编码值,并返回一个数字&#xff1…

火影忍者巅峰对决服务器维修中,火影忍者巅峰对决进不去怎么办 无法登录解决方法...

火影忍者巅峰对决进不去怎么办?对于一款新游戏来说,开服自然会有一些“突发情况”等待着我们,比如进不去游戏、无法登录之类的,就比较令人纠结了,下面就来分享一下这款手游进不去、无法登录的解决方法。 遇到游戏进不去…