【查漏补缺】Python模块、包和文件101~120

作者: TensorFlow开发者 | 来源:发表于2019-03-03 11:52 被阅读25次

    101.name是一个内置属性,本质上是保存着一个字符串。但字符串内容在不同场景下会有不同:如果直接执行某模块,则该模块name中一定是main字符串;如果导入某A模块,则在A模块中,name中保存的就是模块名字符串(不含拓展名.py)。

    102.包是一个包含多个模块的特殊目录。特殊在:包目录下必须有一个特殊的文件init.py文件。

    103.创建包,可以先创建一个文件夹,然后在该文件夹手动创建出来init.py文件。也可由开发工具生成Python包,这种方式自带空的init.py文件。

    104.使用import 包名,具体能导入哪些模块,正是在init.py文件中配置的,from . import xxxx表示从当前目录中导入xxx模块。

    105.发布模块需要3步:一,在要发布模块的同级目录,创建一个setup.py进行发布模块的基础配置。二,构建模块python3 setup.py build 三,生成发布压缩包python3 setup.py sdist

    106.pip 和pip3会分别将模块安装到Python2.x和Python3.x环境。

    107.在Mac下,安装ipython,只需要:pip3 install ipython即可。

    108.文件:操作文件的3步套路:打开文件、读/写操作、关闭文件。

    109.文件:open()负责打开文件,如果文件存在则返回文件操作对象,如果文件不存在,则抛出异常。
    read()、write()、close()需要文件操作对象调用。

    110.文件:txt = read()会一次性读取文件中的所有内容。

    111.文件指针:第一次读取文件时,文件指针默认会在文件的开头;read()读取完成后,默认情况下文件指针会移动到文件末尾。

    112.f= open("文件名", "文件读写方式"),默认以只读方式打开。
    r:只读方式;
    w:只写方式,如果文件存在会被覆盖;如果文件不存在,会新建一个出来写入。
    a:追加形式。如果文件存在,文件指针放在文件末尾写入;如果文件不存在,会新建一个出来写入。
    r+、w+、a+:以读写的方打开文件。

    113.txt = readline()方法一次只读取一行。读取后,文件指针会自动移动到下一行开始处准备读取。

    114.ASCII码,美国标准编码,一个字节(8位)来表示一个字符,共2^8=256个字符。

    UNICODE编码,utf-8是UNICODE编码的一种编码格式。

    115.Python2.x默认使用ASCII码编码;Python3.x默认使用utf-8编码。

    如果,希望某个文件能正常被Python2.x解析,只需要在文件第一行指定编码格式注释:# *-*coding:utf-8 *-*,
    也可以使用# coding=utf-8

    116.eval()函数会将字符串当成有效的表达式来求值,并返回计算结果。

    117.开发时千万不要直接使用eval(),防止被注入终端命令。

    118.pygame初始化及相关模块加载:pygame.init()
    pygame退出及相关模块内存释放:pygame.quit()

    119.pygame.Rect(x, y, width, height)矩形区域

    120.创建游戏主窗口pygame.display专门用于创建、管理游戏窗口。
    pygame.display.set_mode(resolution=(0,0), flags=0, depth=0)---Surface初始化游戏显示窗口.
    resolution指定屏幕的宽和高,默认创建的窗口大小和屏幕一样大小。
    flags参数指定屏幕的附加选项,例如是否全屏显示、默认不传。
    depth参数表示颜色的位数:默认自动匹配。
    Surface返回值:即是创建好的游戏窗口。

    pygame.display.update()刷新屏幕显示。

    相关文章

      网友评论

        本文标题:【查漏补缺】Python模块、包和文件101~120

        本文链接:https://www.haomeiwen.com/subject/ybmuuqtx.html