当前位置: 首页 > news >正文

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

目录

前言:

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 1return n*fun(n-1)a=99def qj():print('这个是我的模块')

 就这样很直接的导入

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

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

方法:

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

#模块代码
def fun(n):if n==1:return 1return n*fun(n-1)
print(__name__)
a=99def qj():print('这个是我的模块')
#执行文件的代码
import demoprint(__name__)
print(demo.fun(4))

输出结果: 

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

例如:

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

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

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

分享一张壁纸

相关文章:

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

目录 前言: 1.什么是模块 2.模块的分类 (1)内置模块 (2)第三方模块 (3)自定义模块 3.模块的使用 4.自定义模块 5.模块和执行文件的判断 前言: 今天就开始讲Python中的模块篇…...

Linux进程学习【二】

✨个人主页: Yohifo 🎉所属专栏: Linux学习之旅 🎊每篇一句: 图片来源 🎃操作环境: CentOS 7.6 阿里云远程服务器 Perseverance is not a long race; it is many short races one after another…...

我问chatGPT,在JavaScript中构造函数和类的区别

问:构造器函数和面向中的类是同样的东西吗|? 答:构造器函数和面向对象中的类并不是同样的东西,它们之间有些许不同。 在面向对象编程中,类是一种抽象的概念,它描述了一类具有相同属性和行为的对象。类可以…...

软考高级-信息系统管理师之沟通管理(最新版)

项目沟通管理 1、项目沟通管理基础项目沟通管理的重要性项目沟通管理相关理论2、规划沟通管理3、管理沟通4、控制沟通项目沟通管理的技术和工具1、项目沟通管理基础 项目沟通管理的重要性 1、与1T项目成功有关的最重要的四个因素是:主管层的支持、用户参与、有经验的项目经理…...

PyQt5 自定义富文本编辑器

介绍 一款使用PyQt5和网页端框架wangEditor集成的富文本编辑器 代码片段 PyQt5客户端 与网页端建立连接def create_connect(self):self.web_view QWebEngineView()self.bridge JSBridge(self.web_view.page())self.web_view.load(QUrl.fromLocalFile(self.editor_path))w…...

【高可用系统架构设计】SLA服务可用性4个9是什么意思?如何保证服务的高可用性 HA(High Availability)?...

如何保证服务的高可用性 HA(High Availability)?高可用HA(High Availability)是分布式系统架构设计中必须考虑的因素之一,它通常是指,通过设计减少系统不能提供服务的时间。方法论上,高可用是通…...

微服务架构设计模式-(14)面向生产环境

生产环境要求 应用安全 数据权限 服务可配置性 不同环境的配置不一样,不能写死代码,所以要配置 可观测性 需要日志系统 应用安全 四个方面 身份验证 验证主体的身份解决方案 单体 cookie 微服务中 API Gateway 访问令牌 不透明令牌透明令牌&#xff…...

HTML5新增用法

新增语义化标签 并无特殊含义&#xff0c;是语义&#xff01;语义&#xff01;语义&#xff01; <header> 头部区域 <nav> 导航区域 <main> 主体区域 <article> 内部标签 <section> 块级标签 <aside> 侧边栏标签 <footer> 尾部…...

富足金字塔:人的努力是为了扩大选择的范围

人的努力是为了扩大选择的范围&#xff0c;这是熵减的另一种表述。富足金字塔代表着人生的三重境界。第一层是温饱。人需要食物、水、住所。第二层是品质。能源、ICT、教育带来更有品质的生活&#xff0c;如智能门锁、智能马桶、扫地机、洗碗机、洗衣烘衣机。第三层是梦想。包括…...

C++类基础(十七)

类的继承——补充知识 ● public 与 private 继承&#xff08;C Public, Protected and Private Inheritance&#xff09; 改变了类所继承的成员的访问权限 //公有继承 struct Base { public:int x; private:int y; protected:int z; }; struct Derive : public Base //公有继承…...

