processing python模式_python学习Processing
標簽:
# -*- coding: utf-8 -*-
__author__ = ‘Administrator‘
import bisect
#排序說明:http://en.wikipedia.org/wiki/insertion_sort
#簡化一些操作
#1:刪減外部調用,降低工作負載
"""
說明:程序復雜度的另一部分是調用其他函數,方法和類所引入的,一般來說,應該盡量將代碼放在循環之外,對于嵌套的循環
這點更加重要,不要在一個循環中反復計算可以在循環開始之前計算數值,內循環應該保持簡潔.
"""
#2:deque還提供了append 和pop方法,在序列的兩端都能以相同的速度執行
#例子2:如下:
from collections import defaultdict,namedtuple
import profile,stat
import sys
s=[(‘a‘,1),(‘b‘,2),(‘c‘,3)]
@profile(‘defaultdict‘)
def faster():
d=defaultdict(list)
for k,v in s:
d[k].append(v)
@profile(‘dict‘)
def slower():
d={}
for k,v in s:
d.setdefault(k,[]).append(v)
print slower(),faster()
print stat[‘dict‘]
print stat[‘defaultdict‘]
lg=defaultdict(long)
print lg[‘one‘]
cus=namedtuple(‘curs‘,‘firsname‘)
c=cus(u‘apped‘,u‘zifoe‘)
print c.firsname
#更多說明
"""
降低復雜度的工作可以通過用算法能很好的地處理高效的數據結構來存儲數據實現,也就是說,當解決方法不明顯時,應該考慮放棄并且重寫出現問題部分,而不是為了性能
而破壞代碼的可讀性!# -*- coding: utf-8 -*-
__author__ = ‘Administrator‘
import subprocess as process#可移植的能夠像線程一樣處理的方法
from Processing import Process
#安裝它的方法,請看:http://blog.csdn.net/imzoer/article/details/8701116
import os
def work():#它提供了Thread類很像Process類,可以任何平臺
print ‘hay i am aprocess id %d‘%os.getpid()
PS=[]
for ii in range(4):
p=Process(target=work)
PS.append(p)
p.start()
for p in PS:
p.join()
#當創建了進程時,將會對內存進行fork,最有效進程使用方式使它們創建之后各自工作,以避免開銷,并從線程檢查它們的狀態,除了內存狀態被復制外,Process
#類還在其構造程序中提供了額外的args參數,還可以用來傳遞所需的數據
#pyprocessing還可以了一個類似于隊列的類,可以用來在一個由該包管理的共享內存空間中讓多個進程共享數據。
"""
它還提供了ctype和進程之間的對象共享功能,請看:http://pyprocessing.berlios.de/doc/shardctypes.html
"""
#例子2
import Queue as q
print ‘this machine has %d cpus‘\
%processing.cpuCount()
def wo():
f=q.get_nowait()
return ‘workd on‘+f
q=processing.Queue()
pool=processing.Pool()
for i in (‘f1‘,‘f2‘,‘f3‘,‘f4‘,‘f5‘):
q.put(i)
while True:
try:
resut=pool.apply_async(wo)
print resut.get(timeout=1)
except q.Empty:
break
"""
apply_async()方法通過進程池來調用wo函數,并立即返回結果對象,主進程可以將它作為結果返回
get方法可以用來等待結果(具有走進設置)
最后array類和Value類提供了共享內存空間。但是應該通過設計避免使用它們,因為它們會出現代碼復雜性.
"""
"""
標簽:
原文地址:http://www.cnblogs.com/mhxy13867806343/p/4227255.html
總結
以上是生活随笔為你收集整理的processing python模式_python学习Processing的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: exe4j打包exe_Java日常实用技
- 下一篇: python3 xpath_Python