你都用Python 来做啥?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了你都用Python 来做啥?相关的知识,希望对你有一定的参考价值。

为什么要学Python, 就算学会了Python 可以用来干什么呢?

当我知道可以做这些之后,我特别想会。因为论文查阅、答案确认查询;想知道豆瓣8分以上电影,或者穿越类的电影、处理工资数据考核表等。

可以干什么

1、上学吧答案神器 主要实现的是无限制获取上学吧网站上的题目答案(绕过 IP 限制),并实现了自动识别验证码,只用输入某个题目的网址,即可一键获取答案,速度非常快。「想要哈哈,自己或者给孩子辅导作业必备啊?」

2、抓取某系统内全部学生姓名学号及选课信息

3、扫描研究生系统上的弱密码用户、模拟登录图书馆系统并自动续借

4、给钓鱼网站批量提交垃圾信息 经常会收到含有钓鱼网站链接的短信的,一般都是盗取 QQ 密码的偏多,其实可以使用 Python 来批量给对方的服务器提交垃圾数据(需要先抓包),这样骗子看到信息之后就不知道哪些是真的哪些是假的了,说不定可以解救一部分填了密码的同学。

5、网易云音乐批量下载 可以批量下载网易云音乐热歌榜的歌曲,可以自己设定数量,速度非常快。

6、批量下载读者杂志某一期的全部文章

7、 获取城市PM2.5浓度和排名

8、爬取某网商品价格信息

你都用 Python 来做什么?

那Python 作为一种功能强大的编程语言,因其简单易学而受到很多开发者的青睐。那么,Python 的应用领域有哪些呢?

Python 的应用领域非常广泛,几乎所有大中型互联网企业都在使用 Python 完成各种各样的任务,例如国外的 Google、Youtube、Dropbox,国内的百度、新浪、搜狐、腾讯、阿里、网易、淘宝、知乎、豆瓣、汽车之家、美团等等。概括起来,Python 的应用领域主要有如下几个。

Web应用开发

Python 经常被用于 Web 开发,尽管目前 php、JS 依然是 Web 开发的主流语言,但 Python 上升势头更劲。尤其随着 Python 的 Web 开发框架逐渐成熟(比如 Django、flask、TurboGears、web2py 等等),程序员可以更轻松地开发和管理复杂的 Web 程序。例如,通过 mod_wsgi 模块,Apache 可以运行用 Python 编写的 Web 程序。Python 定义了 WSGI 标准应用接口来协调 HTTP 服务器与基于 Python 的 Web 程序之间的通信。举个最直观的例子,全球最大的搜索引擎 Google,在其网络搜索系统中就广泛使用 Python 语言。另外,我们经常访问的集电影、读书、音乐于一体的豆瓣网(如图 1 所示),也是使用 Python 实现的。



图1用Python实现的豆瓣网

不仅如此,全球最大的视频网站 Youtube 以及 Dropbox(一款网络文件同步工具)也都是用 Python 开发的。

自动化运维

很多操作系统中,Python 是标准的系统组件,大多数 Linux 发行版以及 NetBSD、OpenBSD 和 Mac OS X 都集成了 Python,可以在终端下直接运行 Python。有一些 Linux 发行版的安装器使用 Python 语言编写,例如 Ubuntu 的 Ubiquity 安装器、Red Hat Linux 和 Fedora 的 Anaconda 安装器等等。另外,Python 标准库中包含了多个可用来调用操作系统功能的库。例如,通过 pywin32 这个软件包,我们能访问 Windows 的 COM 服务以及其他 Windows API;使用 IronPython,我们能够直接调用 .Net Framework。通常情况下,Python 编写的系统管理脚本,无论是可读性,还是性能、代码重用度以及扩展性方面,都优于普通的 shell 脚本。

人工智能领域

