模块简介
Python模块自信:开放
Python是一个开放的系统。
1.编写模块
>>> math.poe(3,2) Traceback (most recent call last): File "<pyshell#29>", line 1, in <module> math.poe(3,2) AttributeError: module 'math' has no attribute 'poe' >>> math.pow(3,2) 9.0 >>>
这里math十Python标准库中一个,用import引入,然后可以使用。
1.1模块是程序
模块就是一个Python程序,在需要它的时候将其引用过来。
如果我们自己写一个文件能不能作为模块引用呢
先命名一个Python文件’pm.py‘
lang = 'Python'
>>> RESTART: C:/Users/Administrator/AppData/Local/Programs/Python/Python36-32/pm.py >>> import sys>>> sys.path.append('C:/Users/Administrator/AppData/Local/Programs/Python/Python36-32/pm.py') >>> import pm >>> pm.lang 'Python' >>>
需要告诉Python解释器我们模块的位置(用import sys)然后就可以调用我们自定义的模块了。
1.2模块的位置
为了让写的模块能被Python解释器知道,需要用sys.path.append。其实,在Python中,所有可引用的模块加入到 sys.path里面了。
>>> import sys >>> import pprint >>> pprint.pprint(sys.path) ['C:/Users/Administrator/AppData/Local/Programs/Python/Python36-32', 'C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python36-32\\Lib\\idlelib', 'C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python36-32\\python36.zip', 'C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python36-32\\DLLs', 'C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python36-32\\lib', 'C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python36-32', 'C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python36-32\\lib\\site-packages', 'C:/Users/Administrator/AppData/Local/Programs/Python/Python36-32/pm.py'] >>>
上面位置内的.py文件都可以作为模块引入。
1.3--al--在模块中的作用
__all__ = ['__privata_variable','public_teacher'] public_variable = '我是public_variable' _privata_variable = '我是privata variable' def public_teacher(): print('我是public') def _privata_teacher(): print('我是privata')
>>> import sys >>> sys.path.append ('C:/Users/Administrator/AppData/Local/Programs/Python/Python36-32/pp.py') >>> import pp >>> from pp impport * SyntaxError: invalid syntax >>> from pp import * >>> public_variable '我是public_variable' >>> _privata_variable '我是privata variable' >>> public_teacher() 我是public >>> _privata_teacher() 我是privata >>>
1.4包和库
顾名思义,包和库比模块大。Python标准库中的每个库都有好几个包,每个包有若干个模块。
2标准库概述
安装Python时默认已经安装好的模块被统称为标准库。
2.1 引用的方式
>>> import pprint >>> from pprint import pprint >>> from pprint import * >>> import pprint as pr >>> from pprint import pprint as pt
2.2 帮助,文档和源码
Python模块的属性和方法是大部分都难以记忆的,所以需要查询(dir(),help())
>>> import pprint >>> print(pprint.__doc__) Support to pretty-print lists, tuples, & dictionaries recursively. Very simple, but useful, especially in debugging data structures. Classes ------- PrettyPrinter() Handle pretty-printing operations onto a stream using a configured set of formatting parameters. Functions --------- pformat() Format a Python object into a pretty-printed representation. pprint() Pretty-print a Python object to a stream [default is sys.stdout]. saferepr() Generate a 'standard' repr()-like value, but protect against recursive data structures. >>> dir(pprint) ['PrettyPrinter', '_StringIO', '__all__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', '_builtin_scalars', '_collections', '_perfcheck', '_recursion', '_safe_key', '_safe_repr', '_safe_tuple', '_sys', '_types', '_wrap_bytes_repr', 'isreadable', 'isrecursive', 'pformat', 'pprint', 're', 'saferepr'] >>> help(pprint) Help on module pprint: NAME pprint - Support to pretty-print lists, tuples, & dictionaries recursively. DESCRIPTION Very simple, but useful, especially in debugging data structures. Classes ------- PrettyPrinter() Handle pretty-printing operations onto a stream using a configured set of formatting parameters. Functions --------- pformat() Format a Python object into a pretty-printed representation. pprint() Pretty-print a Python object to a stream [default is sys.stdout]. saferepr() Generate a 'standard' repr()-like value, but protect against recursive data structures. CLASSES builtins.object PrettyPrinter class PrettyPrinter(builtins.object) | Methods defined here: | | __init__(self, indent=1, width=80, depth=None, stream=None, *, compact=False) | Handle pretty printing operations onto a stream using a set of | configured parameters. | | indent | Number of spaces to indent for each level of nesting. | | width | Attempted maximum number of columns in the output. | | depth | The maximum depth to print out nested structures. | | stream | The desired output stream. If omitted (or false), the standard | output stream available at construction will be used. | | compact | If true, several items will be combined in one line. | | format(self, object, context, maxlevels, level) | Format object for a specific context, returning a string | and flags indicating whether the representation is 'readable' | and whether the object represents a recursive construct. | | isreadable(self, object) | | isrecursive(self, object) | | pformat(self, object) | | pprint(self, object) | | ---------------------------------------------------------------------- | Data descriptors defined here: | | __dict__ | dictionary for instance variables (if defined) | | __weakref__ | list of weak references to the object (if defined) FUNCTIONS isreadable(object) Determine if saferepr(object) is readable by eval(). isrecursive(object) Determine if object requires a recursive representation. pformat(object, indent=1, width=80, depth=None, *, compact=False) Format a Python object into a pretty-printed representation. pprint(object, stream=None, indent=1, width=80, depth=None, *, compact=False) Pretty-print a Python object to a stream [default is sys.stdout]. saferepr(object) Version of repr() which can handle recursive data structures. DATA __all__ = ['pprint', 'pformat', 'isreadable', 'isrecursive', 'saferepr... FILE c:\users\administrator\appdata\local\programs\python\python36-32\lib\pprint.py
https://www.cnblogs.com/serpent/