设为首页 加入收藏

TOP

Python学习笔记【第八篇】:Python内置模块(一)
2018-10-19 16:55:39 】 浏览:177
Tags:Python 学习 笔记 第八篇 内置 模块

 

什么时模块

    Python中的模块其实就是XXX.py 文件

模块分类

    Python内置模块(标准库)

    自定义模块

    第三方模块

使用方法

   import 模块名

   form 模块名 import 方法名

   说明:实际就是运行了一遍XX.py 文件

导入模块也可以取别名

   如: import time as t

import time as t
print(t.time())

 

定位模块

  1. 当前目录
  2. 如果不在当前目录,Python则搜索在shell变量PYTHONPATH下的每个目录。
  3. 如果都找不到,Python会察看默认路径。UNIX下,默认路径一般为/usr/local/lib/python/
  4. 模块搜索路径存储在system模块的sys.path变量中。变量里包含当前目录,PYTHONPATH和由安装过程决定的默认目录。

自定义模块

   我们自己写的XX.py 文件就是一个模块,在项目中可以引用这个模块调用里面的方法。

__all__[]关键字 

   __all__ = ["函数名","类名","方法名"]

没有all关键字 所有方法都可以访问到

 

使用all关键字

  

总结

  • 如果一个文件中有__all__变量,那么也就意味着不在这个变量中的元素,不会被from xxx import *时导入

 

模块包

  模块包就是为了防止模块重名

  两个模块在同一个文件夹里 并且有个__init__.py 文件

 

__init__.py 文件内容

# -*- coding: utf-8 -*-

# 声明字符编码
# coding:utf-8
 
# 在外部文件中 import all中的模块
__all__ = ["receMsage","myModelDemo"] #"myModelDemoOne"

import sys
sys.path.append('/home/ubuntu/code/Python核心编程')

print(sys.path)
# 外部文件中访问模块中的方法
from.import receMsage

使用:

 

总结:

  • 包将有联系的模块组织在一起,即放到同一个文件夹下,并且在这个文件夹创建一个名字为__init__.py 文件,那么这个文件夹就称之为
  • 有效避免模块名称冲突问题,让应用组织结构更加清晰

标准库

import os
import sys
import random
import time
import datetime
import json
import pickle
import shelve
import xml.etree.ElementTree as et
import xml
import configparser
import hashlib
import logging
import re

  

笔记

def time_test():
    print('\r\n============time时间模块测试============\r\n')
    """
    1:时间戳:time.time() 1970 1 1 0点   秒数
    2:结构化时间: time.localtime() 和 time.gmtime() 返回的是时间对象(tm_year,tm_mon,tm_wday)
    3:字符串时间

    """
    print("时间戳:%s" % time.time())
    t1 = time.localtime()
    # print(dir(t1))
    print('返回时间对象:%s 年 %s 月 %s 日' % (t1.tm_year, t1.tm_mon, t1.tm_mday))
    # t2 = time.gmtime()
    # print(dir(t2))
    # 时间戳转为时间对象(结构化时间)
    t3 = time.localtime()
    print(t3)
    # 将结构化时间转为时间戳
    t4 = time.mktime(t3)
    print(t4)

    # 将结构化时间转字符串时间
    t5 = time.strftime("%Y-%m-%d %X", t3)
    print(t5)
    t8 = time.asctime(t3)
    print(t8)

    # 将字符串时间转为结构化时间
    t6 = time.strptime(t5, '%Y-%m-%d %X')
    print(t6)

    # 将时间戳转为特定的字符串时间
    t7 = time.ctime(t4)
    print(t7)

    # 睡眠多少秒才继续执行
    # time.sleep(2)


def random_test():
    print('\r\n============random模块测试============\r\n')
    print(random.random())  # 0-1 返回float类型
    print(random.randint(1, 10))  # 1-10 整形
    print(random.randrange(1, 10))
    print(random.choice([1, 'a', 3, 'w', 5]))  # 随机返回列表中的数据
    print(random.sample(['b', 'z', 1, 3, 'he', 4, '我'], 4))  # 随机返回集合中的内容4个

    # 验证码
    def v_code(n):
        result = ""
        for i in range(n):
            # 随机数字
            num = random.randint(0, 9)
            # 随机字母
            f = chr(random.randint(65, 122))
            s = str(random.choice([num, f]))
            result += s
        return result

    # 调用
    print("随机验证码:%s" % (v_code(5)))


def os_test():
    print('\r\n============OS模块测试============\r\n')
    # 获取当前文件路径
    print(os.getcwd())
    # 创建文件夹
    # os.makedirs("makdir")
    # 删除文件夹
    # os.removedirs('makdir')

    # 获取当前文件同级的所有文件
    print(os.listdir())

    # 获取文件信息
    print(os.stat("11-lnh-python模块.py"))

    print(os.name)
    # 获取绝对路径
    print(os.path.abspath("makdir"))

    a = "User/Administrator"
    c = "python/基础"
    print(os.path.join(a, c))


def sys_test():
    print('\r\n============sys模块测试============\r\n')
    """
    sys.argv        #  执行参数List ,第一个元素是程序本身路径
    sys.exit(n)     # 退
首页 上一页 1 2 3 4 下一页 尾页 1/4/4
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇python全栈开发-第七天 下一篇在python3下对数据分块(8x8大小)..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目