人工智能是项目非常火的一个研究方向,如果要评选当前最热、工资最高的 IT 职位,那么人工智能领域的工程师最有话语权。而 Python 在人工智能领域内的机器学习、神经网络、深度学习等方面,都是主流的编程语言。可以这么说,基于大数据分析和深度学习发展而来的人工智能,其本质上已经无法离开 Python 的支持了,原因至少有以下几点:

目前世界上优秀的人工智能学习框架,比如 Google 的 TransorFlow(神经网络框架)、FaceBook 的 PyTorch(神经网络框架)以及开源社区的 Karas 神经网络库等,都是用 Python 实现的;微软的 CNTK(认知工具包)也完全支持 Python,并且该公司开发的 VS Code,也已经把 Python 作为第一级语言进行支持。Python 擅长进行科学计算和数据分析,支持各种数学运算,可以绘制出更高质量的 2D 和 3D 图像。总之,AI 时代的来临,使得 Python 从众多编程语言中脱颖而出,Python 作为 AI 时代头牌语言的位置,基本无人可撼动!最后,如果你的时间不是很紧张,并且又想快速的提高,最重要的是不怕吃苦,建议你可以价位@762459510 ,那个真的很不错,很多人进步都很快,需要你不怕吃苦哦!大家可以去添加上看一下~

网路爬虫

Python 语言很早就用来编写网络爬虫。Google 等搜索引擎公司大量地使用 Python 语言编写网络爬虫。从技术层面上将,Python 提供有很多服务于编写网络爬虫的工具,例如 urllib、Selenium 和 BeautifulSoup 等,还提供了一个网络爬虫框架 Scrapy。

科学计算

自 1997 年,NASA 就大量使用 Python 进行各种复杂的科学运算。并且,和其它解释型语言(如 shell、js、PHP)相比,Python 在数据分析、可视化方面有相当完善和优秀的库,例如 NumPy、SciPy、Matplotlib、pandas 等,这可以满足 Python 程序员编写科学计算程序。

游戏开发

很多游戏使用 C++ 编写图形显示等高性能模块,而使用 Python 或 Lua 编写游戏的逻辑。和 Python 相比,Lua 的功能更简单,体积更小;而 Python 则支持更多的特性和数据类型。比如说,国际上指明的游戏 Sid Meier's Civilization(文明,如图 2 所示)就是使用 Python 实现的。



图2Python开发的游戏

除此之外,Python 可以直接调用 Open GL 实现 3D 绘制,这是高性能游戏引擎的技术基础。事实上,有很多 Python 语言实现的游戏引擎,例如 Pygame、Pyglet 以及 Cocos 2d 等。以上也仅是介绍了 Python 应用领域的“冰山一角”,例如,还可以利用 Pygame 进行游戏编程;用 PIL 和其他的一些工具进行图像处理;用 PyRo 工具包进行机器人控制编程,等等。有兴趣的读者,可自行搜索资料进行详细了解。

参考技术A Python作为一种通用语言,几乎可以用在任何领域和场合,角色几乎是无限的。Python具有简单、易学、免费、开源、可移植、可扩展、可嵌入、面向对象等优点,它的面向对象甚至比java和C#.net更彻底。
它是一种很灵活的语言,能帮你轻松完成编程工作。强大的类库支持,使编写文件处理、正则表达式、网络连接等程序变得相当容易。能运行在多种计算机平台和操作系统中,如unix、windows、MacOS、OS/2等等,并可作为一种原型开发语言,加快大型程序的开发速度。
Python除了极少的涉及不到的开发之外,其他基本上可以说全能:系统运维、图形处理、数学处理、文本处理、数据库编程、网络编程、web编程、多媒体应用、pymo引擎、爬虫编写、机器学习、人工智能等等。所以说Python的应用特别广。
参考技术B 几乎没有Python办不到的事情.Python的内核非常之小,但他能够提供基本的构建块,所以程序员能设计很多的应用程序.另外可以用C,C ,Java对Python进行扩展,因此你可以用它开发任何类型的程序.Python解释器提供大量的各种附加模块构成的库来扩展Python程序设计的功能,比如网络通讯,文本处理(广泛的XML支持),以及正则表达式(Regular Expression)。

