• python 模块、原始字符串


    模块

    三种方法:

    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该字符串就为原始字符串,所有的转义字符都无效

  • 相关阅读:
    IDEA2019.3.3 配置Maven
    2022-08-09 IO流
    CUDA安装
    OneNet一次上传多个数据,在可视化页面解析显示
    Servlet表单提交、前后端数据交换、页面跳转
    如何做好shopee后台回复—扬帆凌远
    latex方程组编写,一种可以保证方程编号自适应的方法
    一次金融APP的解密历程
    1506_TC275参考手册阅读笔记_ED芯片
    深度学习基础之《TensorFlow框架(15)—神经网络》
  • 原文地址:https://www.cnblogs.com/tangyuanzi/p/16649548.html