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))
(来源:清华大数据)
数据驱动医疗未来
中医治疗白癜风费用北京白癜风治疗多少钱