虽然Python的主要目的是向程序员屏蔽底层的复杂性,但是它也支持一些必要的挂钩(hook),扩展和函数,这样我们可以对操作系统的特定区域进行底层访问.上天入地的本事都有了,Python的确是可以做任何事情。

Python的可扩展性

因为Python是用C写的,有些扩展用C ,而且可以访问其源代码,因此可以对Python写扩展.Python提供的许多标准模块支持C或者C 接口。

Python和C可以一起工作.它可以嵌入到C或者C 的应用程序当中,因此可用Python语言为应用程序提供脚本接口.由于支持跨语言开发,可用Python设计概念化应用程序,并逐步移植到C,使用前不必用C重写应用程序。

Python可以和Java一起工作:Jython是Java 与Python天衣无缝的结合.无论是在Python里面调Java的包,或是在Java里面使用Python的对象,你都可以畅通无阻.还有更妙的,由于Jython的解释器完全用Java编写,因此可以在支持Java的任何平台上部署Python程序,甚至WEB浏览器也可以直接运行Python脚本.本人曾经在项目中用Jython画3D图,客户端IE可以直接浏览并用鼠标进行操纵!

Python的简单性

只要了解Python的基本原理,学习其他内容就会很容易.语言的核心很小,语义和样式非常简单.半天时间学会,轻轻松松.当然这不是说Python语言没有需要深入学习的复杂问题.许多扩展和库,还是需要认真思考才能达到高效使用这门语言的目的.尤其是与其他语言,如TK和SQL进行集成连接时,更是应该如此.

其实我的主要研究工作是用 Python 做数据分析,业余爱好搞搞 web 开发,所以我目前主要用 Python 做 3 件事情。

1. 数据分析

Python 的数据分析生态系统很完善了,甚至看到很多研究者的讨论帖子都建议早点把研究工。
参考技术C 我大部分是使用Ice来收集数据,处理后用chartdirector绘图。在这里,我还为大家摘取了部分网友的回答。
网友A说,主要是做数据抽取和图表生成;网友B说用python做嵌入式,主要是数据库初始化、定时备份,数据提取,制图;Ice应用;系统管理脚本;数据库管理;网友C认为做什么都行,用Python写过系统管理的脚本,CGI程序,Windows下的GUI程序。

Python
总之,Python可以做的事情数不胜数,应用领域也非常广泛:可以应用在网站,游戏,数据库,科学计算,虚拟现实等各个方面。可以做网络后台框架,比如Django,非常优秀,非常灵活。大家如果想用一门语言尽可能地做更多的事情,建议去学习Python技术。
python的优点都有哪些?
1、主要是开发快,语言简洁,没那么多技巧,所以读起来非常清楚容易。
2、C/C 可以写python的module,标准库里就有用C/C 写的东西,这个跟java的JNI类似。
3、python的gui一般是用tkinter,就是tk的python的wrapper。python没有像xna那么方便的工具。
4、python不是为了网络设计的。python是1991年有的,WWW是1993年才被CERN开放的。网络编程用python主要是因为开发快。
5、像VS那样功能强的IDE,有要钱的PyCharm和不要钱的PyDev。PyDev有Eclipse的插件版本或者是Aptana Studio版本。
为什么一定要选择Python?
Python是一门面向对象的编程语言,它相对于其他语言,更加易学、易读,非常适合快速开发。
学完Python可以做些什么?
一、Web应用开发
服务器端编程,具有丰富的Web开发框架,如Django和TurboGears,快速完成一个网站的开发和Web服务。典型如国内的豆瓣、果壳网等;国外的Google、Dropbox等。
二、系统网络运维
在运维的工作中,有大量重复性工作的地方,并需要做管理系统、监控系统、发布系统等,将工作自动化起来,提高工作效率,这样的场景Python是一门非常合适的语言。
三、科学与数字计算
Python被广泛的运用于科学和数字计算中,例如生物信息学、物理、建筑、地理信息系统、图像可视化分析、生命科学等,常用numpy、SciPy、Biopython、SunPy等。 四、3D游戏开发
Python有很好的3D渲染库和游戏开发框架,有很多使用Python开发的游戏,如迪斯尼卡通城、黑暗之刃。常用PyGame、Pykyra等和一个PyWeek的比赛。
五、图形界面开发
Python可编写桌面图形用户界面,还可以扩展微软的Windows,常用Tk、GTK 、PyQt、win32等。
六、网络编程
除了网络和互联网的支持,Python还提供了对底层网络的支持,有易于使用的Socket接口和一个异步的网络编程框架Twisted Python。
参考技术D 按照网上大佬的说法,python除了不会繁衍几乎什么能实现。可见python的功能之强大。我平时用python主要是用来数据分析,实现结果输出的自动化。另外我也会用python来批量处理pdf转word,还有用来画图,特别是像heatmap、network这类图,python画出来的图还是很好看的。对python掌握比较好的话,还可以实现网络爬虫!

