Python学习-----模块1.0(模块的简介、定义与使用)

news2024/9/24 14:23:12

目录

前言:

1.什么是模块

2.模块的分类

 (1)内置模块

(2)第三方模块

(3)自定义模块

3.模块的使用

4.自定义模块

5.模块和执行文件的判断


前言:

        今天就开始讲Python中的模块篇了,模块是Python的重要组成部分,Python之所以可以写出多种多样的程序,其实跟模块的灵活运用是息息相关的,所以这一期我会介绍Python中的模块,包括模块的定义和使用。

1.什么是模块

        前面我们学习了变量类型(整形,字符串,列表,元组……等等)。然后也学习了函数类型,其实就是把一些变量结合起来,然后去实现一些功能。其实模块也是一样的,模块就是把函数、变量等等结合起来,形成一个Python文件,那这个文件名字也就是模块的名字,可以这么说模块就是Python代码的精华。

什么是模块?
模块:就是一个python文件
当python文件作为一个模块的时候,文件名就是模块名,demo.py(demo就是模块名)

作用:可以调用其他python文件的代码,功能,可以更灵活的实现和使用了,添加各种效果

怎么使用:我们通过import(关键字) 去导入模块

2.模块的分类

Python中模块分三大类:

1.内置模块

2.第三方模块

3.自定义模块

 (1)内置模块

说明:

内置模块:在安装Python之后自带的模块,可以直接去使用,比如time,os,re,random……

注意:在使用的时候要去import导入

例如:import time

(2)第三方模块

说明:

第三方模块不是Python自带的,是需要去外部安装到Python里面的,这些模块是一些大佬写的,我们可以去安装使用,比如pygame,requests……等等.

安装:

pip -- python自带的下载器
install -- 下载
uninstall -- 卸载 

前提pip 没有设置python的环境变量的话,那么这个配置就找不到 所以下载python的时候要记得配置环境变量,python默认下载库就是使用pip 如果python环境没有设置好,pip就使用不了-->修复/重装

建议pycharm下载模块(首先选择cmd下载 其次在是pycharm)

方式:进入cmd,直接pip install 模块名

 例如:

这样就下载完成了 

pip相关指令:

#下载模块
pip install 模块名

#查看模块
pip list

 

#卸载模块
pip uninstall 模块名

 

#更新pip 有时候pip的版本太低 新的库升级不了
python -m pip install --upgrade pip -i

 
#通过(cdn)代理加速,下载第三方模块:
pip install 库名 --default-timeout=100 -i https://pypi.tuna.tsinghua.edu.cn/simple 


pip install requests --default-timeout=100 -i https://pypi.tuna.tsinghua.edu.cn/simple 

(3)自定义模块

        顾名思义也就是自己去做的模块然后自己使用,当然了,对于我们初学者来说,我们自己写的模块都是很普通的,那些第三方模块同样也是个人写的,但那些人都是大佬或者一些团队,我们还得再练习两年半才行。

3.模块的使用

导入模块:

import 模块名

(import是导入的意思)

使用模块:

import 模块名

模块名.函数名()

单个导入

from 模块名 import 函数名字/变量名字

例如:from random import randint

导入该模块的全部函数

from 模块名 import *

注意:导入了之后我们就可以去直接使用这些函数,就不需要用模块名.函数名() 这种方式了,直接就函数名() 就行了,但是这种方式有一个很大的缺点,就是当我们去直接使用这些函数或者变量的名字的时候会有可能跟我们去定义的变量或者函数的名字起冲突,出现覆盖的情况,一般不建议使用这种方式

给模块取别名

如果模块名太长不好记 可以通过as给他取一个别名

import 模块名 as 别名

后面我们就可以直接去使用这个模块的别名了,比如:import random as r

                                                                                       r.random()

4.自定义模块

 我们可以自己去定义一个模块,然后在执行文件里面导入直接使用,看示例:

这个是我自定义的一个模块,我把这个模块文件放到与执行文件同一个目录下面,当我们要用的时候就直接去导入就行了。

def fun(n):
    if n==1:
        return 1
    return n*fun(n-1)

a=99

