python(七) 模块开发

python模块开发

import

  • 说的简单点就是引入一个有python代码的文件
  • 引入使用 import 关键字
  • 默认import 不指定目录。会去当前同级目录中查找
    a.py 文件定义一个方法getName
#!/usr/bin/python3
def getName(name):
    return '我的名字是'+name

text.py 引入a.py 并调用getName方法

#!/usr/bin/python3
import a
res = a.getName('a')
print(res)
#输出结果:我的名字是a  

from...import..

  • 当一个python中有多个方法时,但是我们只是想引入需要的部分,可以使用from...import...
  • from 是引入的文件 import 是需要引入的模块
    a.py 中有多个def 函数
#!/usr/bin/python3
def getName(name):
    return '我的名字是'+name
   
def getAge():
    return '我的年龄是18'
   
def getSex():
    return '我的性别是女'

def getNothing():
    return 'nothing'
  • text.py 文件只想引入 getName 和 getAge模块
#!/usr/bin/python3
from a import getName, getAge
res = getName('a') 
age = getAge()
print(res)
print(age)
#输出结果:
我的名字是a
我的年龄是18

如果想引入所有的模块 可以使用 *

#!/usr/bin/python3
from a import * 
res = getName('a') 
age = getAge()
sex = getSex()
print(res)
print(age)
print(sex)
#输出结果:
我的名字是a
我的年龄是18
我的性别是女

如果修改全局变量的值

  • 使用global 关键字
#!/usr/bin/python3
a = 1 
def add():
    global a
    a = a+1

add()
print(a)
输出结果: 2

在引入模块的时候不清楚模块中提供的一些方法、属性 可以通过dir来查看

#!/usr/bin/python3
import a
content = dir(a)
print(content)
#输出结果:['__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', 'getAge', 'getName', 'getNothing', 'getSex']

locals() 和 globals() 函数

  • locals() 在函数中调用可以查看当前作用域的变量
  • globals() 在函数中调用可以查看当前作用域中能访问的全局变量
#!/usr/bin/python3
a = 1
b = 2

def num():
    c = 3
    d = 4
    print('能反问的局部变量:', locals())
    print('能访问的全局变量',globals())
num()

#输出结果:
能反问的局部变量: {'c': 3, 'd': 4}
能访问的全局变量 {'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <_frozen_importlib_external.SourceFileLoader object at 0x103eccef0>, '__spec__': None, '__annotations__': {}, '__builtins__': <module 'builtins' (built-in)>, '__file__': 'text.py', '__cached__': None, 'a': 1, 'b': 2, 'num': <function num at 0x103db3268>}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 模块和包 一 模块 1 什么是模块? 常见的场景:一个模块就是一个包含了python定义和声明的文件,文件名就是...
    go以恒阅读 2,295评论 0 4
  • 一、Python简介和环境搭建以及pip的安装 4课时实验课主要内容 【Python简介】: Python 是一个...
    _小老虎_阅读 5,808评论 0 10
  • 定义类并创建实例 在Python中,类通过 class 关键字定义。以 Person 为例,定义一个Person类...
    绩重KF阅读 3,971评论 0 13
  • 仅作为个人笔记使用,谢谢合作 总结: 如果要给函数内的全局变量赋值,必须使用 global 语句。 格式: 1 函...
    不合格码农阅读 611评论 0 0
  • 小雨,昨天在小组群感叹: 我昨天被震撼了……我忽然发现自己不会做女人,把自己活成女汉子还赖别人不会怜香惜玉!这礼仪...
    潘霖毅阅读 201评论 0 1