python modules_python—模块-

之前我们解决问题的时候,遇到复杂的问题,可能会导入python 的工具箱,这就是python里面自带的内置模块,其实python工具箱有好几百个,可以通过help('moudles')查看,得到的是python自带的和再第三方工具箱下载的,但是比如另一个人编写的模块我拿过来也能用,但是help('moudles')就不会显示出来。补充:查看的时候不用管下划线的部分,

使用模块有什么好处?

最大的好处是大大提高了代码的可维护性。其次,编写代码不必从零开始。当一个模块编写完毕,就可以被其他地方引用。我们在编写程序的时候,也经常引用其他模块,包括Python内置的模块和来自第三方的模块。

可重用。

使用模块还可以避免函数名和变量名冲突。每个模块有独立的命名空间,因此相同名字的函数和变量完全可以分别存在不同的模块中,所以,我们自己在编写模块时,不必考虑名字会与其他模块冲突

模块分类

模块分为三种:

内置标准模块(又称标准库,安装好python的时候自带的一个模块)执行help('modules')查看所有python自带模块列表

第三方开源模块,可通过pip install 模块名 联网安装

自定义模块

不管上面那种模块,调用都用import

模块调用

import module

from module import xx

from module.xx.xx import xx as rename

from module.xx.xx import *

#不推荐使用,带*意思是全部

例子:

import random

from os import rmdir

#可以理解成,os是工具箱里的一个小工具箱,rmdir是os里的一个更小的工具箱,可以导入一个,也可以导入多个

#from os import rmdir, rename

from django.core import handles

#解释为,django是创建的一个目录,core是django下的子目录,handles是core下的子目录,而handles里的文件才是py文件

import multiprocessing #这个模块名较长,可以用as rename

import multiprocessing as mul #直接调用mul就行,和上面的效果是一样的

*注意:模块一旦被调用,即相当于执行了另外一个py文件里的代码

自定义模块

首先创建一个文件夹,并创建一个py文件,即模块

6f6da260ddb2f9c8f0b0ae26e7dab93f.png

再交互器下导入模块

d34715061820e349d2ea82d1591d2124.png

模块查找路径

并没有找到这个模块,这是因为路径的问题,python要找模块的时候,有一个范围,就是sys.path, 交互器上输入命令就会出现一个包括他范围的列表

93ff9a7635a1db8c3af740c9868356d8.png

其中,第一个 ' ' 是当前目录,回默认从当前目录找,如果有就不找了,如果没有就继续往后走,找完都没有就会报错,

第二个zip一行是python安装包的内容,第三个lib一行是python下放c语言库的东西,其实前几个我们几乎用不到,都是python自带的,因为python使用c写的,他们互相之间有一些调用关系。

而最后一行,site-packages是所有的标准库,包括第三方的和内置的都会放在这个文件

上面这些都是python默认的,自己也可以往进加东西,

47344b178571e22e57e4ba90a8a38e91.png

也可以删除刚才加进去的,但是已经导入成功了,就不会重新导入,还是刚才的那个

61745a07298eec5de2790bb25b371c92.png

要注意的是,加进去的只是再当前程序内的运行过程中有效,如果退出了,还是会没有

开源模块

https://pypi.python.org/pypi 是python的开源模块库,截止2017年9.30日 ,已经收录了118170个来自全世界python开发者贡献的模块,几乎涵盖了你想用python做的任何事情。 事实上每个python开发者,只要注册一个账号就可以往这个平台上传你自己的模块,这样全世界的开发者都可以容易的下载并使用你的模块。

dbffbcb615782258a2ed15588e72c323.png

那如何从这个平台上下载代码呢?

1.直接在上面这个页面上点download,下载后,解压并进入目录,执行以下命令完成安装

编译源码 python setup.py build

安装源码 python setup.py install

直接通过pip安装

pip3 install paramiko #paramiko 是模块名

pip命令会自动下载模块包并完成安装。

软件一般会被自动安装你python安装目录的这个子目录里

/your_python_install_path/3.6/lib/python3.6/site-packages

