翼度科技»论坛 编程开发 python 查看内容

python笔记:第十章开箱即用的模块

9

主题

9

帖子

27

积分

新手上路

Rank: 1

积分
27
1.模块
  1. import 模块名
复制代码
1.1 模块就是程序

任何python程序都可以作为模块导入,并标明程序(模块)的位置
  1. import sys
  2. sys.path.append('路径')
复制代码
  1. import hello  // 在同一文件夹下
复制代码
会在该文件夹里面自动生成一个__pycache__ 文件夹,包含处理后的文件。(可删除,无影响)

在hello.py里面编写函数

在t13.py里面调用模块函数
  1. import hello
  2. hello.hello1()
复制代码
运行结果
  1. hello
  2. hello!
复制代码
1.2 模块属性

1.2.1 name

检查模块是作为程序运行还是被导入到另一个程序
如:在t13文件中,查看name属性
  1. print(__name__)
  2. > __main__
复制代码
在t13文件中,查看hello文件的name属性
  1. print(hello.__name__)
  2. > __hello__
复制代码
1.2.2 dir

查明模块包含哪些东西,列出对象的所有属性(函数,类,变量)
  1. print(dir(模块名))
复制代码
  1. import box.shapes as sh
  2. print(dir(sh))
复制代码
  1. ['__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__']
复制代码
1.2.3 变量__all__

用于指定一个模块的所有公共接口(方法),只有被__all__指定的接口,才可以被正确导入。
module.py
  1. __all__ = ['foo', 'bar']
  2. def foo():
  3.     print("This is foo!")
  4. def bar():
  5.     print("This is bar!")
  6. def baz():
  7.     print("This is baz!")
复制代码
main.py
  1. from module import *
  2. foo()  
  3. bar()  
  4. baz()  
复制代码
运行main.py结果
  1. This is a foo!
  2. This is bar!
  3. NameError: name 'bar' is not defined
复制代码
1.2.4 文档__doc__
查看模块信息和函数信息
  1. print(range.__doc__)
复制代码
  1. range(start, stop[, step]) -> range object
  2. Return an object that produces a sequence of integers from start (inclusive)
  3. to stop (exclusive) by step.  range(i, j) produces i, i+1, i+2, ..., j-1.
  4. start defaults to 0, and stop is omitted!  range(4) produces 0, 1, 2, 3.
  5. These are exactly the valid indices for a list of 4 elements.
  6. When step is given, it specifies the increment (or decrement).
复制代码
自定义文档字符串
通过三引号的方式添加
  1. def plus(a, b):
  2.         '''This is a plus'''
  3.         print(a + b)
  4. print(plus.__doc__)
  5. > This is a plus
复制代码
1.2.4 获取模块路径__file__

可以获取当前模块所在的目录或文件的绝对路径。
如main.py
  1. print(__file__)
  2. > d:\M\github\Python\Demo\main.py
复制代码
还可以使用os.path模块的方法对路径进行处理,例如获取当前模块所在目录的绝对路径:
  1. import os
  2. module_dir = os.path.dirname(os.path.abspath(__file__))
  3. print(module_dir)
  4. > d:\M\github\Python\Demo
复制代码
2.包

包可以包含其他模块,模块存储在扩展名为.py的文件中,包则是一个目录。
包必须包含有__init__.py文件

在与文件夹box的同级文件下可以导入
  1. import box
  2. import box.shapes
复制代码
3.一些重要的模块

3.1 sys

3.2 os

3.3 fileinput

3.4 集合,堆和双端队列

3.5 time

3.6 random

3.7 shelve和json

3.8 re

re,即正则表达式模块

来源:https://www.cnblogs.com/lmc7/p/17565039.html
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

举报 回复 使用道具