Python基础 模块化编程(模块的导入) 模块化编程 模块以主程序的方式运行 包和目录 第三方库的安装和导入方法

简介: python基础知识模块,模块化编程,模块的创建和导入python基础,模块的创建和导入,让模块以主程序的方式运行,python中的包和目录的区别和创建。模块导入另一个包的模块的方法,导入带有包的模块时的注意事项,常见的内置模块。第三方模块的安装和导入的方法


什么叫模块
一、模块:
1.模块英文Modules
2.函数与模块的关系:
    一个模块中可以包含N多个函数
二、在Python中一个扩展名为.py的文件就是一个模块
三、使用模块的好处:
1.方便其他程序和脚本的导入并使用
2.避免函数名和变量名冲突
3.提高代码的可维护性
4.提高代码的可重用性
5.可以提高团队的合作效率,可以将一个项目分成多个模块,由多个组分开处理,更容易的分工合作处理一个项目。
一个模块中可以包含n多个函数、包含n多个类、包含n多种种语句,类中可以包含类属性、类方法、动态方法静态方法。
一个python模块中可以包含N多个函数,N多个类和N多个语句

一个模块(.py)文件可包含:

n多个函数

def hua1():

pass

def hua2():

pass

def hua3():

pass

n多个类

class Student:

native_place="吉林"  #类属性
def eat(self,name,age):  #实例方法
    self.name=name
    self.age=age

@classmethod
def cm(cls):
    pass
@staticmethod
def sm():
    pass

n多个语句

a=10
b=20
print(a+b)
自定义模块:
一、创建模块
新建一个.py文件,名称尽量不要与Python自带的标准模块名称相同,起名字要见名知意
二、
导入模块
import 模块名称 [as别名]
from 模块名称 import 函数/变量/类

也可以导入系统自带的模块

例:

import turtle #导入海龟画图模块

若只想导入模块里的一部分的作用,可以使用from 模块名 import 想导入的作用名

from math import pi #从 math模块中 导入 pi这个方法
print(pi) #然后就可以使用这个方法了

print(pow(2,3)) #如果只导入模块部分内容,那么使用该模块其他内容时就会报错

所以这时候可以导入整个模块

import math
print(pi)
print(pow(2,3))
print(math.pow(2,3))

这段是在另一个.py文件输入的代码

"""
如何创建自己的模块和导入自己的模块

一:创建自己的模块
创建新的.py文件,输入该模块的功能和作用

"""

该模块的功能和作用

def add(a,b):

return a+b  #该模块方法会讲ab两个参数相加

def div(a,b):

return a/b  #该模块方法会讲ab两个参数相除

"""
调用自定义模块
导入某模块中导入calc自定义模块使用
calc就是模块的文件名,这里新建的是calc.py文件,
import calc导入这个文件名就可以使用这个文件里定义的方法和功能了
"""

若使用pycharm导入自定义模块时报错,则可以在该文件的目录下,单击右键,有一个Mark Directory as,然后选择SourceRoot

import calc

导入成功后会显示灰色,然后就可以使用该模块中的方法了

print(calc.add(10,20)) #30
print(calc.div(10,3)) #3.3333333333333335

也可以只导入该模块中你想使用的的其中一个方法

from calc import add #从calc模块中导入add方法
print(calc.add(20,30)) #50

​​
导入之前创建的模块(文件)calc,模块是以文件的形式存在的,一个模块就是一个文件,
calc就是创建的一个calc.py的文件里编写的方法,一个模块(文件)里可以有N个函数,N个类,N个语句
导入后可以用模块名调用模块里定义的方法名,再放入元素
调用方法就是:
文件名.方法名(输入参数)
这里将另一个文件(模块)里的定义的方法放到这里,方便观察,下面那个模块名叫做calc,以下是定义的功能和作用

该模块定义的的功能和作用

def add(a,b):

return a+b  #该模块方法会将ab两个参数相加

print(add(10,20)) #输出语句,使用add()方法将10和20两个参数相加然后输出
接下来导入这个calc模块(文件)

import calc