pip命令默认会连接在国外的python官方服务器下载,速度比较慢,你还可以使用国内的豆瓣源,数据会定期同步国外官网,速度快好多

sudo pip install -i http://pypi.douban.com/simple/ alex_sayhi --trusted-host pypi.douban.com #alex_sayhi是模块名

使用

下载后,直接导入使用就可以,跟自带的模块调用方法无差,演示一个连接linux执行命令的模块

#coding:utf-8

import paramiko

ssh = paramiko.SSHClient()

ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())

ssh.connect('192.168.1.108', 22, 'alex', '123')

stdin, stdout, stderr = ssh.exec_command('df')

print(stdout.read())

ssh.close();

执行命令 - 通过用户名和密码连接服务器

包(Package)

当你的模块文件越来越多,就需要对模块文件进行划分,比如微信,假如有500个文件,就需要划分开,哪些是负责朋友圈的,哪些是支付功能的,再比如把负责跟数据库交互的都放一个文件夹,把与页面交互相关的放一个文件夹,

└── my_proj

├── crm #代码目录

│ ├── admin.py

│ ├── apps.py

│ ├── models.py

│ ├── tests.py

│ └── views.py

├── manage.py

└── my_proj #配置文件目录

├── settings.py

├── urls.py

└── wsgi.py

像上面这样,一个文件夹管理多个模块文件,这个文件夹就被称为包

那不同包之间的模块互相导入呢?

crm/views.py内容

def sayhi():

print('hello world!')

通过manage.py调用

from crm import views

views.sayhi()

包就是文件夹,但该文件夹下必须存在 __init__.py 文件, 该文件的内容可以为空。__int__.py用于标识当前文件夹是一个包。

Python models生成数据库表 (2)在生成表时,出现 No migrations to apply. 导致没有应用,没有生成表,可以将 ___initial.py文件进行改名,换一个唯一的名字。(因为之前生成有migrations文件,进行初始化了,又删除的。(1)数据库生成报错,但是更改映射没有用,可以删除migrations文件夹,重新生成表,比较简单粗暴。python 的Django框架,操作数据库,单表多表都有,不用手写sql,具体更深入的自行查找资料。(2)配置数据库,在主程序的settings.py文件中配置。 阅读详情

相关推荐

OpenCL编译环境配置

在 Linux 系统上配置 OpenCL 开发环境需要安装适当的驱动、运行时和开发工具。

深之JohnChen的专栏 1925

python模块(module)

模块化,模块化指将一个完整的程序分解为一个一个小的模块。通过将模块组合,来搭建出一个完整的程序。

OceanStar的博客 2655

大模型备案避坑指南:如何设计符合TC260标准的评估测试题集?

本文深入探讨了如何设计符合TC260标准的大模型评估测试题集,以顺利通过备案。文章从解构标准核心逻辑出发,详细阐述了题集设计的工程化流程、核心原则与常见误区,并提供了模拟真实对抗的高阶测试策略与度量分析方法,旨在帮助企业构建一套能真实反映模型安全水位、有效规避风险的评估体系。

kafka6courier的博客 631

Python模块(module)和包(package)

Python中,简单地说,模块(Module)一般是单个python文件;包(package)由分层模块(Module)构成——相关目录里的模块构成。Python中的库(library)是参考其它编程语言的说法,既可以是一个模块也可以是一个包,换言之是对模块或包的通俗的说法。

cnds123的专栏 8659

python组织结构

Python的组织结构主要包括模块Modules)、包(Packages)和库(Libraries)。让我们逐一来了解它们的概念和用法。一个模块就是一个包含Python代码的文件。这个文件可以包含变量、函数、类等,它的目的是为了组织代码并使其可重用。你可以使用语句来引入一个模块,并使用其中的变量、函数或类。 2. 包(Packages) 包是一种用于组织模块的方式,它是一个包含了多个模块的目录。在包的目录中通常会包含一个特殊的文件,该文件可以为空,也可以包含包的初始化代码。通过使用点号()来表示包的层级结

qq_63087013的博客 1257

Python模块导入之sys.modules