LeetCode刷题复盘笔记—一文搞懂贪心算法之56. 合并区间(贪心算法系列第十四篇)

今日主要总结一下可以使用贪心算法解决的一道题目&#xff0c;56. 合并区间 题目&#xff1a;56. 合并区间 Leetcode题目地址 题目描述&#xff1a; 以数组 intervals 表示若干个区间的集合&#xff0c;其中单个区间为 intervals[i] [starti, endi] 。请你合并所有重叠的区间…...

Andriod入门级开发

这学期有个课设&#xff0c;我们组我负责一个手机APP的开发&#xff0c;虽然刚开始说要实现什么智能导航&#xff0c;类似高德地图那种&#xff0c;但最后阉割的只剩一个Socket通信了&#xff0c;因为之前没有接触过&#xff08;可能之后也不会再接触&#xff09;&#xff0c;记…...

DCL 数据控制语言

1、简介 DCL英文全称是Data Control Language(数据控制语言)&#xff0c;用来管理数据库用户、控制数据库的访问权限。 2、管理用户 2.1 查询用户 select * from mysql.user;查询的结果如下: 其中 Host代表当前用户访问的主机, 如果为localhost, 仅代表只能够在当前本机访问…...

全网超详细的下载与安装VMware虚拟机以及为什么要安装VMware虚拟机

文章目录1. 文章引言2. 下载VMware3. 安装VMware1. 文章引言 我们使用最多的系统是windows系统&#xff0c;因为&#xff0c;国内电脑厂商的操作系统(os)基本是windows系统&#xff0c;比如华为、联想、华硕等电脑。 但线上的服务器大多是Linux系统&#xff0c;而我们经常使用…...

Python获取zabbix问题触发器

背景&#xff1a;阿里云的ECS服务器因为阿里云升级插件&#xff0c;导致安全防护程序重启&#xff0c;产生不同的端口。导致低自动发现注册的端口 大量报警。 解决&#xff1a;杀掉关于因为非业务 变更的端口检测的触发器。 相关文档&#xff1a; Zabbix监控之主机端口监控自…...

原型链污染

目录 前置知识 原型对象 prototype和__proto__的区别 原型链概念 原型链的继承 原型 链污染 原型链污染原理 javascript中可能会存在原型链污染的危险函数 原型链污染的实际应用 JavaScript中可以触发弹窗的函数 前置知识 原型对象 在JavaScript中&#xff0c;每个函…...

ClickHouse详解

一、概念ClickHouse是一个用于联机分析(OLAP)的列式数据库管理系统(DBMS)。OLAP场景的关键特征绝大多数是读请求数据以相当大的批次(> 1000行)更新&#xff0c;而不是单行更新;或者根本没有更新。已添加到数据库的数据不能修改。对于读取&#xff0c;从数据库中提取相当多的…...

02_Docker 安装

02_Docker 安装 文章目录02_Docker 安装2.1 安装 Docker 的先决条件2.2 在 Ubuntu 和 Debain 中安装 Docker2.2.1 检查前提条件1. 内核2.检查 Device Manager2.2 安装 DockerDocker 支持非常多的Linux平台&#xff0c;包括Ubuntu和RHEL&#xff0c;除此之外&#xff0c;Docker还…...

K8S集群将Docker切换到Containerd

文章目录1. 开启节点维护1.1 将节点设置成不可调度1.2 驱逐节点上的 Pod1.3 停止相关服务2. 升级到 containerd2.1 安装 containerd2.2 调整 containerd 配置2.3 修改 kubelet 启动配置参数3. 重启节点服务4. 验证升级后的节点5. 容器管理工具5.1 容器管理命令行工具对比5.2 cr…...

Kubernetes03:kubernetes 功能和架构

2.1 概述 Kubernetes 是一个轻便的和可扩展的开源平台&#xff0c;用于管理容器化应用和服务。通过 Kubernetes 能够进行应用的自动化部署和扩缩容。在 Kubernetes 中&#xff0c;会将组成应用的容 器组合成一个逻辑单元以更易管理和发现。Kubernetes 积累了作为 Google 生产环…...