你都用 Python 来做什么?

你们都用python做些什么呢?

在开发中 python 这一个语言就像是小叮当,而 python 的第三方库则是“百宝箱”,你只要想着对某一个方向进行开发,那么这个“百宝箱”就会给你想要的东西。
由于我是在开发多年后接触到的 python,对我来说自从接触 python 就打开了“新世界”的大门。(我正在求设计做一张图,还没做完,做完贴上在这里)

一、做个自己玩游戏的程序

在前几年,我有一个朋友是一个“游戏商人”,不过大多数他是手动进行商品处理。
他有一天找到我,跟我说“嗨兄弟,会不会做外G?”!
此时我觉得他在嘲讽我,为了我自己的自尊,我回答了“不会!”。

有一说一,我是一个正经程序员,那一方面我真的不会。不过在他看起来程序员就应该要解决计算机的一切问题,在此观点作祟之下,他一而再再而三的缠着我,最后我听了一下他的需求之后,我又觉得我可以了。

当时他的需求是想完成一个游戏的自动化操作(他自己一个人手动操作烦死了,据说一天可以赚好几百),当时我研究了一下他所说的一个手机游戏,发现所有逻辑都是“死”的,升级套路有固定剧情,并且对应的游戏玩法也相对固定,看他如此坚持我就同意了。

接下来我查了一下 python 相关的资料,发现了一个神奇的东西 Airtest,是网易开发的,据说是为了做一些测试,在原生应用下简直可以“为所欲为”。为了测试这个东西的是否真的牛啤,我就直接下载了 Airtest 的 IDE,在开发时踩了一些坑,但最终还是实现了对应项目的 自动化操作。最后我朋友感激涕零的拉着我喝了三天三夜,当时我觉得我不应该做出来给他去祸害我自己。

二、自动化办公

说到这个自动化办公我本身是不涉及到的,但在粉丝群里有很多同学是为了自动化办公而学习的python,但是由于经验不足,导致学完后自己却不能完成一些应用的开发,就在群里面艾特到我讲解一些功能如何实现。


我列出了几个比较常规的需求:

  1. 批量文本提取出手机号码
  2. 批量文本存储到 Excel 中
  3. 批量文本提取出邮箱
  4. 批量图片加水印
  5. 批量删除重复文件
  6. 批量文章算中文字数
  7. 批量生成gif
  8. 批量英文翻译
  9. 视频音轨批量提取

像取电话号码、邮箱基本上都是直接使用正则就可以提取了,若是需要操作 Excel 只需要使用 xlwt 库就可以完成,加水印这些只需要使用 opencv 库,对比相同文件只需要判断 md5 文件的值就可以了,翻译就是使用 translate 库。
由于代码不难,我就不在这里写出来了,如果需要的评论区可以留言,人多的话我就更新话题把代码也讲一遍了。

