当前位置: 首页 > 后端技术 > Python

6个案例教你快速掌握Python基础知识,赶紧收藏

时间:2023-03-25 23:58:24 Python

最近系统学习了python基础知识,边学边学,想知道有没有快速掌握知识的方法。一般正常的逻辑就是边看基础知识边练习案例,这是书本由厚变薄的一个过程。但是现在节奏这么快,尤其是互联网公司,除去周末在家带孩子的时间,几乎没有时间和精力去深入学习,于是就有了这篇文章。本文以案例入手,直接结合Python知识点,让你快速掌握Python基础知识点。案例名称计算圆的面积输入字符并逆序输出猜数字游戏以诗句形式输出诗歌统计文本(txt)中出现频率最高的10个词网页元素提取计算面积ofacircle知识点:print结合format()函数输出格式。固定公式:print(<输出字符串模板>.format(<变量1>,<变量2>,<变量3>))实现代码:r=25#圆的半径为25area=3.1415*r*r#Circle的公式print(area)print('{:.2f}'.format(area))#只输出小数点后两位新手易错点:字符串模板格式'{:.2f}'前的格式经常出错,{}之一对应于格式中的一个参数。逆序输入字符输出核心思想:找到最后一个元素并输出。知识点:Input使用input函数计算长度。使用len()函数输出函数。输出函数末尾使用end='',在输出字符后加一个空字符串#输入文本s=input('请输入一段文字:')#计算输入内容的长度,赋值给ii=len(s)-1#倒序循环输出whilei>=0:print(s[i],end='')i=i-1猜数游戏随机产生一个数,并对输入的数进行判断和这个随机数,直到猜测成功。知识点:使用random.randint()函数产生一个随机数while()循环。当条件不满足时,会继续执行。如果满足条件,break就会跳出循环,进入数字。eval函数结合输入将字符串类型转换为整数。如果三分支条件判断,ifelifelse格式实现代码:importrandom#generaterandomnumbera=random.randint(0,1000)#countcount=0whileTrue:number=eval(input('请输入一个数between0and1000:'))count=count+1#两个数的判断和比较ifnumber>a:print('输大')elifnumber?@[\\]^_'{|}~':'txt=txt.replace('')返回txt按空格分割文本,使用split()函数:hmlttxt=gettxt()words=hmlttxt.split()统计字数thatappear:counts=0forwordinwords:counts[word]=counts.get(word,0)+1#计算单词出现的频率,当单词不在单词中时,返回值为0,当单词出现时换言之,返回+1,这样累计计数就按频率从大到小排序items()sort()排序函数:items=list(counts.items())items.sort(key=lambadax:x[1],reverse=True)上面的x可以是任意字母,reverse=True是倒序排序,默认是升序。要以固定格式输出,请使用format()函数:foriinrange(10)word,count=item[i]print('{0:<10}{1:>5}'.format(word,count))完整代码:#首先将文本内容统一为小写,使用lower()函数defgettxt():txt=open('hamlet.txt','r').read()txt=txt.lower()#将文本中的特殊字符替换为空格,replace()函数forchin'!"#$%&()*+,-./:;<=>?@[\\]^_'{|}~':txt=txt.replace(ch,'')returntxt#按空格分割文本,使用split()函数hamlettxt=gettxt()words=hamlettxt.split()#统计字数counts={}forwordinwords:counts[word]=counts.get(word,0)+1#按频率从大到小排序sort()functionitems=list(counts.items())items.sort(key=lambdax:x[1],reverse=True)#按照固定格式输出,使用format()函数foriinrange(10):word,count=items[i]print("{0:<10},{1:>5}".format(word,count))网页元素提取图片url路径信息。该函数的目的是重新放置功能和自上而下的设计思想。整个函数分为以下几个过程:首先,提取页面的所有元素,其次,提取图片的url路径,然后,输出并显示路径信息,最后,将这些路径保存在一个文件中,我们将上面的步骤进行了封装,每个步骤进入一个函数,最后调用main()函数,其中提取图片的url路径为核心。提取页面所有元素涉及知识点:文件打开、读取和关闭。defgethtmllines(htmlpath):#文件打开f=open(r,'htmlpath',encoding='utf-8')#文件读取ls=f.readlines()#文件关闭f.close()returnls提取图片url路径知识点:将截取的地址列表的切割以列表的形式存储,split()函数defgeturl(ls):urls=[]forlineinls:if'img'inline:url=line.split('src=')[-1].split('"')[1]urls.append(url)输出路径信息展示知识点:for循环输出路径信息.for循环输出路径信息defshow(urls):count=0forurlinurls:print('{:2}thurl{}'.format(count,url))count+=1将这些路径保存到文件知识点:写入文件。defsave(filepath,urls):f=open(filepate,'w')forurlinurls:f.write(url+'\n')f.close()main()函数,结合以上函数defmain():inputfile='nationalgeographic.html'outputfile='nationalgeographic-urls.txt'htmlLines=getHTMLlines(inputfile)imageUrls=extractImageUrls(htmlLines)showResults(imageUrls)saveResults(outputfile,imageUrls)最终代码:#Example_8_1。1.逐行读取页面所有内容defgetHTMLlines(htmlpath):f=open(htmlpath,"r",encoding='utf-8')ls=f.readlines()f.close()returnls#2.提取http路径defextractImageUrls(htmllist):urls=[]forlineinhtmllist:if'img'inline:url=line.split('src=')[-1].split('"')[1]打印if'http'inurl:urls.append(url)返回urls#3.输出链接地址defshowResults(urls):count=0forurlinurls:print('{:2}thURL:{}'.format(count,url))count+=1#4.将结果保存到文件defsaveResults(filepath,urls):f=open(filepath,"w")forurlsinurls:f.write(url+"\n")f.close()defmain():inputfile='nationalgeographic.html'outputfile='nationalgeographic-urls.txt'htmlLines=getHTMLlines(inputfile)imageUrls=extractImageUrls(htmlLines)showResults(imageUrls)saveResults(outputfile,imageUrls)main()一句话总结:这个小案例可以熟练掌握文件的读写操作,可以理解functions和split()函数的拆分更多实战案例帮助你快速提升Python技术水平。需要全套Python学习资料和教程的朋友可以到公众号【Python编程学习圈】获取免费学习。材料详实清晰,内容丰富,内容全面。干货,回复【学习资料】即可。综上所述,以上主要介绍了python的基本功能。推荐大家熟悉一下。主要知识点如下:input函数实现输入print结合format()函数输出结果并计算字符串长度。len()函数使用random.randint()函数生成随机数eval函数结合input将字符串类型转化为整数if三分支条件判断ifelifelse格式替换函数line.replace(变量名,需要替换的值)文本内容统一为小写,使用lower()函数text特殊字符替换为空格,replace()函数文本被剪切,sort()函数使用sort()函数从大到小排序split()函数