观成科技:隐蔽隧道工具Ligolo-ng加密流量分析

1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具&#xff0c;该工具基于TUN接口实现其功能&#xff0c;利用反向TCP/TLS连接建立一条隐蔽的通信信道&#xff0c;支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式&#xff0c;适应复杂网…...

在鸿蒙HarmonyOS 5中实现抖音风格的点赞功能

下面我将详细介绍如何使用HarmonyOS SDK在HarmonyOS 5中实现类似抖音的点赞功能&#xff0c;包括动画效果、数据同步和交互优化。 1. 基础点赞功能实现 1.1 创建数据模型 // VideoModel.ets export class VideoModel {id: string "";title: string ""…...

在HarmonyOS ArkTS ArkUI-X 5.0及以上版本中,手势开发全攻略:

在 HarmonyOS 应用开发中&#xff0c;手势交互是连接用户与设备的核心纽带。ArkTS 框架提供了丰富的手势处理能力&#xff0c;既支持点击、长按、拖拽等基础单一手势的精细控制&#xff0c;也能通过多种绑定策略解决父子组件的手势竞争问题。本文将结合官方开发文档&#xff0c…...

java 实现excel文件转pdf | 无水印 | 无限制

文章目录 目录 文章目录 前言 1.项目远程仓库配置 2.pom文件引入相关依赖 3.代码破解 二、Excel转PDF 1.代码实现 2.Aspose.License.xml 授权文件 总结 前言 java处理excel转pdf一直没找到什么好用的免费jar包工具,自己手写的难度,恐怕高级程序员花费一年的事件,也…...

条件运算符

C中的三目运算符&#xff08;也称条件运算符&#xff0c;英文&#xff1a;ternary operator&#xff09;是一种简洁的条件选择语句&#xff0c;语法如下&#xff1a; 条件表达式 ? 表达式1 : 表达式2• 如果“条件表达式”为true&#xff0c;则整个表达式的结果为“表达式1”…...

docker 部署发现spring.profiles.active 问题

报错&#xff1a; org.springframework.boot.context.config.InvalidConfigDataPropertyException: Property spring.profiles.active imported from location class path resource [application-test.yml] is invalid in a profile specific resource [origin: class path re…...

用机器学习破解新能源领域的“弃风”难题

音乐发烧友深有体会&#xff0c;玩音乐的本质就是玩电网。火电声音偏暖&#xff0c;水电偏冷&#xff0c;风电偏空旷。至于太阳能发的电&#xff0c;则略显朦胧和单薄。 不知你是否有感觉&#xff0c;近两年家里的音响声音越来越冷&#xff0c;听起来越来越单薄&#xff1f; —…...

从“安全密码”到测试体系:Gitee Test 赋能关键领域软件质量保障

关键领域软件测试的"安全密码"&#xff1a;Gitee Test如何破解行业痛点 在数字化浪潮席卷全球的今天&#xff0c;软件系统已成为国家关键领域的"神经中枢"。从国防军工到能源电力&#xff0c;从金融交易到交通管控&#xff0c;这些关乎国计民生的关键领域…...

git: early EOF

macOS报错&#xff1a; Initialized empty Git repository in /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/.git/ remote: Enumerating objects: 2691797, done. remote: Counting objects: 100% (1760/1760), done. remote: Compressing objects: 100% (636/636…...

WEB3全栈开发——面试专业技能点P7前端与链上集成

一、Next.js技术栈 ✅ 概念介绍 Next.js 是一个基于 React 的 服务端渲染&#xff08;SSR&#xff09;与静态网站生成&#xff08;SSG&#xff09; 框架&#xff0c;由 Vercel 开发。它简化了构建生产级 React 应用的过程&#xff0c;并内置了很多特性&#xff1a; ✅ 文件系…...