python中的sys.modules是一个全局字典,从python程序启动就加载到了内存,用于保存当前已导入(加载)的所有模块名和模块的绝对路径。在python模块查找中,sys.modules起到缓存作用,避免了模块的重复加载。 程序在导入某个模块时,会首先查找sys.modules中是否包含此模块名,若存在,则只需将模块的名字加入到当前模块的Local名字空间中;若不存在,则需要从sys.path目录中按照模块名称查找模块文件,模块文件可以是py、pyc、pyd,找到后将模块加载到内存,并加入到sy

u014294083的博客 8165

Python模块Modules

Python模块Modules

tongpan0的博客 218

python sys.modules模块

sys.modules是一个全局字典,该字典是python启动后就加载在内存中。每当程序员导入新的模块,sys.modules都将记录这些模块。字典sys.modules对于加载模块起到了缓冲的作用。当某个模块第一次导入,字典sys.modules将自动记录该模块。当第二次再导入该模块时,python会直接到字典中查找,从而加快了程序运行的速度。 字典sys.modules具有字典所拥有的一切方...

随意的风的专栏 2163

python | Python模块缓存:sys.modules机制

Python模块导入系统是该语言核心机制之一,它允许开发者组织代码并重用功能。在这个系统中,sys.modules扮演着至关重要的角色,它作为Python模块缓存的核心组件,直接影响着程序的导入行为和性能。本文将深入探讨sys.modules的工作原理、重要性以及如何有效利用这一机制。

csdn_xmj的博客 1749

python sys.modules模块

sys.modules是一个全局字典,该字典是python启动后就加载在内存中。每当程序员导入新的模块,sys.modules都将记录这些模块。字典sys.modules对于加载模块起到了缓冲的作用。当某个模块第一次导入,字典sys.modules将自动记录该模块。当第二次再导入该模块时,python会直接到字典中查找,从而加快了程序运行的速度。    字典sys.modules具有字典所拥有的

huaweitman的专栏 1万+

Python sys.MODULES包含尚未导入的模块

例如,如果你的代码使用了`importlib`模块动态地加载模块,那么这些模块可能不会出现在`sys.modules`中。在这两个代码示例中,我们首先导入了`sys`模块,然后使用`list()`函数将`sys.modules`转换为一个列表。最后,我们再次遍历`sys.modules`字典,但是这次我们检查的是那些值为`None`的键(即那些还没有被导入的模块)。如果想要知道尚未导入的模块,我们可以遍历这个字典,检查那些没有值的键(即那些还没有被导入的模块)。# 打印所有已经加载的模块的名称。

344

linux python modules,PYTHON模块modules

一个module不过是一些函数,class放在一个文件中。例如:在当期目录中创建了一个文件叫testmodule.py:"""this only is a very simple test module"""age=0 # a sample attributedef sayHello(): # a sample function in a moduleprint "Hello"if __name_...

weixin_42525385的博客 299

Python sys.path、sys.modules模块介绍

sys.path是python的搜索模块的路径集,是一个list sys.path.append():添加一个文件的路径 参考:https://www.cnblogs.com/saolv/p/7808347.html https://blog.csdn.net/zlx_csdn/article/details/80931121 ...

爱问西瓜爱大树的博客 2175

Python 模块Modules

Python模块是代码组织和复用的基本单元,本质是一个.py文件附带独立命名空间。模块解决代码复用、命名隔离和项目结构问题,通过import机制加载时会创建缓存.pyc文件加速后续导入。使用时应注意:1)优先使用完整模块名导入避免命名冲突 2)通过if __name__ == '__main__'区分模块是被导入还是直接运行 3)合理组织项目结构,使用包(init.py)管理复杂模块 4)避免循环导入和污染全局命名空间。开发时可用importlib.reload()调试,但不适合生产环境。最佳实践包括使用绝

showyoui的博客 1717

python模块(module)、包(package)及pip