想了想,为了大家的收藏量我决定直接把代码打出来吧。

自动化办公解释文章跳转:https://blog.csdn.net/A757291228/article/details/117464313

批量文本提取出手机号码:

#读取目标文本文件
def get_str(path):
    f = open(path,encoding="utf-8")  
    data = f.read()
    f.close()
    return data
import re
 
#正则获取文本号码
def get_phone_number(str):
    res = re.findall(r'(13\\d9|14[5|7]\\d8|15\\d9|166\\d8|17[3|6|7]\\d8|18\\d9)', str)
    return res
#保存得到号码
def save_res(res,save_path):
    save_file = open(save_path, 'w') 
    for phone in res: 
        save_file.write(phone) 
        save_file.write('\\n') 
    save_file.write('\\n号码共计:'+str(len(res)))
    save_file.close() 
    print('号码读取OK,号码共计:'+str(len(res)))
path=input("请输入文件路径:")
save_path=input("请输入文件保存路径:")
#read_str=get_str(path)
res=get_phone_number(get_str(path))
save_res(res,save_path)

批量文本存储到 Excel 中:

import xlwt
#读取目标文本文件
def get_str(path):
    f = open(path,encoding="utf-8")  
    data = f.read()
    f.close()
    return data
#保存为Excel文件
def save_excel(save_path,sheetname,column_name_list,read_list):
    workbook = xlwt.Workbook()
    sheet1 = workbook.add_sheet(sheetname=sheetname)
    for i in range(0,len(column_name_list)):
        sheet1.write(0,i,column_name_list[i])
    i=1
    for v in read_list:
        kval=v.split(':')
        for j in range(0,len(kval)):
            sheet1.write(i+1,j,kval[j])
        i=i+1
    workbook.save(save_path)
    print('信息保存 OK,记录条数共计:'+str(len(read_list)))
path=input("请输入文件路径:")
save_path=input("请输入文件保存路径:")
sheet_name=input("请输入sheetname:")
column_name=input("请输入列名,并且使用英文逗号隔开:")
column_name_list=column_name.split(',')

read_str=get_str(path)
read_list=read_str.split('\\n')
save_excel(save_path,sheet_name,column_name_list,read_list)

批量删除重复文件:

import hashlib,os
def getMD5(filepath):
    f = open(filepath,'rb')
    md5obj = hashlib.md5()
    md5obj.update(f.read())
    hash = md5obj.hexdigest()
    f.close()
    return str(hash).upper()
path=input("请输入需要重复文件过滤文件夹路径:")
file_list = os.listdir(path)
file_md5=[]
for filename in file_list:
    md5val=getMD5(path+filename)
    if md5val in file_md5:
        os.remove(path+filename)
    else:
        file_md5.append(md5val)
print("处理完毕...")

批量英文翻译:

from translate import Translator
translator = Translator(to_lang="Chinese")
def get_str(path):
    f = open(path)  
    data = f.read()
    f.close()
    return data
path=input("请输入文件路径:")
text=get_str(path)

以上的代码是基础代码,相似需求的内容我就不贴出来了。
代码需要大家修改哟,代码很简单,看看就ok了。

三、python 爬虫


python 还可以去做一些爬虫方面的开发,例如你想要一些数据进行研究,可能你会使用 scrapy 之类的 python 爬虫框架,也可以使用 selenium 自动化测试框架做爬虫也是很方便。

专业用 scrapy 当然会更强大,但是 selenium 对于新手来说用起来也是非常棒的,可以忽略很多问题对网页信息进行提取。

但是需要注意,爬虫一定要合规使用哟。

四、python 机器学习、图像识别


