你肯定想学习的顶级Python项目(附代码)
作者:AnirudhRao
翻译:张睿毅
校对:王婷
本文约4600字,建议阅读20分钟。
本文介绍了三种不同的阶段去开发Python项目,旨在提供适合各种难度层次Python项目。
Python项目Python的初级、中级和高级
在这个Python项目博客中,让我们来看3个级别的Python项目,通过这三个项目您将会学习掌握Python,以及从整体上测试项目的分析、开发和处理问题的技能。
如果我说Python的学习真的很有趣,很多人都会同意的。
我们先浏览下面的主题列表,之后开始阅读这篇Python项目博客:Python简介如何学习Python项目?初级Python项目:用Python玩汉格曼游戏中级Python项目:在Python中使用图形高级Python项目:使用Python进行机器学习结论
我应当先向您简单介绍一下Python。
Python简介
Python是一种高级的、面向对象的、解释性的编程语言。它在世界上享有广泛关注。StackOverflow发现38。8的用户主要使用Python来完成项目。
Python是由一个名为GuidoVanRossum的开发人员创建的。
Python是而且一直是很容易学习和掌握的。它对初学者非常友好,语法非常简单,易于阅读和理解。这特别让我们高兴,而令人更高兴的是Python在全球拥有数百万快乐的学习者!
根据该网站的调查,在2018年,Python的人气超过了c,就像它在2017年超过了php一样。在GitHub平台上,Python超越了Java成为第二个最常用的编程语言,在2017中比2016多获得了40的申请。
这使得Python认证成为最受欢迎的编程认证之一。
如何学习Python项目?
答案相当简单直接:从学习Python的初级知识和所有基本知识开始。这是一个用于了解您使用Python舒适程度的评价指标。
下一个主要步骤是看一看基本、简单的代码,以熟悉代码中的语法和逻辑流。这是一个非常重要的步骤,有助于为以后的工作打下坚实的基础。
在这之后,您还要看看在现实生活中Python如何使用。这将成为您在开始就要学习Python的主要原因。
如果您不是刚入门Python,那么您将会学习Python项目,并对自己的项目实施一些策略。接下来一定要看看您可以利用当前关于Python的知识进行处理哪些项目。深入研究Python会帮助您在各个阶段评估自己。
项目基本上是用来解决眼下问题的。如果为各种简单或复杂的问题提供解决方案是您的特长,那么您一定要考虑学习Python的项目。
每当着手搞定几个项目之后,您距离掌握Python将更近一步。这一点很重要,因为这样您就能够自然地将所学的知识应用到项目中,从简单的程序如计算器,到辅助实现人工智能的学习。
让我们从第一级的Python项目开始学习。https:www。edureka。coPythonprogrammingcertificationtraining
初级Python项目:用Python实现《Hangman》游戏
我们能想到的最好的入门项目是《Hangman》游戏。我敢肯定读过这篇Python项目博客的大多数人都曾在生活中某个时刻玩过《Hangman》。用一句话来解释,它的主要目标是创建一个猜词游戏。尽管听起来很简单,但有一些关键的东西需要注意。需要用户能够输入猜测的字母。需要限制他们的猜测次数。需要不停地告知用户剩余圈数。
这意味着你需要一种方法来获取一个用于猜测的单词。让我们用简单思维,使用文本文件输入。文本文件包含了我们必须猜测的单词。
您还需要一些函数去检查用户是否实际输入了单个字母,检查输入的字母是否出现在单词中(如果是,则检查出现多少次),以及打印字母;还有一个计数器变量限制猜测的次数。
这个Python项目中有一些关键的概念需要牢记:随机变量布尔值输入和输出整形值字符型值字符串字符串长度打印
代码:
1。Hangman。pyfromstringimportasciilowercase
fromwordsimportgetrandomword
defgetnumattempts():
Getuserinputtednumberofincorrectattemptsforthegame。
whileTrue:
numattemptsinput(
Howmanyincorrectattemptsdoyouwant?〔125〕)
try:
numattemptsint(numattempts)
if1lt;numattemptslt;25:
returnnumattempts
else:
print({0}isnotbetween1and25。format(numattempts))
exceptValueError:
print({0}isnotanintegerbetween1and25。format(
numattempts))
defgetminwordlength():
Getuserinputtedminimumwordlengthforthegame。
whileTrue:
minwordlengthinput(
Whatminimumwordlengthdoyouwant?〔416〕)
try:
minwordlengthint(minwordlength)
if4lt;minwordlengthlt;16:returnminwordlengthelse:print({0}isnotbetween4and16。format(minwordlength))exceptValueError:print({0}isnotanintegerbetween4and16。format(minwordlength))defgetdisplayword(word,idxs):Getthewordsuitablefordisplay。iflen(word)!len(idxs):raiseValueError(Wordlengthandindiceslengtharenotthesame)displayedword。join(〔letterifidxs〔i〕elsefori,letterinenumerate(word)〕)returndisplayedword。strip()defgetnextletter(remainingletters):Gettheuserinputtednextletter。iflen(remainingletters)0:raiseValueError(Therearenoremainingletters)whileTrue:nextletterinput(Choosethenextletter:)。lower()iflen(nextletter)!1:print({0}isnotasinglecharacter。format(nextletter))elifnextletternotinasciilowercase:print({0}isnotaletter。format(nextletter))elifnextletternotinremainingletters:print({0}hasbeenguessedbefore。format(nextletter))else:remainingletters。remove(nextletter)returnnextletterdefplayhangman():Playagameofhangman。Attheendofthegame,returnsiftheplayerwantstoretry。Letplayerspecifydifficultyprint(StartingagameofHangman。。。)attemptsremaininggetnumattempts()minwordlengthgetminwordlength()Randomlyselectawordprint(Selectingaword。。。)wordgetrandomword(minwordlength)print()Initializegamestatevariablesidxs〔letternotinasciilowercaseforletterinword〕remaininglettersset(asciilowercase)wrongletters〔〕wordsolvedFalseMaingameloopwhileattemptsremaininggt;0andnotwordsolved:
Printcurrentgamestate
print(Word:{0}。format(getdisplayword(word,idxs)))
print(AttemptsRemaining:{0}。format(attemptsremaining))
print(PreviousGuesses:{0}。format(。join(wrongletters)))
Getplayersnextletterguess
nextlettergetnextletter(remainingletters)
Checkifletterguessisinword
ifnextletterinword:
Guessedcorrectly
print({0}isintheword!。format(nextletter))
Revealmatchingletters
foriinrange(len(word)):
ifword〔i〕nextletter:
idxs〔i〕True
else:
Guessedincorrectly
print({0}isNOTintheword!。format(nextletter))
Decrementnumofattemptsleftandappendguesstowrongguesses
attemptsremaining1
wrongletters。append(nextletter)
Checkifwordiscompletelysolved
ifFalsenotinidxs:
wordsolvedTrue
print()
Thegameisover:revealtheword
print(Thewordis{0}。format(word))
Notifyplayerofvictoryordefeat
ifwordsolved:
print(Congratulations!Youwon!)
else:
print(Tryagainnexttime!)
Askplayerifheshewantstotryagain
tryagaininput(Wouldyouliketotryagain?〔yY〕)
returntryagain。lower()y
ifnamemain:
whileplayhangman():
print()
2。Words。pyFunctiontofetchwords。
importrandom
WORDLISTwordlist。txt
defgetrandomword(minwordlength):
Getarandomwordfromthewordlistusingnoextramemory。
numwordsprocessed0
currwordNone
withopen(WORDLIST,r)asf:
forwordinf:
if(inwordor)inword:
continue
wordword。strip()。lower()
iflen(word)lt;minwordlength:
continue
numwordsprocessed1
ifrandom。randint(1,numwordsprocessed)1:
currwordword
returncurrword
结果如图
现在我们已经了解了如何处理像《hangman》这样的初级项目,那么让我们稍微升级一下,尝试一个中级的Python项目。
中级Python项目:在Python中使用图形
开始学习Python编程的中间阶段的最好方法绝对是开始使用Python支持的库。
在用Python进行编码时,可以使用真正意义上的n个库。有些库是非常容易直接的,而有些可能需要一些时间来理解和掌握。
下面是一些您可以考虑入门学习的顶级库:NumPySciPyPandasMatplotlib
NumPy总的来说是用于科学计算的。
SciPy使用数组,例如用于线性代数、微积分和其他类似概念的基本数据结构。
Pandas用于数据帧,而Matplotlib则以图形和符号的形式显示数据。
实现数据可视化可能是Python最好的应用之一。尽管数字化的数据输出很有用,但对数据的可视化表示也有许多要求。
它通过可视化展现,只是一种抽象概括。从创建前端或图形用户界面(GUI)到将数字化数据绘制为图上的点。
Matplotlib用于在图形上绘制数据点。Matplotlib是一个绘图库,可以用于Python编程语言及其数字化数学扩展库NumPy。它提供了一个面向对象的API,通过使用通用的GUI工具包(如Tkinter、wxPython、Qy或GTK),将绘图嵌入到应用中。
在Python中有许多用于三维绘图的选项,但这里有一些使用Matplotlib的常见简单方法。
一般来说,第一步是创建一个三维坐标轴,然后绘制出最能说明特定需求的数据的三维图形。为了使用Matplotlib,必须导入Matplotlib安装中包含的mplot3d工具包:frommpltoolkitsimportmplot3d
然后,要创建三维轴,可以执行以下代码:lt;preid3346classgrafgrafpregrafafterpgt;matplotlibinline
importnumpyasnp
importmatplotlib。pyplotasplt
figplt。figure()
axplt。axes(projection’3d’)lt;pregt;
在这个三维坐标轴中,可以绘制一个图,重要的是要知道哪种类型的图(或图的组合)可以更好地描述数据。
此时,您需要注意的是,这一操作是我们进一步绘图的基础。https:www。edureka。coPythonprogrammingcertificationtraining
点和线:
下图结合了两个绘图,一个图带有一条线,该线穿过数据的每个点,另一个图在本例中的每个特定1000个值上绘制一个点。
这个代码分析时实际上非常简单。我们利用标准三角函数绘制了一组随机值,并利用这些数据生成三维投影。
代码:axplt。axes(projection’3d’)Dataforathreedimensionalline
zlinenp。linspace(0,15,1000)
xlinenp。sin(zline)
ylinenp。cos(zline)
ax。plot3D(xline,yline,zline,‘gray’)Dataforthreedimensionalscatteredpoints
zdata15np。random。random(100)
xdatanp。sin(zdata)0。1np。random。randn(100)
ydatanp。cos(zdata)0。1np。random。randn(100)
ax。scatter3D(xdata,ydata,zdata,czdata,cmap’Greens’);
三维等高线图
由于需要二维网格上的数据,因此轮廓图的输入与上一个绘图稍有不同。
请注意,在下面的示例中,在为x和y赋值之后,通过执行np。meshgrid(x,y)将它们组合到网格上,然后通过执行函数f(x,y)和网格值(zf(x,y))创建z值。
再一次,基本的简化三维图为以下代码:deff(x,y):
returnnp。sin(np。sqrt(x2y2))
xnp。linspace(6,6,30)
ynp。linspace(6,6,30)
X,Ynp。meshgrid(x,y)
Zf(X,Y)figplt。figure()
axplt。axes(projection3d)
ax。contour3D(X,Y,Z,50,cmapbinary)
ax。setxlabel(x)
ax。setylabel(y)
ax。setzlabel(z);
在以前的图形中,数据是按顺序生成的,但在现实生活中,有时数据是不按顺序生成的,对于这些情况,三角网格曲面测量非常有用,因为它通过查找相邻点之间形成的三角形集来创建曲面。
表面三角测量:theta2np。pinp。random。random(1000)
r6np。random。random(1000)
xnp。ravel(rnp。sin(theta))
ynp。ravel(rnp。cos(theta))
zf(x,y)
axplt。axes(projection’3d’)
ax。plottrisurf(x,y,z,cmap’viridis’,edgecolor’none’);
现在我们已经熟悉了如何通过查看外部库来扩展我们对Python的学习,那么我们就可以研究下一个高级级别的Python项目。
Python高级项目
Python有着广泛的应用从HelloWorld一路走到实现人工智能。
实际上,您可以使用Python进行无限多的项目,但如果您想深入了解Python的核心,可以考虑以下几个主要的项目。使用PyTorch、TensorFlow、Keras和您喜欢的任何机器学习库进行机器学习。使用OpenCV和PIL研究计算机视觉。使用测试和文档,创建和发布自己的pip模块。
在这些里面,我最喜欢的就是机器学习和深度学习。让我们看一个非常好的用例以便深入学习Python。
在Python中使用TensorFlow实现CIFAR10
让我们训练一个网络,对CIFAR10数据集中的图像进行分类。可以使用TensorFlow内置的卷积神经网络。
为理解用例的工作原理,我们考虑以下流程图:
我们把这个流程图分解成简单的组分:首先将图像加载到程序中这些图像存储在程序可以访问的位置将数据规范化,因为我们需要Python来理解当前的信息。定义神经网络的基础。定义损失函数以确保我们在数据集上获得最大精度训练实际模型,了解一些它所一直看到的数据对模型进行测试,以分析其准确性,并迭代整个训练过程,以获得更好的精度。
这个用例分为两个程序。一个是训练网络,另一个是测试网络。
我们先训练一下这个网络。
训练网络importnumpyasnp
importtensorflowastf
fromtimeimporttime
importmath
frominclude。dataimportgetdataset
frominclude。modelimportmodel,lr
trainx,trainygetdataset(train)
testx,testygetdataset(test)
tf。setrandomseed(21)
x,y,output,ypredcls,globalstep,learningratemodel()
globalaccuracy0
epochstart0
PARAMS
BATCHSIZE128
EPOCH60
SAVEPATH。tensorboardcifar10v1。0。0
LOSSANDOPTIMIZER
losstf。reducemean(tf。nn。softmaxcrossentropywithlogitsv2(logitsoutput,labelsy))
optimizertf。train。AdamOptimizer(learningratelearningrate,
beta10。9,
beta20。999,
epsilon1e08)。minimize(loss,globalstepglobalstep)
PREDICTIONANDACCURACYCALCULATION
correctpredictiontf。equal(ypredcls,tf。argmax(y,axis1))
accuracytf。reducemean(tf。cast(correctprediction,tf。float32))
SAVER
mergedtf。summary。mergeall()
savertf。train。Saver()
sesstf。Session()
trainwritertf。summary。FileWriter(SAVEPATH,sess。graph)
try:
print(nTryingtorestorelastcheckpoint。。。)
lastchkpathtf。train。latestcheckpoint(checkpointdirSAVEPATH)
saver。restore(sess,savepathlastchkpath)
print(Restoredcheckpointfrom:,lastchkpath)
exceptValueError:
print(nFailedtorestorecheckpoint。Initializingvariablesinstead。)
sess。run(tf。globalvariablesinitializer())
deftrain(epoch):
globalepochstart
epochstarttime()
batchsizeint(math。ceil(len(trainx)BATCHSIZE))
iglobal0
forsinrange(batchsize):
batchxstrainx〔sBATCHSIZE:(s1)BATCHSIZE〕
batchystrainy〔sBATCHSIZE:(s1)BATCHSIZE〕
starttimetime()
iglobal,,batchloss,batchaccsess。run(
〔globalstep,optimizer,loss,accuracy〕,
feeddict{x:batchxs,y:batchys,learningrate:lr(epoch)})
durationtime()starttime
ifs100:
percentageint(round((sbatchsize)100))
barlen29
filledlenint((barlenint(percentage))100)
barfilledlengt;(barlenfilledlen)
msgGlobalstep:{:gt;5}〔{}〕{:gt;3}acc:{:。4f}loss:{:。4f}{:。1f}samplesec
print(msg。format(iglobal,bar,percentage,batchacc,batchloss,BATCHSIZEduration))
testandsave(iglobal,epoch)
deftestandsave(globalstep,epoch):
globalglobalaccuracy
globalepochstart
i0
predictedclassnp。zeros(shapelen(testx),dtypenp。int)
whileilt;len(testx):jmin(iBATCHSIZE,len(testx))batchxstestx〔i:j,:〕batchystesty〔i:j,:〕predictedclass〔i:j〕sess。run(ypredcls,feeddict{x:batchxs,y:batchys,learningrate:lr(epoch)})ijcorrect(np。argmax(testy,axis1)predictedclass)acccorrect。mean()100correctnumberscorrect。sum()hours,rempmod(time()epochstart,3600)minutes,secondspmod(rem,60)mesnEpoch{}accuracy:{:。2f}({}{})time:{:0gt;2}:{:0gt;2}:{:05。2f}
print(mes。format((epoch1),acc,correctnumbers,len(testx),int(hours),int(minutes),seconds))
ifglobalaccuracy!0andglobalaccuracylt;acc:summarytf。Summary(value〔tf。Summary。Value(tagAccuracytest,simplevalueacc),〕)trainwriter。addsummary(summary,globalstep)saver。save(sess,savepathSAVEPATH,globalstepglobalstep)mesThisepochreceivebetteraccuracy:{:。2f}gt;{:。2f}。Savingsession。。。
print(mes。format(acc,globalaccuracy))
globalaccuracyacc
elifglobalaccuracy0:
globalaccuracyacc
print()
defmain():
trainstarttime()
foriinrange(EPOCH):
print(nEpoch:{}{}n。format((i1),EPOCH))
train(i)
hours,rempmod(time()trainstart,3600)
minutes,secondspmod(rem,60)
mesBestaccuracypresession:{:。2f},time:{:0gt;2}:{:0gt;2}:{:05。2f}
print(mes。format(globalaccuracy,int(hours),int(minutes),seconds))
ifnamemain:
main()
sess。close()
输出:
Epoch:6060
Globalstep:23070〔gt;〕0acc:0。9531loss:1。50817045。4samplesec
Globalstep:23080〔gt;〕3acc:0。9453loss:1。51597147。6samplesec
Globalstep:23090〔gt;〕5acc:0。9844loss:1。47647154。6samplesec
Globalstep:23100〔gt;〕8acc:0。9297loss:1。53077104。4samplesec
Globalstep:23110〔gt;〕10acc:0。9141loss:1。54627091。4samplesec
Globalstep:23120〔gt;〕13acc:0。9297loss:1。53147162。9samplesec
Globalstep:23130〔gt;〕15acc:0。9297loss:1。53077174。8samplesec
Globalstep:23140〔gt;〕18acc:0。9375loss:1。52317140。0samplesec
Globalstep:23150〔gt;〕20acc:0。9297loss:1。53017152。8samplesec
Globalstep:23160〔gt;〕23acc:0。9531loss:1。50807112。3samplesec
Globalstep:23170〔gt;〕26acc:0。9609loss:1。50007154。0samplesec
Globalstep:23180〔gt;〕28acc:0。9531loss:1。50746862。2samplesec
Globalstep:23190〔gt;〕31acc:0。9609loss:1。49937134。5samplesec
Globalstep:23200〔gt;〕33acc:0。9609loss:1。49957166。0samplesec
Globalstep:23210〔gt;〕36acc:0。9375loss:1。52317116。7samplesec
Globalstep:23220〔gt;〕38acc:0。9453loss:1。51537134。1samplesec
Globalstep:23230〔gt;〕41acc:0。9375loss:1。52337074。5samplesec
Globalstep:23240〔gt;〕43acc:0。9219loss:1。53877176。9samplesec
Globalstep:23250〔gt;〕46acc:0。8828loss:1。57697144。1samplesec
Globalstep:23260〔gt;〕49acc:0。9219loss:1。53837059。7samplesec
Globalstep:23270〔gt;〕51acc:0。8984loss:1。56186638。6samplesec
Globalstep:23280〔gt;〕54acc:0。9453loss:1。51517035。7samplesec
Globalstep:23290〔gt;〕56acc:0。9609loss:1。49967129。0samplesec
Globalstep:23300〔gt;〕59acc:0。9609loss:1。49977075。4samplesec
Globalstep:23310〔gt;〕61acc:0。8750loss:1。58427117。8samplesec
Globalstep:23320〔gt;〕64acc:0。9141loss:1。54637157。2samplesec
Globalstep:23330〔gt;〕66acc:0。9062loss:1。55497169。3samplesec
Globalstep:23340〔gt;〕69acc:0。9219loss:1。53897164。4samplesec
Globalstep:23350〔gt;〕72acc:0。9609loss:1。50027135。4samplesec
Globalstep:23360〔gt;〕74acc:0。9766loss:1。48427124。2samplesec
Globalstep:23370〔gt;〕77acc:0。9375loss:1。52317168。5samplesec
Globalstep:23380〔gt;〕79acc:0。8906loss:1。56957175。2samplesec
Globalstep:23390〔gt;〕82acc:0。9375loss:1。52257132。1samplesec
Globalstep:23400〔gt;〕84acc:0。9844loss:1。47687100。1samplesec
Globalstep:23410〔gt;〕87acc:0。9766loss:1。48407172。0samplesec
Globalstep:23420〔gt;〕90acc:0。9062loss:1。55427122。1samplesec
Globalstep:23430〔gt;〕92acc:0。9297loss:1。53137145。3samplesec
Globalstep:23440〔gt;〕95acc:0。9297loss:1。53017133。3samplesec
Globalstep:23450〔gt;〕97acc:0。9375loss:1。52317135。7samplesec
Globalstep:23460〔gt;〕100acc:0。9250loss:1。536210297。5samplesec
Epoch60accuracy:78。81(788110000)
Thisepochreceivebetteraccuracy:78。81gt;78。78。Savingsession。。。
在测试数据集上运行网络importnumpyasnp
importtensorflowastf
frominclude。dataimportgetdataset
frominclude。modelimportmodel
testx,testygetdataset(test)
x,y,output,ypredcls,globalstep,learningratemodel()
BATCHSIZE128
CLASSSIZE10
SAVEPATH。tensorboardcifar10v1。0。0
savertf。train。Saver()
sesstf。Session()
try:
print(nTryingtorestorelastcheckpoint。。。)
lastchkpathtf。train。latestcheckpoint(checkpointdirSAVEPATH)
saver。restore(sess,savepathlastchkpath)
print(Restoredcheckpointfrom:,lastchkpath)
exceptValueError:
print(nFailedtorestorecheckpoint。Initializingvariablesinstead。)
sess。run(tf。globalvariablesinitializer())
defmain():
i0
predictedclassnp。zeros(shapelen(testx),dtypenp。int)
whileilt;len(testx):
jmin(iBATCHSIZE,len(testx))
batchxstestx〔i:j,:〕
batchystesty〔i:j,:〕
predictedclass〔i:j〕sess。run(ypredcls,feeddict{x:batchxs,y:batchys})
ij
correct(np。argmax(testy,axis1)predictedclass)
acccorrect。mean()100
correctnumberscorrect。sum()
print()
print(AccuracyonTestSet:{0:。2f}({1}{2})。format(acc,correctnumbers,len(testx)))
ifnamemain:
main()
sess。close()
简单输出:Tryingtorestorelastcheckpoint。。。
Restoredcheckpointfrom:。tensorboardcifar10v1。0。023460
AccuracyonTestSet:78。81(788110000)
这难道不是一个非常有趣的用例吗?至此,我们了解了机器学习是如何工作的,开发了一个基本程序,并使用Python中的TensorFlow来实现了它。
原文标题:TopPythonProjectsYouShouldConsiderLearning
原文链接:https:www。edureka。coblogpythonprojects
编辑:王菁
校对:龚力
译者简介
张睿毅,北京邮电大学大二物联网在读。我是一个爱自由的人。在邮电大学读第一年书我就四处跑去蹭课,折腾整一年惊觉,与其在当下焦虑,不如在前辈中沉淀。于是在大二以来,坚持读书,不敢稍歇。资本主义国家的科学观不断刷新我的认知框架,同时因为出国考试很早出分,也更早地感受到自己才是那个一直被束缚着的人。太多真英雄在社会上各自闪耀着光芒。这才开始,立志终身向遇到的每一个人学习。做一个纯粹的计算机科学里面的小学生。喜欢算法,数据挖掘,图像识别,自然语言处理,神经网络,人工智能等方向。
完
关注清华青岛数据科学研究院官方微信公众平台THU数据派及姊妹号数据派THU获取更多讲座福利及优质内容。
生鲜蔬菜普通菜叶类等级(1)甜麦菜芥菜A级1、无压伤,株形完整;2、干净无泥;3、规格大小均匀;B级1、轻微压伤,有轻微脱叶,断茎,不超5;2、能观察到个别植株有泥,不超5;3、规格相对均匀;……
立Flag学习Ng缓存及压缩ampampamp动静分离amp立Flag学习Ng缓存及压缩动静分离https动静分离缓存配置及Gzip配置https配置缓存及压缩locationqq。png{expires2s;缓存2秒expires2m……
大数据行业中的女性职员不知大家是否有曾想过这样一个词IT男为什么IT男会如此出圈,以至于一说到是做计算机的,第一反应就是IT男,而少有IT女呢?在早期的计算机行业发展过程中,高要求的专业技术能力,就……
张一鸣马化腾王兴为什么都让大学室友当了集团二号人物?今天520,真不是好日子,朋友圈氛围组都不营业。出来撒狗粮的没有,倒是一大早看到佟丽娅和陈思成离婚了。恭喜佟丽娅。再然后,看到张一鸣退位了,要把CEO宝座传给……
120W快充?RedmiNote11曝光卢伟冰疯狂暗示最近马上要到双11了,很多手机厂商也在为这个双11准备,最明显的就是很多新机在路上,或者说有些新机在近期已经发布了,为的可能就是让大家在双11旗舰能够买到自己心仪的手机。如果你……
每四个高考生,就有一个复读生,太卷了今天高考第一天,祝所有的考生都能考好。不过显然这是不可能,升学率固定,怎么都会是有人欢喜有人忧,考差的就面临着回家进厂、职业教育以及复读。复读生到底有多少,没人真的……
集成灶该怎么选?分析了数款产品后,从中总结出这几点,太实用了集成灶是近些年来蹿红的较快的一种厨房家电,至于为什么会突然一下火爆家电圈呢?这就不得不说到其丰富的功能了。这种集抽油烟机、灶具、蒸箱、烤箱以及消毒柜等等家电为一体的集成式……
低压电工复习资料温馨提示。1。特种作业理论考试80分为合格,只有一次补考机会;2。理论考试采用电脑考试(即机考),题型:判断题:70题。单选题:30题,合计100题,3。理论练习微信公众号安全……
测试开发工程师必备技能分享Mock的使用技巧1。背景在实际产品开发过程中,某个服务或前端依赖一个服务接口,该接口可能依赖多个底层服务或模块,或第三方接口,比如说服务A依赖服务B,服务B又依赖服务C,如下图所示:……
家庭网络,怎么给每个房间装一个无线路由器?根据我所知道的回答一下这个问题。家庭里每个房间装一个无线路由器可以实现家庭wifi的全覆盖,不会出现在卧室不能连接无线wifi的尴尬情况,不用抱着手机找wifi信号。……
你正在用的手机壁纸是哪一张?有什么故事?寇德卡的这张作品。摄于1968年被入侵的布拉格街头。在没深入去解读寇德卡之前,我只是觉得这是一张很酷的照片。构图很棒,拍摄的手法也非常的独特。但是,在我渐渐地……
剑指ApplePay,欧盟将指控苹果在NFC芯片方面存在垄断IT之家10月6日消息据路透社报道,知情人士称,欧盟反垄断监管机构将以其NFC芯片技术相关的反竞争行为起诉苹果公司,此举可能迫使苹果向竞争对手开放其移动支付系统。IT之家……