10.1 模块

>>> import math
>>> math.sin(0)
0.0

  10.1.1 模块是程序

假设自己写的hello.py放在c:\python目录中,下面的方法就是导入自己的模块:

  import sys

  sys.path.append('c:/python')   //  假设自己的程序保存在 c:\python

  import hello

如果hello模块被修改了,需要重新导入:

  hello = reload(hello)

  10.1.2 模块用于定义

  10.1.3 让你的模块可用

  如何让sys.path在一开始就包含正确的目录,两种方法:

一种是将模块放在合适的位置:

弊端:不希望自己的模块填满python解释器的目录 / 没有权限 / 想将模块放在其他地方。

>>> import sys, pprint
>>> pprint.pprint(sys.path)
['',
'C:\\Program Files\\Python36\\Lib\\idlelib',
'C:\\Program Files\\Python36\\python36.zip',
'C:\\Program Files\\Python36\\DLLs',
'C:\\Program Files\\Python36\\lib',
'C:\\Program Files\\Python36',
'C:\\Program Files\\Python36\\lib\\site-packages']

另外是告诉解释器去哪找模块:

PYTHONPATH环境变量:

set PYTHONPATH = %PYTHONPATH%; C:\python

10.1.4 包

为了组织好模块,你可以将他们分组为包(package)。

当模块存储在文件中时(扩展名.py),包就是模块所在的目录。为了让python将其作为包对待,它必须包含一个名为__init__.py的文件。

10.2 探究模块

10.2.1 模块中有什么

dir:

>>> import copy
>>> dir(copy)
['Error', '__all__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', '_copy_dispatch', '_copy_immutable', '_deepcopy_atomic', '_deepcopy_dict', '_deepcopy_dispatch', '_deepcopy_list', '_deepcopy_method', '_deepcopy_tuple', '_keep_alive', '_reconstruct', 'copy', 'deepcopy', 'dispatch_table', 'error']
>>>

__all__: 定义__all__,  __all__会过滤掉不用的变量,函数和类。

10.2.2 用help获取帮助

>>> help(copy)

10.2.3 文档

>>> print(copy.__doc__)

10.2.4 使用源代码

>>> print(copy.__file__)

10.3 标准库:一些最爱

10.3.1 sys

与python解释器密切关联的变量和函数

argv

exit

modules

path

platform

stdin

stdout

stderr

10.3.2 OS

提供访问操作系统的方法

10.3.3 fileinput

10.3.4 集合、队和双端队列

10.3.5 time

10.3.6 random

10.3.7 shelve(简单的存储方案)

10.3.8 re(正则表达式的支持)

10.3.9 其他有趣的标准模块

functools:

difflib

hashlib

csv

python学习(十) 自带电池的更多相关文章

  1. python学习(十九)常见的第三方库

    原文链接:http://www.limerence2017.com/2017/12/28/python19/#more 介绍几个python中常见的第三方库. Pillow Pillow简称PIL,是 ...

  2. python学习(十)元类

    python 可以通过`type`函数创建类,也可通过type判断数据类型 import socket from io import StringIO import sys class TypeCla ...

  3. Python学习十四:filter()

    Python 中内置了filter()函数用于过滤序列. 使用方法: filter()接收一个函数和一个序列. filter()把传入的函数依次作用于每一个元素,然后依据返回值是True还是False ...

  4. python学习(十五) 内建模块学习

    介绍python的几个內建模块,原文链接 1 python的时间模块datetime 取现在时间 from datetime import datetime now = datetime.now() ...

  5. python学习(十四)正则表达式

    原文链接 ## 什么是正则表达式`正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符.及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑 ...

  6. python学习笔记-参数带*

    #!/usr/bin/python # -*- coding: utf-8 -*- def powersum (power,*args): #所有多余的参数都会作为一个元组存储在args中     s ...

  7. python学习(十八)爬虫中加入cookie

    转载自:原文链接 前几篇文章介绍了urllib库基本使用和爬虫的简单应用,本文介绍如何通过post信息给网站,保存登陆后cookie,并用于请求有权限的操作.保存cookie需要用到cookiejar ...

  8. Python之路【第二十四篇】:Python学习路径及练手项目合集

      Python学习路径及练手项目合集 Wayne Shi· 2 个月前 参照:https://zhuanlan.zhihu.com/p/23561159 更多文章欢迎关注专栏:学习编程. 本系列Py ...

  9. Python 学习 第十篇 CMDB用户权限管理

    Python 学习 第十篇 CMDB用户权限管理 2016-10-10 16:29:17 标签: python 版权声明:原创作品,谢绝转载!否则将追究法律责任. 不管是什么系统,用户权限都是至关重要 ...

  10. Python学习笔记(十四)

    Python学习笔记(十四): Json and Pickle模块 shelve模块 1. Json and Pickle模块 之前我们学习过用eval内置方法可以将一个字符串转成python对象,不 ...

随机推荐

  1. node 模块部分介绍

    chai  断言框架 mocha mochawesome  对mocha 定制报告,生成完整成熟的报告. node-fetch  服务器版fetch superagent  是node 客户端请求代理 ...

  2. Java Redis Pipeline 使用示例

    1. 参考的优秀文章 Request/Response protocols and RTT 2. 来源 原来,系统中一个树结构的数据来源是Redis,由于数据增多.业务复杂,查询速度并不快.究其原因, ...

  3. linux中的权限管理命令

    一. 改变文件或目录的权限:chmod 命令详解 命令名称:chmod 命令所在路径:/bin/chmod 执行权限:所有用户 语法:chmod [{ugoa}{+-=}{rwx}] [文件或目录] ...

  4. Windows Server 2016 桌面环境的自动配置脚本(2017-10-24更新)

    github:https://github.com/m2nlight/WindowsServerToWindowsDesktop 下载:https://github.com/m2nlight/Wind ...

  5. flask_sqlalchemy + sqlite 的一系列使用方法

    如何使用在官网上有详细记录 :http://flask-sqlalchemy.pocoo.org/2.3/ 作为项目笔记,简单阐述使用方法: 1.创建flask_sqlalchemy基于sqlite的 ...

  6. HDU 3452 Bonsai(树形dp)

    Bonsai Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 32768/32768K (Java/Other) Total Submis ...

  7. python基础之多线程与多进程(二)

    上课笔记整理: 守护线程的作用,起到监听的作用 一个函数连接数据库 一个做守护线程,监听日志 两个线程同时取一个数据 线程---->线程安全---->线程同时进行操作数据. IO操作--- ...

  8. 软工作业-四则运算(java实现)BY叶湖倩,叶钰羽

    四则运算生成器 BY-信安1班 叶湖倩(3216005170) 信安1班 叶钰羽(3216005171) 1. 项目介绍 源代码GitHub地址:https://github.com/yeyuyu/s ...

  9. 交叉编译工具链介绍《Building Embedded Linux Systems》

    1.前言 配置和编译一个合适的GNU工具链是相对复杂的并且需要很精细的操作,包括你需要对不同软件库之间的依赖关系.它们的各自的任务,不同软件库版本情况都有比较好的了解,编译工具链是一个乏味的工作. 2 ...

  10. 【tensorflow:Google】二、Tensorflow环境搭建

    2.1 Tensorflow 主要依赖包 2.1.1 Protocol Buffer 结构化数据序列化的过程,另外的工具:XML, JSON, 区别:二进制(不可读):先定义数据格式,还原的时候将需要 ...