android调用python模块 chaquo_python 浅析模块的导入和调用

本文介绍了Python模块的概念、好处和分类,详细讲解了如何导入和调用模块,包括绝对导入、相对导入,以及包(package)的使用。特别讨论了在Android中使用chaquo_python调用Python模块的方法,强调了模块查找路径和避免命名冲突的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

IT入门加星标,提升编程技能

今天买了一本关于模块的书,说实话,模块真的太多了,小编许多也不知道,要是把模块全讲完,可能得出本书了,所以小编在自己有限的能力范围内在这里浅析一下自己的见解,同时讲讲几个常用的模块。

 什么是模块?

  在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里面,代码会越来越长,越来越不容易维护。


  为了编写可以维护的代码,我们把很多函数分组,分别放到不同的文件,这样,每个文件包含的代码就相对比较少,很多编程语言都采用这种组织代码的方式。在python中,一个.py文件就称之为一个模块。

使用模块有什么好处?

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


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

模块分类

  模块分为三种:

  • 内置标准模块(又称为标准库),执行help('modules')查看所有python自带模块列表

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

  • 自定义安装

下面介绍一下如何导入模块:

下面是常用的几种导入模块的方式:
模块调用的方法

mport module
from module import xx
from module.xx.xx   import xx  as rename
from module.xx.xx  import  *

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

在Python 中用关键字import来导入某个模块:import modname
比如要导入模块numpy,就可以在文件最开始的地方用import numpy 来引入。在调用numpy模块的函数时,必须这样引入:
模块名.函数名

import numpy        
numpy.arange(5)

与第一种方法的区别是:funcname被直接导入到本地名字空间取了,所以他可以直接使用,而不需要加上模块名的限定 * 表示,该模块的所有公共对象(public objects)都被导入到当前的名称空间,也就是任何只要不是以 "_" 开始的东西都会被导入。


为什么必须加上模块名这样调用呢?因为可能存在这样一种情况,在多个模块下含有相同名称的函数,此时如果只是通过函数名来调用,解释器无法知道到底要调用那个函数,所以如果像上述这种情况引入模块的时候,调用函数必须加上模块名。
有时候我们只需要引入模块中的某个函数,只需要引入该函数即可,此时通过下面语句实现:

form modname   import funcname
form  modname  import fa,fb,fc
form modname  import  *但是这个得谨慎使用)

当然可以通过通过这种方法不仅可以引入函数,还可以引入常量,通过这种方式引入的时候,调用函数时只能给出函数名,不能给出模块,但是当两个模块中含有相同名称函数的时候,后面一次引入会覆盖前一次引入。所以有以下建议:


1) 如果你经常访问模块的属性和方法,且不想一遍又一遍的敲入模块名称,使用 form module import 


2) 如果你想要有选择性地导入某些属性和方法,而不想要其他的,使用 form module import


3)如果模块包含的属性和方法与你的某个模块同名,你必须使用 import module 来避免名字冲突


4)尽量少使用 form module import ,因为判定一个特殊的函数或属性是从哪里来的有些困难,并且会造成调试和重构都更困难

<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值