def qj():
    print('这个是我的模块')

 就这样很直接的导入

5.模块和执行文件的判断

 模块是一个py文件的,是可以去执行的,当我们去导入一个模块的时候,其实系统已经把模块提前执行了一遍,然后再去执行主文件,但是我想让模块的一些部分不去执行,这时候我就要通过一种方法去判断这个是不是模块,如果是模块的话,那么这一部分的内容就不去执行

方法:

print(__name__)
# 如果运行代码,结果输出的是__main__的话,就说明这个文件是执行文件,如果返回的是一个模块名就说明这个是作为一个模块被使用

#模块代码
def fun(n):
    if n==1:
        return 1
    return n*fun(n-1)
print(__name__)
a=99

def qj():
    print('这个是我的模块')
#执行文件的代码
import demo

print(__name__)
print(demo.fun(4))

输出结果: 

 这里是先输出demo的,这个demo其实就是模块的名字(可以看出模块是先执行,再去执行主文件),而__main__是表示这个是执行文件,所以我们可以通过这种方法去判断一个文件是模块还是执行文件。

例如:

#模块代码
def fun(n):
    if n==1:
        return 1
    return n*fun(n-1)
if __name__=='__main__':
    print(123456)

当我去调用这个模块的时候,是不会输出123456的,因为这个是一个模块的。

这一期就到这里了,谢谢大家~~~

分享一张壁纸

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

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

相关文章

第07章_单行函数

第07章_单行函数 讲师:尚硅谷-宋红康(江湖人称:康师傅) 官网:http://www.atguigu.com 1. 函数的理解 1.1 什么是函数 函数在计算机语言的使用中贯穿始终,函数的作用是什么呢?它可以把我们经…

netty心跳

为什么要引入心跳机制:因为网络连接是不可靠的,像在TCP长连接或者webSocket长连接时都会使用心跳机制,即发送特殊的数据包告诉自己的业务没办完,不要关闭连接。案例要求:当服务器超过3秒没有读时,就提示读空…

二维数组中的查找(两种解法,各有千秋)

凡事都有可能,永远别说永远。——《放牛班的春天》今天一题为再一个行列都有序的二维数组中寻找一个目标值,我们第一时间想到的可能是很暴力的解法,例如从头到尾进行遍历,这样能做出来,但是借用武忠祥老师的一句话&…

15-基础加强-1-类加载器反射

文章目录1.类加载器1.1类加载器【理解】1.2类加载的过程【理解】1.3类加载的分类【理解】1.4双亲委派模型【理解】1.5ClassLoader 中的两个方法【应用】2.反射2.1反射的概述【理解】2.2获取Class类对象的三种方式【应用】 第1步:获取类的Class对象2.3反射获取构造方…

【FiddlerScript】利用Fiddler中的FiddlerScript解除4399小游戏的防沉迷

本文仅供技术探讨,切勿用于非法用途案例网站:小游戏,4399小游戏,小游戏大全,双人小游戏大全 - www.4399.com准备的工具:配置好的Fiddler一个Fiddler官方英文版配置教程:https://www.bilibili.com/video/BV1rP4y1t7ZLFiddler中文版配重教程:https://www.bilibili.com…

懒加载以及预加载相关概念

⼆、懒加载 1. 懒加载的概念 懒加载也叫做延迟加载、按需加载,指的是在⻓⽹⻚中延迟加载图⽚数据,是⼀种较好的⽹⻚性能优化 的⽅式。 在⽐较⻓的⽹⻚或应⽤中,如果图⽚很多,所有的图⽚都被加载出来,⽽⽤户只能看到…

创建vue项目

前提安装node.js 安装vue脚手架 命令: npm install -g vue/cli 安装完成后查看下版本 vue --version 开始创建vue项目,可以用cmd终端也可以用pow(Windows PowerShell) 搜索输入pow以管理员运行 找一个项目存放位置 pow进入该目录 创建项目命令 如果创建项目时候报错 输入…

解读|奔驰财报展现强大现金实力,2年内回购价值40亿欧元股票

