Python学习笔记------模块和包

Python模块

简介与作用

Python模块是一个Python文件,以.py结尾,模块能定义函数、类和变量,模块里也包含可执行的代码

模块的作用:Python中有很多各种不同的模块,每个模块都可以帮我们快速实现一些功能,我们可以任务一个模块就是一个工具包,每一个工具包中都有各种不同的工具供我们使用进而实现各种不同的功能

模块的导入

模块使用前需要先导入,导入语法如下:

[from 模块名] import [ 模块 | 类 | 变量 | 函数 | * ][as 别名]

常用组合:

import 模块名

from 模块名 import 类、变量、方法

from 模块名 import *          #导入模块类所有内容

import 模块名 as 别名

from 模块名 import 功能名 as 别名

#模块导入
#使用import导入time模块使用sleep功能(python内置的time模块)
import time
print("小爱同学")
time.sleep(5)#通过.就可以使用模板内的全部功能
print("我在")
#使用from导入time的sleep功能
from time import sleep
print("小爱同学")
sleep(1)
print("我在")
#使用*导入time模块的全部功能
from time import * #*表示全部的意思
print("小爱同学")
sleep(1)#和import time 不同,不需要.直接使用
print("我在")
#as 定义别名
import time as tt
print("小爱同学")
tt.sleep(5)
print("我在")
#sleep定义别名
from time import sleep as sl
print("小爱同学")
sl(5)
print("我在")

 自定义模块

如何自定义模块

Python中已经帮我们实现了很多模块 ,有时候需要个性化的模块,可以通过自定义模块实现,也就是自己制作一个模块 

新建一个python文件即可,文件名字就是模块名字,自定义模块名必须要符合标识符命名规则

例如: 

 

# 导入不同模块的同名功能
from my_module import test
from my_module1 import test
test(1, 2)  # 运行结果-1,即下面覆盖上面

main变量 

 all变量

# 如果模块文件有'__all__'变量,当使用'from xxx import * '导入时,只能导入这个列表中的元素,没有'__all__'变量,都可以使用
__all__ = ['test']


def test(a, b):
    print(a - b)


def test01(a, b):
    print(a + b)

 例如:

 Python包

自定义包

简介

从物理上,包就是一个文件夹,在该文件夹,  在该文件夹下包含了一个__init__.py文件,该文件夹可用于包含多个模块文件

从逻辑上看,包的本质依旧是模块

包的的作用:当我们的模块文件越来越多,包可以帮我们管理这些模块,包的作用就是包含多个模块,但包的本质依旧是模块。

导入包

新建包,再创建模块。新建包后,包内部会自动创建__init__.py文件

方法一:import 包名.模块名

               包名.模块名.目标     即可使用

from 包名 import 模块名

模块名.目标   即可使用

from 包名.模块名 import 类、变量、方法

 目标    即可

方法二:

使用__all__变量,控制import*

注意:必须在__init__.py文件中添加__all__变量,控制允许导入的模块列表

安装第三方包

包可以包含一堆Python模块,每个模块又内含许多的功能

在python程序的生态中,有许多的第三方包,可以极大程度帮助我们提高开发效率,

如:科学计算中常用的:numpy包

数据分析中常用的:pandas包

大数据计算常用的:pyspark、apache-flink包

图形可视化常用的:matplotlib、pyecharts

人工智能常用的:tensorflow等

这些都是第三方包,极大的丰富了python生态,提高开发效率,需要安装

使用python内置的pip即可

pycharm右下角解释器设置也可

  

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

grafana监控模板 regex截取ip地址

查看prometheus的node服务启动指标up,也可以查看其他的服务 配置监控模板 配置正则截取ip regex截取ip地址 /.*instance"([^"]*):9100*/ #提取(instance")开头,(:9001)结束字段

北京车展“第一枪”:长安汽车发布全球首款量产可变新汽车

4月25日,万众瞩目的2024北京国际汽车展览会在中国国际展览中心如期而至。作为中国乃至全球汽车行业的盛宴,本次车展也吸引了无数业内人士的高度关注。 此次北京车展以“新时代 新汽车”为主题,汇聚了1500余家主流车企及零部件制造商&#xff…

Laravel 6 - 第十七章 配置数据库

​ 文章目录 Laravel 6 - 第一章 简介 Laravel 6 - 第二章 项目搭建 Laravel 6 - 第三章 文件夹结构 Laravel 6 - 第四章 生命周期 Laravel 6 - 第五章 控制反转和依赖注入 Laravel 6 - 第六章 服务容器 Laravel 6 - 第七章 服务提供者 Laravel 6 - 第八章 门面 Laravel 6 - …

Kettle 中将图片url转换为Base64

背景 我遇到了一个应用场景需要将订阅kafka数据中的一个字段(图片url)转换为base64 然后进行下一步操作。 实现方式 我这边的实现方式是使用javaScript去实现的 图形化逻辑如下: 这一步就是实现url转换为base64 json input的步骤&#xf…

vulnhub靶场之driftingblues-6

一.环境搭建 1.靶场描述 get flags difficulty: easy about vm: tested and exported from virtualbox. dhcp and nested vtx/amdv enabled. you can contact me by email for troubleshooting or questions. 2.靶场下载 https://www.vulnhub.com/entry/driftingblues-6,6…

