模块

三种方法:

  1. import
  2. from 模块 import 成员,成员
  3. from 模块 import * *代表所有的成员

隐藏成员: 模块中以下划线_开头的属性

隐藏成员不会被from 模块 import * 导入

导入模块时会将模块的代码全部执行

as 取别名
from module01 import f as f1

模块变量

__file__ : 模块对应的文件路径名,返回的是一个绝对路径
绝对路径:从盘符开始一层一层
__name__ : 模块自身的名字
如果在当前模块运行,则名字为__main__,否则为模块真名 # 只需要一次模块当作程序运行的代码
if __name__ = '__main__'
print("主模块 ")

模块分类

  1. 内置模块 : builtins.py

  2. 用户自己编写的模块

  3. 标准库

  4. 第三方模块

    第三方模块开源:
    pip install 模块名
    pip install 模块名 -i 源地址
    PIP国内源:
    1)清化大学
    PIP源地址:https://pypi.tuna.tsinghua.edu.cn/simple
    2)阿里云
    PIP源地址:http://mirrors.aliyun.com/pypi/simple/
    3)豆瓣
    PIP源地址:http://pypi.douban.com/simple/
    4)中国科学技术大学
    PIP源地址:http://pypi.mirrors.ustc.edu.cn/simple/
    5)华中科技大学
    PIP源地址:http://pypi.hustunique.com/

常用模块

sys

sys = system简写 系统的意思

sys.modules # 获得导入的所有模块,结果是本字典
sys.path # 搜索路径,结果是个列表
sys.platform # 获得操作系统

os

系统交互模式 = cmd

os.system() # 执行cmd命令,命令用字符串表示
os.getcwd() # 获得工作路径,项目文件的路径
os.mkdir() # 创建文件夹
os.rmdir() # 删除文件夹(只能删除空文件夹)
os.remove() # 删除文件
os.rename() # 文件重命名(原名字,新名字)
os.chdir() # 切换文件夹
os.listdir() # 获得指定目录下所有文件的目录名 # 重要
os.path.exists(path) # 判断文件或者文件夹是否存在
os.path.isfile(path) # 判断是否为文件
os.path.isdir(path) # 判断是否为文件夹

time

import time 

time.time() # 返回一个时间戳 从1970年到现在经过多少秒

time.sleep() # 程序休眠(int)

time.strftime("时间格式",时间对象)
# %Y 年 year
# %m 月 month
# %d 日 day # %H 时 hour
# %M 分 minute
# %S 秒 second
月跟日是小写 其余全部大写
print(time.strftime("%Y %m %d %H:%M:%S", t))

random

random.random() # 生成一个打郁0,小于1的随机小数
random.randint(start,end) # 生成一个随机范围的整数(包括开头结尾)
random.uniform(start,end) # 生成一个随机范围的小数
random.choice(序列) # 从序列中随机提取一个元素
random.choices(序列,k=数量) # 从序列中随机提取多个元素(抽出一个再放回再抽)
random.suffle(序列) # 将原序列打乱(必须是可变序列)

json

json 其实是一种文件的存储格式
json兼容性很强,网络上大部分数据都是以json形式传递让每种语言都可以灵活访问。 跨平台,跨语言 json.loads # json转python
json.dupms # python转json
json.load # 从文件中json转python
json.dupm # python转json到文件中

re

正则表达式:普通字符和元字符构成的字符串,描述一类字符串规则
re.match("正则","匹配的字符串") # 匹配到了就返回,匹配不到就返回None
re.findall("正则","匹配的字符串") # 把能匹配到的都放到列表里面去
re.match("") 元字符:
. 除了\n的任意一个字符 \d 数字
\D 非数字 \s 空白 # [\n \t 空格]
\S 非空白 \w 数字,字母,下划线
\W 非数字,字母,下划线 字符集:使用中括号来表示,表示一个字符范围,字符集也是一个字符
res = re.match("[abzs]","zbasdf")
# <_sre.SRE_Match object; span=(0, 1), match='z'> 字符集中可以使用 - 表示一个范围
[0-9],[a-z],[A-Z][A-Za-Z] 取反: ^
res = re.match("[^a-e]", 'z') 数量规则:
* 匹配前一个字符的任意次数(可以是0次)
res = re.match("\d*", 'w') # 0次,如果不加*则匹配None
# <_sre.SRE_Match object; span=(0, 0), match=''> res = re.match("\w*", 'www111') # 匹配多次,知道匹配不到
# <_sre.SRE_Match object; span=(0, 15), match='www'>
+ 匹配一个字符的1次及1次以上
? 匹配前一个字符0次或者1次 {a} # 只能匹配a个
{a,} # 至少匹配a个
{a,b} # 至少匹配a,至多匹配b个 边界处理:
开始:^ 在外面这个叫做边界
结尾:$
固定数量:
res = re.match("^w{3}$", 'wwww') # None

原始字符串

在字符串前面家上r该字符串就为原始字符串,所有的转义字符都无效