print(calc.add(100,200)) #文件名.文件里定义的方法名(输入参数)
"""
输出结果是:
30
300

这里会多出一个30,是因为定义方法的那个模块里有输出的语句,
但这里不想输出这个30,则可以在定义这个方法的模块里将这个输出语句添加到一个代码里,if name =="__main__"
这样那个输出语句就只会在创建他的那个模块里输出,这样在别的文件中调用它时就不会输出这个结果了
下面是calc模块修改后的语句和方法

下面演示一下修改后的语句

这是另一个模块的功能

该模块的功能和作用

def add(a,b):

return a+b  #该模块方法会讲ab两个参数相加

在这个语句内的代码只会在主程序中运行,也就是定义这个代码的文件里才会运行,其他的模块或文件调用时不会运行

if name == '__main__':

print(add(10,20))

这个语句快捷输入方式就是输入:

main 然后点回车,就会变成 if name == '__main__':
用这种方式创建的模块就不会出现多出一些输出结果的问题了。

Python中的包
包是一个分层次的目录结构,他将一组功能相近的模块组织在一个目录下

作用:
1.代码规范
2.避免模块名称冲突

包与目录的区别:
1.包含__init__.py文件的目录称为包
2.目录里通常不包含__init__.py文件

包的导入:
improt 包名.模块名

包和目录就是一个文件夹,只不过创建包的文件夹时会自带一个__init__.py的文件,而创建目录不会
而模块就是.py的文件,Pycharm右键项目可新建python文件或python软件包和目录。
一般编写程序就会将功能相似的模块组织在一个目录下。

写程序时先分好这个程序需要什么功能,这个功能该怎么实现,所以就需要创建多个目录,每个目录里有多个包,包里有多个模块
模块导入另一个包的模块的方法:
import 包名.包里的模块名
然后使用这个模块时只需要包名.文件名,觉得太长的话可以在导入是给这个导入的模块取个别名
例:
import 包名.包里的模块名 as a      a就是包名.包里的模块名的别名,因为名字太长了,所以取个别名来使用它
将这个模块名取个别称a
导入带有包的模块时的注意事项:
import 包名
import 模块名

使用import方式进行导入时只能跟包名或者模块名

from 包名 import 模块名           #这句代码的翻译是: 从 这个包里 导入 这个模块
form 包名.模块名 import a         #这句代码的翻译是: 从这个包里调用这个模块 导入这个模块的变量a

使用from...import 可以导入包、模块、函数、变量。

常见的python内置模块

sys 与Python解释器及其环境操作相关的标准库
time 提供与时间相关的各种函数的标准库
os 提供了访问炒作系统服务功能的标准库
calendar 提供与日期相关的各种函数的标准库
urllib 用于读取来自网上(服务器)的数据标准库
json 用于使用JSON序列化和反序列化对象
re 用于在字符串中执行正则表达式匹配和替换
math 提供标准算数运算函数的标准库
decimal 用于进行精确控制运算精度、有效数位和四舍五入操作的十进制运算
logging 提供了灵活的记录事件、错误、警告和调试信息等日志信息功能
第三方模块的安装及使用
1.第三方模块的安装
pip install 模块名     #这种方法是在线下载这个包,需要win+R打开命令行输入pip install 模块名,然后就可以使用python导入这个包了
如果安装时报错,则可以输入

​​​​​​​pip   install   --upgrade    pip 对pip进行升级
也可以在Pycharm的设置里的项目的python解释器里安装第三方模块
2.第三方模块的使用
import 模块名

这里需要导入一个第三方模块schedule

import schedule #未下载是不能导入的,因为会报错,Win+R打开命令行下载这个第三方库pip install schedule

import time

def job():

print("嘿嘿")

schedule.every(3).seconds.do(job()) #三秒执行一次

让他每次执行完休息一秒

while True:

schedule.run_pending()    #启动它
time.sleep(1)   #休息一秒

运行后就能够实现每三秒发送一句嘿嘿,每循环一次休息一秒
schedule这个第三方模块通常用作定时发送邮件

相关文章
|
3天前
|
存储 人工智能 运维
【01】做一个精美的打飞机小游戏,浅尝阿里云通义灵码python小游戏开发AI编程-之飞机大战小游戏上手实践-优雅草央千澈-用ai开发小游戏尝试-分享源代码和游戏包
【01】做一个精美的打飞机小游戏,浅尝阿里云通义灵码python小游戏开发AI编程-之飞机大战小游戏上手实践-优雅草央千澈-用ai开发小游戏尝试-分享源代码和游戏包
【01】做一个精美的打飞机小游戏,浅尝阿里云通义灵码python小游戏开发AI编程-之飞机大战小游戏上手实践-优雅草央千澈-用ai开发小游戏尝试-分享源代码和游戏包
|
1月前
|
存储 数据采集 人工智能
Python编程入门:从零基础到实战应用
本文是一篇面向初学者的Python编程教程,旨在帮助读者从零开始学习Python编程语言。文章首先介绍了Python的基本概念和特点,然后通过一个简单的例子展示了如何编写Python代码。接下来,文章详细介绍了Python的数据类型、变量、运算符、控制结构、函数等基本语法知识。最后,文章通过一个实战项目——制作一个简单的计算器程序,帮助读者巩固所学知识并提高编程技能。
|
27天前
|
Unix Linux 程序员
[oeasy]python053_学编程为什么从hello_world_开始
视频介绍了“Hello World”程序的由来及其在编程中的重要性。从贝尔实验室诞生的Unix系统和C语言说起,讲述了“Hello World”作为经典示例的起源和流传过程。文章还探讨了C语言对其他编程语言的影响,以及它在系统编程中的地位。最后总结了“Hello World”、print、小括号和双引号等编程概念的来源。
107 80
|
16天前
|
Python
[oeasy]python055_python编程_容易出现的问题_函数名的重新赋值_print_int
本文介绍了Python编程中容易出现的问题,特别是函数名、类名和模块名的重新赋值。通过具体示例展示了将内建函数(如`print`、`int`、`max`)或模块名(如`os`)重新赋值为其他类型后,会导致原有功能失效。例如,将`print`赋值为整数后,无法再用其输出内容;将`int`赋值为整数后,无法再进行类型转换。重新赋值后,这些名称失去了原有的功能,可能导致程序错误。总结指出,已有的函数名、类名和模块名不适合覆盖赋新值,否则会失去原有功能。如果需要使用类似的变量名,建议采用其他命名方式以避免冲突。
34 14
|
24天前
|
Linux Python
Linux 安装python3.7.6
本教程介绍在Linux系统上安装Python 3.7.6的步骤。首先使用`yum`安装依赖环境,包括zlib、openssl等开发库。接着通过`wget`下载Python 3.7.6源码包并解压。创建目标文件夹`/usr/local/python3`后,进入解压目录执行配置、编译和安装命令。最后设置软链接,使`python3`和`pip3`命令生效。
|
10天前
|
人工智能 编译器 Python
python已经安装有其他用途如何用hbuilerx配置环境-附带实例demo-python开发入门之hbuilderx编译器如何配置python环境—hbuilderx配置python环境优雅草央千澈
python已经安装有其他用途如何用hbuilerx配置环境-附带实例demo-python开发入门之hbuilderx编译器如何配置python环境—hbuilderx配置python环境优雅草央千澈
python已经安装有其他用途如何用hbuilerx配置环境-附带实例demo-python开发入门之hbuilderx编译器如何配置python环境—hbuilderx配置python环境优雅草央千澈
|
25天前
|
分布式计算 大数据 数据处理
技术评测:MaxCompute MaxFrame——阿里云自研分布式计算框架的Python编程接口
随着大数据和人工智能技术的发展,数据处理的需求日益增长。阿里云推出的MaxCompute MaxFrame(简称“MaxFrame”)是一个专为Python开发者设计的分布式计算框架,它不仅支持Python编程接口,还能直接利用MaxCompute的云原生大数据计算资源和服务。本文将通过一系列最佳实践测评,探讨MaxFrame在分布式Pandas处理以及大语言模型数据处理场景中的表现,并分析其在实际工作中的应用潜力。
62 2
|
4天前
|
程序员 Linux Python
python中模板和包的使用
本文介绍了 Python 模块和包的基本概念及使用方法。模块是 Python 程序结构的核心,每个以 `.py` 结尾的源文件都是一个模块,包含可重用的代码。文章详细讲解了模块的导入方式(如 `import` 和 `from...import`),模块的搜索顺序,以及如何创建和发布自己的模块。此外,还介绍了包的概念,包是包含多个模块的特殊目录,并通过 `__init__.py` 文件定义对外提供的模块列表。最后,文章简述了如何使用 `pip` 工具管理第三方模块的安装与卸载。作者:大石头的笔记;来源:稀土掘金。
|
1月前
|
小程序 开发者 Python
探索Python编程:从基础到实战
本文将引导你走进Python编程的世界,从基础语法开始,逐步深入到实战项目。我们将一起探讨如何在编程中发挥创意,解决问题,并分享一些实用的技巧和心得。无论你是编程新手还是有一定经验的开发者,这篇文章都将为你提供有价值的参考。让我们一起开启Python编程的探索之旅吧!
51 10
|
1月前
|
人工智能 数据挖掘 开发者
探索Python编程之美:从基础到进阶
本文是一篇深入浅出的Python编程指南,旨在帮助初学者理解Python编程的核心概念,并引导他们逐步掌握更高级的技术。文章不仅涵盖了Python的基础语法,还深入探讨了面向对象编程、函数式编程等高级主题。通过丰富的代码示例和实践项目,读者将能够巩固所学知识,提升编程技能。无论你是编程新手还是有一定经验的开发者,这篇文章都将为你提供有价值的参考和启示。让我们一起踏上Python编程的美妙旅程吧!