一、python中的基本概念 1、模块module 模块module:在python中一个.py文件就称为一个模块。当然”.pyo”、”.pyc”、”.pyd”、”.so”、”.dll”也可以,但Python初学者几乎用不到。模块中一般包括定义的函数、类、变量、可执行代码等。module的常见来源有一下三种:①python内置模块(标准库) ② 第三方模块 ③自定义模块。 好处: (1)使用模块的好处就是大大的提高代码的可维护性; (2)不用重复造轮子;一个模块编写完毕就可以在其他地方被调用...

mijichui2153的博客 8139

Python包和模块

一个.py 文件就是一个模块模块是含有一系列数据函数类等的程序作用把相关功能的函数等放在一起有利于管理,有利于多人合作开发模块的分类内置模块(在python3 程序内部,可以直接使用)标准库模块(在python3 安装完后就可以使用的 )第三方模块(需要下载安装后才能使用)自定义模块(用户自己编写)模块名如果要给别的程序导入,则模块名必须是 标识符实例小张写了一个模块,内部有两个函数,两个字符串... 此处省略 200字此函数用来求和。

qq_70019265的博客 1894

详解Python模块(module)和包(package)

如果模块以最小化相互依赖性的方式编写,则对单个模块的修改对程序的其他部分产生影响的可能性就会降低。但是,当您只是为了测试或发现目的而使用交互式解释器时,这种语法非常方便,因为它可以让您快速访问模块必须提供的所有内容,而无需大量输入。您可能已经预料到(假设您完全有任何期望)Python 会深入到包目录中,找到它可以找到的所有模块,然后将它们全部导入。一个模块通常关注问题的一个相对较小的部分,而不是关注手头的整个问题。如果您正在处理单个模块,您将有一个较小的问题域来解决您的问题。这消除了重复代码的需要。...

Jerry学长 1295

python基础之D14 模块

contents模块和包标准库模块模块化编程的流程设计 API,进行功能描述。模块的创建和测试代码模块的导入import 语句导入语法格式类别 模块和包 便于将一个任务分解成多个模块,实现团队协同开发,完成大规模程序 实现代码复用。一个模块实现后,可以被反复调用。 可维护性增强。 标准库模块 模块分为标准库模块和用户自定义模块Python 标准库提供了操作系统功能、网络通信、文本处理等,random(随机数)、 math(数学运算)、 time(时间处理)、 file(文件处理)、os(和操作系

little_yueyue的博客 774

Python---Models 模型

#Models  模型 数据结构 + 算法 = 程序 ---> URL ---> VIEW ---> Temple ---> DB:分类---关系 Teacher Student 姓名  年龄  地址  course DB MongoDB Redis ------------------------------------- # Model...

weixin_30765475的博客 390

毕业设计-基于Python的股票自动交易系统的设计与实现源码(高分项目).zip

毕设-基于Python的股票自动交易系统的设计与实现源码(高分项目).zip本资源中的源码都是经过本地编译过可运行的,下载后按照文档配置好环境就可以运行。资源项目的难度比较适中,内容都是经过助教老师审定过的能够满足学习、使用需求,如果有需要的话可以放心下载使用。毕设-基于Python的股票自动交易系统的设计与实现源码(高分项目).zip本资源中的源码都是经过本地编译过可运行的,下载后按照文档配置好环境就可以运行。资源项目的难度比较适中,内容都是经过助教老师审定过的能够满足学习、使用需求,如果有需要的话可以放心下载使用。毕设-基于Python的股票自动交易系统的设计与实现源码(高分项目).zip本资源中的源码都是经过本地编译过可运行的,下载后按照文档配置好环境就可以运行。资源项目的难度比较适中,内容都是经过助教老师审定过的能够满足学习、使用需求,如果有需要的话可以放心下载使用。毕设-基于Python的股票自动交易系统的设计与实现源码(高分项目).zip本资源中的源码都是经过本地编译过可运行的,下载后按照文档配置好环境就可以运行。资源项目的难度比较适中,内容都是经过助教老师审定

上一篇: openstack配置mysql_Centos7.4安装openstack(queens)详细安装部署(三)-镜像服务(glance)安装...
下一篇: 用python打印心形_Python和Js打印心形
贝茨
博客等级 码龄8年 32粉丝 74原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值