python 做人工智能这一块也是非常方便,我记得我之前辅导一个情报学的同学做一个舆情分析系统,当时就是用了 python 制作,结合使用 sklearn 库,在可允许的误差中实现了这一套系统,这个还是非常棒的。

python 还可以通过 opencv 做图像识别,或者对图像进行模糊、加强等操作。我当时接触 opencv 是因为有一个平台说要征稿,一番计算之后发现学习成本和稿酬相比,稿酬比较诱人,接着我就接触了,就写了一些小东西,这个体验还是非常赞的。

五、python web方面


用 python 做 web 方面是一个较为常规的方向,python web 我接触的比较晚,因为之前做 web 我是使用的 php(为什么不用 java 是因为我年少时被 java 坑太惨了)。

我第一个接触的 python web 框架是 django。当时由于公司的一个项目是使用了 django 进行开发,我问开发(小农同学)这东西玩得怎么样,他跟我说“太简单了,直接就可以生成一个完整的项目。”!

我一听,心想这不就是跟那些 WordPress、discuz 一样吗?这还是 python?

于是为了搞懂 django,自己试了一下,果真 django 对开发一些项目及其方便。若使用 django 可以将其比喻成房子的地基(且软硬完全),再通过自己编写一“模块”为这个房子添加更多功能,在开发一些方向的 web 来说是非常方便的。

之后查了一下资料,发现了 Instagram 竟然就是 django 进行开发的。

六、画画


python 还可以通过代码画画,通过 turtle 画出很精美的作品。

turtle 是 python 的一个图像绘制库,我从资料上得知 turtle 是用来给青少年学习更好 python 的方式。我尝试了一下,确实很赞,下面就是我之前绘制出的一颗清新小树:

这里是我的代码,解释文章跳转:ttps://blog.csdn.net/A757291228/article/details/106029202

from turtle import *
import random

def drawTree(length):
    if length>1:
        if length<30 and length>14:#缩小一下树干
            pensize(4)
        elif length<15 and length>5:#长度这个范围内那么就是绿叶
            color('#04B486')#
            pensize(3)
        elif length<5 and length>1:#红花
            color('#FE2E9A')
            pensize(2)
        else:
            color('#5E5E5E')#其他范围就是正常的树干
            pensize(5)
        #随机角度与长度
        randangle=2*random.random()
        randlen=2*random.random()
        
        #每次使用函数先绘制线段,再调整角度,这里是向右的角度转动
        fd(length)
        right(20*randangle)
        drawTree(length - 10*randlen)
        
        #这里是向左的角度转动
        left(40 * randangle)
        drawTree(length - 10*randlen)
        
        #为什么需要再向右转20度?那是因为我一共向左转了40度,使用backward后退,必须是相同的角度,不然退回去角度就不同了位置就不会对
        right(20 * randangle)

        up()
        backward(length)
        down()
def fallingFlowers(m):
    x,y=-1000,-750
    for i in range(30):
        up()
        goto(x,y)
        x+=100
        down()
        yval=50
        for i in range(m):
            a = 100*random.random()
            b = 2*random.random()
            print(a)
            if a>59:
                color('#FE2E9A')
            else:
                color('#04B486')
            circle(5)
            up()
            goto(x,y+(yval*b))
            fd(a)
            yval+=50
            down()      
            
setworldcoordinates(-1000,-750,1000,750)        
tracer(False)

fallingFlowers(10)#绘制落叶
bgcolor("#F5F6CE")
color('#5E5E5E')
pensize(5)

up()
goto(0,-700)#跳到绘制起始点
down()

left(80)
fd(140)
drawTree(120)

input()

以上是关于你都用Python 来做啥?的主要内容,如果未能解决你的问题,请参考以下文章

用 Python 可以来做啥?

年度盘点,30个开创性的Python开源项目-你都用过哪些?

转知乎的文章 都用 Python 来做什么啊

python主要可以做啥

数控行业常用的这六款编程软件,你都用过吗?

python能做啥?