python-multiprocessing-进程简述
[TOC]
进程以及状态1. 进程程序:例如xxx.py这是程序,是一个静态的
进程:一个程序运行起来后,代码+用到的资源 称之为进程,它是操作系统分配资源的基本单元。
不仅可以通过线程完成多任务,进程也是可以的
2. 进程的状态工作中,任务数往往大于cpu的核数,即一定有一些任务正在执行,而另外一些任务在等待cpu进行执行,因此导致了有了不同的状态
就绪态:运行的条件都已经慢去,正在等在cpu执行
执行态:cpu正在执行其功能
等待态:等待某些条件满足,例如一个程序sleep了,此时就处于等待态
进程的创建-multiprocessingmultiprocessing模块就是跨平台版本的多进程模块,提供了一个Process类来代表一个进程对象,这个对象可以理解为是一个独立的进程,可以执行另外的事情
2个while循环一起执行12345678910111213141516171819# -*- coding:utf-8 -*-from multiprocessing import Processimport timedef run_proc(): """子进程要执行的代码" ...
python-pycharm-常用快捷键
[TOC]
Python-pycharm必备收藏搜索
Ctrl + Shift + F7用法高亮显示
Ctrl + Alt + F7显示用法
编辑
Ctrl + Shift + V从最近的缓冲区粘贴
Ctrl + D复制选定的区域或行到后面或下一行
Ctrl + Y删除当前行
Ctrl + Shift + J添加智能线
Ctrl + Enter智能线切割
Shift + Enter下一行另起一行
Ctrl + O重新方法
Ctrl + Alt + T选中
Ctrl + Numpad+/-展开折叠代码块
Ctrl + Numpad+全部展开
Ctrl + Numpad-全部折叠
Ctrl + F4关闭运行的选项卡
Ctrl + Space基本的代码完成(类、方法、属性)
Ctrl + Alt + Space快速导入任意类
Ctrl + Shift + Enter语句完成
Ctrl + P参数信息(在方法中调用参数)
Ctrl + Q快速查看文档
Ctrl + /行注释
Ctrl + Shift + /块注释
Ctrl + W选中增加的代码块
Tab / Shift + Tab缩进、不 ...
python-8-模块-datetime模块
[TOC]
练习题:
1、怎么查出通过 from xx import xx导⼊的可以直接调⽤的⽅法?
有种特殊的写法:from xx import * 在被导入的这个模块中如果没有写出all则默认所有内容都导入;
否则,则导入all列表中列出来的所有名字.
2、了解Collection模块,编写程序以查询给定列表中最常见的元素。
题目说明:
输入:language = [‘PHP’, ‘PHP’, ‘Python’, ‘PHP’, ‘Python’, ‘JS’, ‘Python’, ‘Python’,’PHP’, ‘Python’]
输出:Python
12345678910111213"""Input filelanguage = ['PHP', 'PHP', 'Python', 'PHP', 'Python', 'JS', 'Python', 'Python','PHP', 'Python'] Output filePython"""def most_element(language): """ Retur ...
python-正则-re
[TOC]
re 模块简介手写加强理解和记忆
1 查找第一个匹配串1234s = 'i love python very much'pat = 'python' r = re.search(pat,s)print(r.span()) #(7,13)
(7, 13)
查找所有112345s = '山东省潍坊市青州第1中学高三1班'pat = '1'r = re.finditer(pat,s)for i in r: print(i)
<re.Match object; span=(9, 10), match='1'>
<re.Match object; span=(14, 15), match='1'>
\d匹配数字[0-9]1234s = '一共20行代码运行时间13.59s'pat = r'\d+' # +表示匹配数字(\d表示数字的通用字符)1次或多次r = re.findall(pat,s)print(r)
['20', '13', '59']
4 ?表示前一个字符匹配0或1次12345s = '一共20行代码运行时间13.59s'pat = r'\ ...
python-zip-map-enumerate
[TOC]
zip-map-enumerate
先重温一下迭代(Iteration)、迭代器对象(iterable)、迭代器(iterator )的概念:
Iteration是计算机科学的通用术语,它是指对一组元素执行一项操作,一次执行一个元素。一个很好的例子是循环 - 它适用于每个单独的项目,直到整个项目集运行完毕为止。
Iterable是可以遍历的对象(译者注:在Python中所有东西都是object, 比如说变量,容器,类),iterable是可以产生iterator的object。
iterator是表示数据流的对象,它一次返回一个元素的数据。它还会记住其在迭代过程中的位置。本质上,它控制应如何迭代可迭代对象。
zip()的作用先看一下语法:
zip(iter1 [,iter2 [...]]) —> zip objectPython的内置help()模块提供了一个简短但又有些令人困惑的解释:
返回一个元组迭代器,其中第i个元组包含每个参数序列或可迭代对象中的第i个元素。当最短的可迭代输入耗尽时,迭代器将停止。使用单个可迭代参数,它将返回1元组的迭代器。没有参数 ...
python-multiprocessing.pool-进程池简述
[TOC]
进程池Pool当需要创建的子进程数量不多时,可以直接利用multiprocessing中的Process动态成生多个进程,但如果是上百甚至上千个目标,手动的去创建进程的工作量巨大,此时就可以用到multiprocessing模块提供的Pool方法。
初始化Pool时,可以指定一个最大进程数,当有新的请求提交到Pool中时,如果池还没有满,那么就会创建一个新的进程用来执行该请求;但如果池中的进程数已经达到指定的最大值,那么该请求就会等待,直到池中有进程结束,才会用之前的进程来执行新的任务,请看下面的实例:
12345678910111213141516171819202122# -*- coding:utf-8 -*-from multiprocessing import Poolimport os, time, randomdef worker(msg): t_start = time.time() print("%s开始执行,进程号为%d" % (msg,os.getpid())) # random.random()随机生成0~1之间的浮点数 t ...
python-multi-task-多任务
[TOC]
多任务1234567891011121314151617#coding=utf-8from time import sleepdef sing(): for i in range(3): print("正在唱歌...%d"%i) sleep(1)def dance(): for i in range(3): print("正在跳舞...%d"%i) sleep(1)if __name__ == '__main__': sing() #唱歌 dance() #跳舞
正在唱歌...0
正在唱歌...1
正在唱歌...2
正在跳舞...0
正在跳舞...1
正在跳舞...2
很显然刚刚的程序并没有完成唱歌和跳舞同时进行的要求
如果想要实现“唱歌跳舞”同时进行,那么就需要一个新的方法,叫做:多任务
多任务的概念在,多核CPU已经非常普及了,但是,即使过去的单核CPU,也可以执行多任务。由于CPU执行代码都是顺序执行的,那么,单核CPU是怎么执行多任务的呢?
答案就是操作系统轮流让各个任务交替执行,任务 ...
vasp_neb_idpp-使用方法
[TOC]
Nudged Elastic Band(NEB)介绍搬运链接:https://mp.weixin.qq.com/s/pQ-GNPx94W0DndkIoRZ74A
Nudged Elastic Band(NEB)是一种常用的用于搜寻过渡态和反应路径的(chain-of-states)方法。将VTST的代码集成到VASP的源代码后重新编译(http://hmli.ustc.edu.cn/doc/app/vasp.5.4.1-vtst.htm),就可以做`CI-NEB(Climbing Image)方法, 相比于常规的NEB方法,它能够更好地定位过渡态。同时VTST`提供了大量的脚本用于辅助过渡态的计算。(https://www.bigbrosci.com/2018/11/10/ex72/)
chain-of-states这类方法主要好处是只需要提供反应物和产物结构就能得到准确的反应路径和过渡态。首先在二者结构之间以类似LST的方式线性、均匀地插入一批新的结构(使用内坐标更为适宜),一般为5~40个,每个结构就是势能面上的一个点(称为image),并将相邻的点以某种势函数相连 ...