python 模块、原始字符串的更多相关文章

  1. Python专题三字符串的基础知识

    Python专题三字符串的基础知识 在Python中最重要的数据类型包括字符串.列表.元组和字典等.该篇主要讲述Python的字符串基础知识. 一.字符串基础 字符串指一有序的字符序列集合,用单引号. ...

  2. 一个用于提取简体中文字符串中省,市和区并能够进行映射,检验和简单绘图的python模块

    简介 一个用于提取简体中文字符串中省,市和区并能够进行映射,检验和简单绘图的python模块. 举个例子: ["徐汇区虹漕路461号58号楼5楼", "泉州市洛江区万安塘 ...

  3. python-学习笔记之-Day5 双层装饰器 字符串格式化 python模块 递归 生成器 迭代器 序列化

    1.双层装饰器 #!/usr/bin/env python # -*- coding: utf-8 -*- # author:zml LOGIN_INFO = False IS_ADMIN = Fal ...

  4. devi into python 笔记(六)正则表达式 原始字符串

    字符串函数replace: #string.replace: #字符串的replace方法:替换子串,不改变原来的字符串 s = "broad road" #打印出来会发现不单单是 ...

  5. python中根据字符串导入模块module

    python中根据字符串导入模块module 需要导入importlib,使用其中的import_module方法 import importlib modname = 'datetime' date ...

  6. Python基础语法——(引号、字符串、长字符串、原始字符串、Unicode)

    一.单引号字符串和转义引号 当字符串中出现单引号'时,我们可以用双引号""将该字符串引起来:"Let's go!" 而当字符串中出现双引号时,我们可以用单引号' ...

  7. python- 双层装饰器 字符串格式化 python模块 递归 生成器 迭代器 序列化

    1.双层装饰器 #!/usr/bin/env python3 # -*- coding: utf-8 -*- # author:zml LOGIN_INFO = False IS_ADMIN = Fa ...

  8. python day 8: re模块补充,导入模块,hashlib模块,字符串格式化,模块知识拾遗,requests模块初识

    目录 python day 8 1. re模块补充 2. import模块导入 3. os模块 4. hashlib模块 5. 字符串格式:百分号法与format方法 6. 模块知识拾遗 7. req ...

  9. 13.Python字符串详解(包含长字符串和原始字符串)

    简单地理解,字符串就是“一串字符”,也就是用引号包裹的任何数据,比如“Hello,Charlie”是一个字符串,“12345”也是一个字符串. Python 要求,字符串必须使用引号括起来,可以使用单 ...

随机推荐

  1. Pytorch Dataloader加速

    在进行多卡训练的时候,经常会出现GPU利用率上不来的情况,无法发挥硬件的最大实力. 造成这种现象最有可能的原因是,CPU生成数据的能力,已经跟不上GPU处理数据的能力. 方法一 常见的方法为修改Dat ...

  2. URL网络编程

    package com.atguigu.java1; import java.io.FileOutputStream; import java.io.IOException; import java. ...

  3. C++对象的应用

    本篇文章将介绍对象数组,对象的动态分配以及对象在函数中的应用. 一.对象数组 1.对象数组的定义和初始化 定义对象数组与定义普通数组的语法形式基本相同.如定义一个Square obj[3]:表示一个正 ...

  4. Linux 无法启动vmmon的问题[主要出现于Arch系]

    Vmmon module not loaded 使用如下命令加载模块 # modprobe -a vmw_vmci vmmon 可能会出现modprobe: WARNING: Module vmmon ...

  5. 如何用天气预警API接口进行快速开发

    天气预警能够指导人们出行.同一种类的气象灾害预警信号级别不同,对应的防御措施也不尽相同,人们通过气象灾害预警信号,合理安排出行.公众要提高防范意识,养成接收和关注预警信息的习惯,了解预警信息背后的意义 ...

  6. Java开发学习(十三)----基于注解开发定义第三方bean及注解开发总结

    在前面的博客中定义bean的时候都是在自己开发的类上面写个注解就完成了,但如果是第三方的类,这些类都是在jar包中,我们没有办法在类上面添加注解,这个时候该怎么办? 遇到上述问题,我们就需要有一种更加 ...

  7. gitlab+jenkins学习笔记

    一.部署gitlab gitlab部署我采用的是docker的方式,这种方式的优势是方便:之前部署过非docker的gitlab,需要配置安装许多东西,太麻烦,还是docker部署方便,从官网pull ...

  8. TFRecord的Shuffle、划分和读取

    对数据集的shuffle处理需要设置相应的buffer_size参数,相当于需要将相应数目的样本读入内存,且这部分内存会在训练过程中一直保持占用.完全的shuffle需要将整个数据集读入内存,这在大规 ...

  9. C++ 弹幕游戏

    可能会持续更新吧,, 我们说一下固定弹,直线轨迹的做法 . 首先放一个 Kaguya 的波粒: 境符「波与粒的境界」 since C++98,系统要求 Windows . #include <c ...

  10. HDFS基础入门

    HDFS简介 HDFS(全称:Hadoop Distribute File System)分布式文件系统,是Hadoop核心组成. HDFS中的重要概念 分块存储 HDFS中的文件在物理上是分块存储的 ...