Python程序员的进化

Python程序员的进化

程序员是一个总体的称呼,那些写代码的人都可以称作程序员;如同任何行业有大师、菜鸟的区别一样,程序员其实也是分级别的,比如:JeffDean(Jeff是谷歌架构师,MapReduce的作者,Bigtable论文写作者和代码高手)不仅仅能够发表论文,代码写的 的 ,在谷歌很多人都说Jeff直接写机器码的,他用编译器是要检查编译器有什么错误。

国内现在很多人说程序员如果超过了30岁以后就没有什么发展前途了,但是在互联被渗透到所有行业的时代程序员反而是最有价值的一个群体,在IBM,谷歌,微软等公司最 的往往是50多岁的程序员,所以我建议如果一个人不是特别的擅长管理请好好的写代码,然后变成一个技术领域的大牛!

现在用一些代码实例总结黑客级别的程序员和菜鸟程序员的差别:

编程新手

deffactorial(x):ifx==0:return1else:returnx*factorial(x-1)printfactorial(6)一年编程经验(学Pascal的)

deffactorial(x):result=1i=2whilei=x:result=result*ii=i+1returnresultprintfactorial(6)一年编程经验(学C的)

deffact(x):#{result=i=1;while(i=x):#{result*=i;i+=1;#}returnresult;#}print(fact(6))

一年编程经验(Python)defFactorial(x):

res=1foriinxrange(2,x+1):res*=ireturnres

printFactorial(6)懒惰的Python程序员

deffact(x): returnx1andx*fact(x-1)or1

printfact(6)

更懒的Python程序员

f=lambdax:xandx*f(x-1)or1

printf(6)

Python专家

fact=lambdax:reduce(int.__mul__,xrange(2,x+1),1)

printfact(6)Python黑客

importsys

tailcalldeffact(x,acc=1):ifx:returnfact(x.__sub__(1),acc.__mul__(x))ite(str(fact(6))+"\n")专家级程序员

fromc_mathimportfact

printfact(6)Web设计人员

deffactorial(x):#-------------------------------------------------#---CodesnippetfromTheMathVault---#---Calculatefactorial(C)ArthurSmith---#-------------------------------------------------result=str(1)i=1#ThanksAdamwhilei=x:#result=result*i#It"sfastertouse*=#result=str(result*result+i)#result=int(result*=i)#??????result=str(int(result)*i)#result=int(str(result)*i)i=i+1 returnresult

printfactorial(6)Unix程序员

importos

deffact(x):stem("factorial"+str(x))

fact(6)Windows程序员

NULL=None

defCalculateAndPrintFactorialEx(dwNumber,hOutputDevice,lpLparam,lpWparam,lpsscSecurity,*dwReserved):

iflpsscSecurity!=NULL:

returnNULL#Notimplemented

dwResult=dwCounter=1

whiledwCounter=dwNumber:

dwResult*=dwCounter

dwCounter+=1

ite(str(dwResult))

ite("\n")

return1

importsys

CalculateAndPrintFactorialEx(6,dout,NULL,NULL,NULL,

NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL)企业级程序员

defnew(cls,*args,**kwargs):

returncls(*args,**kwargs)

classNumber(object):

pass

classIntegralNumber(int,Number):

deftoInt(self):

returnnew(int,self)

classInternalBase(object):

def__init__(self,base):

se=Int()

defgetBase(self):

returnnew(IntegralNumber,se)

classMathematicsSystem(object):

def__init__(self,ibase):

Abstract

classmethod

defgetInstance(cls,ibase):

try:

cls.__instance

exceptAttributeError:

cls.__instance=new(cls,ibase)

returncls.__instance

classStandardMathematicsSystem(MathematicsSystem):

def__init__(self,ibase):

tBase()!=new(IntegralNumber,2):

raiseNotImplementedError

se=tBase()

defcalculateFactorial(self,target):

result=new(IntegralNumber,1)

i=new(IntegralNumber,2)

whilei=target:

result=result*i

i=i+new(IntegralNumber,1)

returnresult

tInstance(new(InternalBase,

new(IntegralNumber,2))).calculateFactorial(new(IntegralNumber,6))

(来源:清华大数据)

数据驱动医疗未来









































中医治疗白癜风费用
北京白癜风治疗多少钱



转载请注明:http://www.xxcyfilter.com/zyfl/613.html