在Python中,一个.py文件就称之为一个模块(Module)
    为了避免模块名冲突,Python又引入了按目录来组织模块的方法,称为包(Package)
    请注意,每一个包目录下面都会有一个init.py的文件,这个文件是必须存在的,否则,Python就把这个目录当成普通目录,而不是一个包。
    init.py可以是空文件,也可以有Python代码,因为init.py本身就是一个模块,而它的模块名就是mycompany。
    python如何添加模块搜索路径的3个方法
    大约有这么几种方法:
    1、添加环境变量PYTHONPATH,python会添加此路径下的模块,在.bashrc文件中添加如下类似行:
    export PYTHONPATH=$PYTHONPATH:/usr/local/lib/python2.7/site-packages
    2、在site-packages路径下添加一个路径配置文件,文件的扩展名为.pth,内容为要添加的路径即可
    3、sys.path.append()函数添加搜索路径,参数值即为要添加的路径。
    import sys
    sys.path
    使用模块
    使用author变量把作者写进去,这样当你公开源代码后别人就可以瞻仰你的大名
    Python解释器把一个特殊变量name置为main,而如果在其他地方导入该hello模块时,if判断将失败,因此,这种if测试可以让一个模块通过命令行运行时执行一些额外的代码,最常见的就是运行测试
    别名
    用import … as …指定了别名StringIO
    由于Python是动态语言,函数签名一致接口就一样,因此,无论导入哪个模块后续代码都能正常工作。
    作用域
    类似xxx这样的变量是特殊变量,可以被直接引用,但是有特殊用途,比如上面的authorname就是特殊变量,hello模块定义的文档注释也可以用特殊变量doc访问,我们自己的变量一般不要用这种变量名;
    类似_xxx和__xxx这样的函数或变量就是非公开的(private),不应该被直接引用
    外部不需要引用的函数全部定义成private,只有外部需要引用的函数才定义为public
    静态语言函数签名相同要求每个位置的参数类型必须一致,返回值类型必须一致
    动态语言函数参数和返回值没有类型信息,签名相同是参数个数相同
    安装第三方模块
    在Python中,安装第三方模块,是通过setuptools这个工具完成的。Python有两个封装了setuptools的包管理工具:easy_install和pip。目前官方推荐使用pip
    让我们来安装一个第三方库——Python Imaging Library,这是Python下非常强大的处理图像的工具库(PIL)
    MySQL的驱动:MySQL-python,用于科学计算的NumPy库:numpy,用于生成文本的模板工具Jinja2
    你用pip install Pillow安装
    现在已经用pillow替代PIL了
    PIL最多支持的python版本是2.7
    而pillow 版本大于2.1支持python2.6,2.7以及3.x
    相应的原来的import image也由from PIL import Image代替 注意大小写
    如果我们要添加自己的搜索目录,有两种方法:
    一是直接修改sys.path,添加要搜索的目录
    sys.path.append(‘/Users/michael/my_py_scripts’)
    sys.path.append(‘
    /usr/local/lib/python2.7/site-packages
    ‘)
    第二种方法是设置环境变量PYTHONPATH,该环境变量的内容会被自动添加到模块搜索路径中
    使用future
    从Python 2.7到Python 3.x就有不兼容的一些改动,比如2.x里的字符串用’xxx’表示str,Unicode字符串用u’xxx’表示unicode,
    而在3.x中,所有字符串都被视为unicode,因此,写u’xxx’和’xxx’是完全一致的,而在2.x中以’xxx’表示的str就必须写成b’xxx’,以此表示“二进制字符串”。
    Python提供了future模块,把下一个新版本的特性导入到当前版本,于是我们就可以在当前版本中测试一些新版本的特性。
    在Python 2.x中,如果是整数相除,结果仍是整数,余数会被扔掉,这种除法叫“地板除”
    在Python 3.x中,所有的除法都是精确除法,地板除用//表示