2021年1月22日
摘要: 前面的*,+,?等都是贪婪匹配,也就是尽可能匹配,后面加?号使其变成惰性匹配 ret=re.findall('abc*?','abcccccc') print(ret)#['ab'] From WizNote 阅读全文
posted @ 2021-01-22 03:20 VincentAdamNemessis 阅读(42) 评论(0) 推荐(0) 编辑
摘要: Foo/ |-- bin/ | |-- foo | |-- foo/ | |-- tests/ | | |-- __init__.py | | |-- test_main.py | | | |-- __init__.py | |-- main.py | |-- docs/ | |-- conf.py 阅读全文
posted @ 2021-01-22 03:19 VincentAdamNemessis 阅读(31) 评论(0) 推荐(0) 编辑
摘要: json & pickle(* * * *) 之前我们学习过用eval内置方法可以将一个字符串转成python对象,不过,eval方法是有局限性的,对于普通的数据类型, json.loads和eval都能用,但遇到特殊类型的时候,eval就不管用了,所以eval的重点还是通常用来执行一个字符串表达式 阅读全文
posted @ 2021-01-22 03:18 VincentAdamNemessis 阅读(43) 评论(0) 推荐(0) 编辑
摘要: shelve模块比pickle模块简单,只有一个open函数,返回类似字典的对象,可读可写;key必须为字符串,而值可以是python所支持的数据类型 import shelve f = shelve.open(r'shelve.txt') # f['stu1_info']={'name':'ale 阅读全文
posted @ 2021-01-22 03:18 VincentAdamNemessis 阅读(213) 评论(0) 推荐(0) 编辑
摘要: 列表生成式 [x*2 for x in rang(10)] 生成器 generator object 创建生成器两种方式: 1 (x*2 for x in range(10))>>>>>>>>>>>>generator object 2 def f(): yield print('ok') 不会执行 阅读全文
posted @ 2021-01-22 03:17 VincentAdamNemessis 阅读(53) 评论(0) 推荐(0) 编辑
摘要: OS模块 提供对操作系统进行调用的接口 os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径 os.chdir("dirname") 改变当前脚本工作目录;相当于shell下cd os.curdir 返回当前目录: ('.') os.pardir 获取当前目录的父目录字符串 阅读全文
posted @ 2021-01-22 03:17 VincentAdamNemessis 阅读(35) 评论(0) 推荐(0) 编辑
摘要: 迭代器(什么是迭代器) 生成器都是迭代器,迭代器不一定都是生成器 1.有Iter方法 2.有next方法 From WizNote 阅读全文
posted @ 2021-01-22 03:16 VincentAdamNemessis 阅读(22) 评论(0) 推荐(0) 编辑
摘要: 复习 装饰器 函数 为函数增加额外的功能的函数 生成器 列表生成器 a = [x for x in range(10)] 生成器就是一个可迭代对象 (generator) 什么是可迭代对象 内部有iter方法的就是可迭代对象 生成器一共两种创建方式: 1 (x*2 for x in range()) 阅读全文
posted @ 2021-01-22 03:16 VincentAdamNemessis 阅读(23) 评论(0) 推荐(0) 编辑
摘要: 输出: WARNING:root:warning message ERROR:root:error message CRITICAL:root:critical message 可见,默认情况下Python的logging模块将日志打印到了标准输出中,且只显示了大于等于WARNING级别的日志, 这 阅读全文
posted @ 2021-01-22 03:16 VincentAdamNemessis 阅读(53) 评论(0) 推荐(0) 编辑
摘要: 用于加密相关的操作,3.x里代替了md5模块和sha模块,主要提供 SHA1, SHA224, SHA256, SHA384, SHA512 ,MD5 算法 + View Code 还不够吊?python 还有一个 hmac 模块,它内部对我们创建 key 和 内容 再进行处理然后再加密 散列消息鉴 阅读全文
posted @ 2021-01-22 03:15 VincentAdamNemessis 阅读(34) 评论(0) 推荐(0) 编辑
摘要: sys.argv 命令行参数List,第一个元素是程序本身路径 sys.exit(n) 退出程序,正常退出时exit(0) sys.version 获取Python解释程序的版本信息 sys.maxint 最大的Int值 sys.path 返回模块的搜索路径,初始化时使用PYTHONPATH环境变量 阅读全文
posted @ 2021-01-22 03:14 VincentAdamNemessis 阅读(52) 评论(0) 推荐(0) 编辑
摘要: bridged(桥接模式) : 我们的电脑在上网的时候都需要有一个网络地址(IP地址), 通过这个地址可以确定我们的电脑在网络上的位置,桥接模式就是将我们虚拟机中的网卡的网络地址 放在我们真实的物理机的网卡上。 这样的话,我们的虚拟机就好像跟我们的宿主机所在的局域网中的一台机器一样。 桥接模式适合有 阅读全文
posted @ 2021-01-22 03:14 VincentAdamNemessis 阅读(169) 评论(0) 推荐(0) 编辑
摘要: 关键字参数 # def print_info(name,age): # print('Name: %s'% name) # print('Age: %s'%age) # # print_info('xiaohu',38) 必需参数 #print_info(name = 'xiaohu',age = 阅读全文
posted @ 2021-01-22 03:13 VincentAdamNemessis 阅读(64) 评论(0) 推荐(0) 编辑
摘要: 定义:在函数内部,可以调用其他函数。如果一个函数在内部调用自身本身,这个函数就是递归函数。 递归函数的优点: 是定义简单,逻辑清晰。理论上,所有的递归函数都可以写成循环的方式,但循环的逻辑不如递归清晰。 递归特性: 1. 必须有一个明确的结束条件 2. 每次进入更深一层递归时,问题规模相比上次递归都 阅读全文
posted @ 2021-01-22 03:13 VincentAdamNemessis 阅读(36) 评论(0) 推荐(0) 编辑
摘要: 1 作用域:L_E_G_B x = 10 def f(): t = 5 def inner(): count = 7 print a return 1 2 高阶函数 (满足条件之一) 1 函数名可以作为参数输入 2 函数名可以作为返回值 3 闭包 关于闭包,闭包=函数块+定义函数时的环境 From 阅读全文
posted @ 2021-01-22 03:12 VincentAdamNemessis 阅读(34) 评论(0) 推荐(0) 编辑
摘要: 定义函数是为了避免重复代码,提高开发效率,并不会少执行 #函数 != function() #计算机函数 == subroutine, procedures 子程序 , 过程 # 作用: 1. 减少重复代码 2. 方便日后修改调用,更易扩展 3. 保持代码一致性 函数调用必须加括号 形参和实参按顺序 阅读全文
posted @ 2021-01-22 03:12 VincentAdamNemessis 阅读(30) 评论(0) 推荐(0) 编辑
摘要: 集合 1 去重 2 关系测试 3 更新集合可用 s.add() 作为整体加入 s.update() 分别作为单个元素加入 s.remove() 交集 a & b 并集 ‘|’ 求并集符号 a|b 差集 a - b b - a 对称差集 symmetric = 对称 反向交集 a ^ b 超集(父集) 阅读全文
posted @ 2021-01-22 03:10 VincentAdamNemessis 阅读(63) 评论(0) 推荐(0) 编辑
摘要: 线程和进程 线程是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。 一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务 多线程和多进程 A thread is an execution context,which is a 阅读全文
posted @ 2021-01-22 03:09 VincentAdamNemessis 阅读(41) 评论(0) 推荐(0) 编辑
摘要: 1 深浅拷贝 2 set 函数: 1 概念 2 创建 3 参数 4 return 5 定义域 From WizNote 阅读全文
posted @ 2021-01-22 03:09 VincentAdamNemessis 阅读(61) 评论(0) 推荐(0) 编辑
摘要: 协程+多进程 结论:在python里: if任务是IO密集型的 可以用多线程 是计算密集型的,sorry,改C++ From WizNote 阅读全文
posted @ 2021-01-22 03:08 VincentAdamNemessis 阅读(38) 评论(0) 推荐(0) 编辑