2月17日,梅赛德斯-奔驰集团股份公司(股票代码:MBG)发布了拆分后的第一个财年业绩报告,2022年,该集团实现营业总收入1500.17亿欧元,同比上年增长35%;实现税前利润为204.58亿欧元&…

【基础】Flink -- ProcessFunction

Flink -- ProcessFunction处理函数概述处理函数基本处理函数 ProcessFunction按键分区处理函数 KeyedProcessFunction定时器与定时服务基于处理时间的分区处理函数基于事件时间的分区处理函数窗口处理函数 ProcessWindowFunction应用案例 -- Top N处理函数概述 为了使代码拥有…

基于Springbot+微信小程序的购药平台的设计与实现

基于Springbot微信小程序的购药平台的设计与实现 ✌全网粉丝20W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取项目下载方式🍅 一、…

Jackson 序列化:Cannot deserialize value of type `java.time.LocalDateTime`

问题描述 使用 jackson 反序列化异常如下: Caused by: com.fasterxml.jackson.databind.exc.InvalidFormatException: Cannot deserialize value of type java.time.LocalDateTime from String “2023-02-13 19:43:01”: Failed to deserialize java.time.LocalDat…

MySQL的四种事务隔离级别

目录一、事务的基本要素(ACID)1、原子性(Atomicity):2、一致性(Consistency):3、隔离性(Isolation):4、持久性(Durability&#xff09…

使用canvas给上传的整张图片添加平铺的水印

写在开头 哈喽,各位倔友们又见面了,本章我们继续来分享一个实用小技巧,给图片加水印功能,水印功能的目的是为了保护网站或作者版权,防止内容被别人利用或白嫖。 但是网络中,是没有绝对安全的,…

iOS接入Google登录

1.在Google Cloud后台配置客户端ID 首先要在 Google Cloud 中创建一个项目。新创建的Project需要先配置同意屏幕。一共有4步骤需要配置。 1.OAuth 同意屏幕 User Type选择"外部"进行创建。填写必必要的信息,应用名称、用户支持电子邮件地址、开发者电子邮…

chatGPT是什么?chatGPT运用场景有哪些?

大家好,小编来为大家解答以下问题 chatGPT是什么?,chatGPT概念股有哪些?一个有趣的事情,一个有趣的事情,现在让我们一起来看看吧! 1、chatpgt是什么 ChatGPT是OpenAI开发的大型预训练语言模型。…

yolov5 onnx 前后处理+运行推理(暂记)

代码在这个基础上改的,虽然跑通了,还是很混乱,这里先简单记录一下处理的流程: yolov5 环境设置yolov5 网络结构ONNX yolov5导出 convert error --grid番外:onnx直接操作番外:yolov5的重新训练 result 0 -…

[安装之4] 联想ThinkPad 加装固态硬盘教程

方案:保留原有的机械硬盘,再加装一个固态硬盘作为系统盘。由于X250没有光驱,这样就无法使用第二个2.5寸的硬盘。还好,X250留有一个M.2接口,这样,就可以使用NGFF M.2接口的固态硬盘。不过,这种接…

短视频时代是靠什么赚钱的,介绍常见的5种方式,简单明了

目前,短视频越来越火热,大家都知道做短视频可以赚钱,那么究竟是靠什么赚钱的,又有几个人知道呢?短视频创业有个人、有团队,怎么实现团队的生存和发展。 常见的几种变现方式有: 1、平台分成 各…

C语言中用rand()函数产生一随机数

在C语言中如何产生一个随机数呢&#xff1f;用rand()函数。 rand()函数在头文件&#xff1a;#include <stdio.h>中&#xff0c;函数原型&#xff1a;int rand(void);。rand()会返回一个范围在0到RAND_MAX&#xff08;32767&#xff09;之间的随机数&#xff08;整数&…

Pytorch 基础之张量数据类型

学习之前&#xff1a;先了解 Tensor&#xff08;张量&#xff09; 官方文档的解释是&#xff1a; 张量如同数组和矩阵一样, 是一种特殊的数据结构。在PyTorch中, 神经网络的输入、输出以及网络的参数等数据, 都是使用张量来进行描述。 说白了就是一种数据结构 基本数据类型…