【Spring AI】聊天API-OpenAI-Function Call

文章目录 Function Calling工作原理快速上手将函数注册为 Bean纯 Java 函数实现(Plain Java Functions)FunctionCallback Wrapper Specifying functions in Chat OptionsRegister/Call Functions with Prompt Options 附录:Spring AI 函数调用…

MySQL使用Sequence创建唯一主键

目录 第一章、快速了解Sequence1.1)是什么?为什么使用1.2)Sequence和自增主键的区别 第二章、在MySQL中使用Sequence2.1)创建mysql_sequence表2.1.1)创建表2.1.2)插入数据 2.2)创建函数2.2.1&am…

Kubernetes学习-核心概念篇(三) 核心概念和专业术语

🏷️个人主页:牵着猫散步的鼠鼠 🏷️系列专栏:Kubernetes渐进式学习-专栏 🏷️个人学习笔记,若有缺误,欢迎评论区指正 1. 前言 在前面两篇文章我们简单介绍了什么是K8S,以及K8S的…

Vue面试经验

Vue部分 Vue编译时声明周期的执行顺序 Vue中父子组件渲染顺序(同步引入子组件:import Son from ‘/components/son’ ) 父子组件编译时的生命周期执行顺序 这里修改data数据时也修改了dom,如过知识通过按钮对数据进行操作&…

MySQL8.0 msi版本安装教程

MySQL8.0 msi 版本安装教程 1> 官网下载安装包 2> 安装MySQL 2.1双击打开下载的安装包,进入到下面这个页面,选择 Custom 选项,之后,点击next 说明: 2.2 选择所需产品,更改安装位置(当然也可以默认安…

springCahe框架

基于springboot项目 介绍:Spring Cache 是一个框架,实现了基于注解的缓存功能,只需要简单地加一个注解,就能实现缓存功能。 Spring Cache 提供了一层抽象,底层可以切换不同的缓存实现,例如: EHCache Caff…

Java-字符集-Unicode字符集

1 需求 Unicode 字符集UTF-8、UTF-16、UTF-32字符编码 2 接口 3 示例 4 参考资料

新媒体运营-----短视频运营-----PR视频剪辑----软件基础

新媒体运营-----短视频运营-----PR视频剪辑-----持续更新(进不去说明我没写完):https://blog.csdn.net/grd_java/article/details/138079659 文章目录 1.1 PR软件重置与初始化设置1.2 新建项目及序列设置1.3 PR工作区的管理方法1.4 导入4K超高清视频并与ME配合工作1…

【C语言】编译与链接

1.翻译环境与运行环境 在ANSI C的任何一种实现中,存在两个不同的环境。 1.翻译环境,在这个环境中源代码被转换为可执行的机器指令(二进制指令) 2.执行环境,它用于实际执行代码 2.翻译环境 那么翻译环境是怎么将源代码…

Linux(文件系统和日志分析)

目录 1.inode & block​编辑 1.1 inode的内容 1.3 inode的号码 1.4 inode的大小 1.5 inode的特殊作用 1.6 模拟inode号被占满 2. 链接文件 3.文件恢复 3.1 修复EXT类型的文件 3.1.1 EXT类型文件恢复步骤 3.2 修复XFS类型的文件 1.inode & block 1.1 in…

算法应用实例:最大子列和问题

给定N个整数的序列{A1,A2,……AN},求函数的最大值。 分析:求该序列中最大的连续子列和,若函数最后为负数,返回0作为程序结束。 1.算法1 /*命名为MaxSubseqSum1,A[]:输入整数序列,N:整数序列里面…

7-29 删除字符串中的子串

题目链接:7-29 删除字符串中的子串 一. 题目 1. 题目 2. 输入输出样例 3. 限制 二、代码(python) 1. 代码实现 str1 input().split(\n)[0] str2 input().split(\n)[0] while str2 in str1:str1 str1.replace(str2, "") // 删…

第4篇:创建Nios II工程之Hello_World<三>

Q:接着我们再来完成Nios II软件工程设计部分。 A:从Quartus Tools选择Nios II Software Build Tools for Eclipse,打开Nios II SBT软件,Workspace指定到hello_world工程的software文件夹路径;再从File-->New-->…

使用STM32CubeMX对STM32F4的CAN1/2/3配置及接收中断开启

目录 1. CAN配置1.1引脚(STM32F413VGT6-LQFP100)1.2 时钟1.3 RCC配置1.4 CAN1配置1.5 CAN2配置1.6 CAN3配置1.7 输出设置 2. CAN代码2.1 CAN初始化2.2 CAN滤波器设置2.3 CAN使能2.4 激活中断2.5 CAN发送函数2.6 CAN回调函数2.7 main之后的代码 1. CAN配置…

数据分析:生存分析原理和应用实例

介绍 生存分析的目的是分析某个时间点的“生存概率”是多少。基于这样的研究目的,需要提供生存数据,它是一种由不同的开始时间和结束时间组成的事件-时间的数据,比如在癌症研究领域,研究手术到死亡的过程、治疗到疾病进展等等。 在开展生存分析前,需要了解什么是删失(c…