你可以用 Python 做的 5 件很酷的事情

Python 是当今最受欢迎的编程语言之一,这一点毋庸置疑。

它之所以如此受欢迎,原因在于其强大的功能,可以用于构建各种应用程序,从简单的维护脚本到复杂的机器学习系统。 使用 Python 可以实现许多有趣的功能,您一定会喜欢上学习它的过程。

简介

Python 在开发者群体中备受青睐,它使得编写自动化脚本和构建各种工具变得既轻松又有趣。

以下是一些常见的应用场景:

  • 创建自动化机器人
  • 进行网络数据抓取
  • 实现机器学习、数据可视化和数据分析
  • 利用 Django 和 Flask 等框架进行 Web 开发
  • 使用 Pygame 进行游戏开发
  • 借助 Kivy 框架开发移动应用程序

本文将通过一些示例,介绍 Python 在多个领域的应用,并展示一些有趣的功能。 如果您还不熟悉 Python,我强烈推荐您开始学习它!

让我们开始吧!

Web 开发

Python 通过 Django、Flask 等框架为 Web 开发提供了强大的支持。它可以用于构建服务器端的 Web 应用程序,并与任何前端技术集成。 通常,开发者使用 JavaScript 构建前端,而使用 Python 来处理服务器端操作。 Python 本身不直接在浏览器中运行。

Django 是 Python 中最流行的 Web 框架之一。 这些框架提供了一个预先构建的结构,您可以轻松地定义和支持数据库交互,只需执行少量设置命令即可完成。 如果您想从最简化的配置入手,我建议您选择 Flask!

此外,Python 拥有大量的 Web 开发库。 一些流行的库包括:

以下是一些可以帮助您开始使用 Python 进行 Web 开发的资源:

示例 – 从移动设备访问计算机文件系统

通过在您的计算机上运行一个文件服务器,您可以轻松地访问文件系统。 只需导航至您想访问的目录并运行以下命令:

# Python 版本 >= 3.X
python3 -m http.server

# 如果 Python 版本 >= 2.X 且 < 3.X
python -m SimpleHTTPServer
# 默认端口: 8000

这将启动一个文件服务器,您可以在同一网络上访问它。 要在您的移动设备上访问这些文件,只需连接到相同的网络(可以是 Wi-Fi 或您笔记本电脑上的手机热点)。 现在,在您的手机浏览器中打开:

<您的计算机 IP>:端口

您可以通过运行 `ifconfig` 命令来检查您的 IP 地址。 请注意您的本地 IP 地址(应以 192.168 开头)。

假设您的 IP 地址是 192.168.43.155,并且您使用的是默认端口。 那么您应该在手机上打开:

192.168.43.155:8000。 您将看到当前目录 🙂

自动化和脚本

作为一名工程师,您可能倾向于偷懒,并希望自动化一切可以自动化的事情,对吗?

不用担心,Python 可以满足您的需求。 只需 4-5 行代码,您就可以自动执行大量操作。 从设置定时任务和提醒,到下载您喜欢的 YouTube 视频,Python 都可以用几行代码搞定。

您可以开始使用以下一些优秀的脚本和软件包:

示例 – 将 CSV 转换为 JSON

您可以使用 Python 中的一个命令将 CSV 文件转换为 JSON!

现在就来尝试一下:

python -c "import csv,json;print json.dumps(list(csv.reader(open('your_csv_file.csv'))))"

将 ‘your_csv_file.csv’ 替换为您的文件名,您将获得 JSON 输出!

很简单,对吧?

游戏开发

Python 也支持游戏开发。它的 Pygame 库非常有用。它支持使用其功能来构建艺术、音乐、声音、视频和多媒体项目。您甚至可以使用 Kivy,它可以在 Windows、Mac、Linux、Android 和 iOS 上运行。

学习资源

示例 – 终端中的刽子手游戏

这是一个简单的 Python 程序,可以让您在终端中玩刽子手游戏。代码可以进一步缩短,我将其留给您作为练习!

# hangman.py
# 导入时间模块
import time
import random

turns = 10

print "你好,我们来玩刽子手游戏!你将有 " + str(turns) + " 次机会!"

print ""

# 延时
time.sleep(0.5)

# 设置猜测的单词列表
wordList = ["geekflare", "awesome", "python", "magic"]
word = random.choice(wordList)

guesses=""

# 循环直到没有剩余机会
while turns > 0:         
    wrong = 0             

    for char in word:      
        if char in guesses:    
            print char,    
        else:
            print "_",     
            wrong += 1    

    print("n")

    if wrong == 0:        
        print "你赢了 :)"  

        break              

    print

    guess=""
    if len(guess) < 1:
        guess = raw_input("猜一个字母或输入正确的单词:")[0]

    guesses += guess                    

    if guess not in word:  
        turns -= 1        
 
        print "猜错了"    
 
        print "你还剩下", + turns, '次机会!' 
 
        if turns == 0:           
    
            print "你输了 :("

输出看起来像这样:

网页抓取

您每天都在多个网站上看到大量的数据。想象一下,如果您可以轻松地访问这些数据,那该有多酷;这就是网页抓取,而 Python 以其强大的支持和库使之变得更加容易。Web 上的数据是非结构化的,而 Python 提供了一种简单的方式来解析和使用这些数据,甚至可以进行进一步的分析和操作。

一些流行的抓取库包括:

接下来,我将向您展示一个从网站 x-rates.com 中获取货币价值的示例。

示例 – 获取与美元相比的货币价值

让我们使用 Python 中的抓取功能来获取货币值:

import requests 
from bs4 import BeautifulSoup 
  
URL = "https://www.x-rates.com/table/?from=USD&amount=1"
r = requests.get(URL) 

soup = BeautifulSoup(r.content, 'html.parser') 
ratelist = soup.findAll("table", {"class": "ratesTable"})[0].findAll("tbody")

for tableVal in ratelist:
	trList = tableVal.findAll('tr')
	for trVal in trList[:6]:
		print(trVal.text)

这将返回 1 美元等于其他货币的金额。

数据科学与机器学习

数据科学(DS)和机器学习(ML)是当今最热门的话题。 这些技术代表着计算机科学的未来发展趋势。

Python 非常适合数据操作、分析和实现复杂的算法。 数据解析和可视化通常可以使用简单的函数或几行代码完成,这得益于 NumPy、SciPy 和 Scikit-learn 等强大的 Python 库。

Python 可用于数据密集型和机器学习应用程序,它提供了许多流行的库,例如:

支持 Python 的深度学习工具有很多。 一些流行的库和框架包括:

使用 Python 的另一个优势在于,即使是复杂的机器学习模型也可以用 20-40 行代码实现。 查看 这个教程,了解如何在 Python 中轻松完成数据可视化。

结论

本教程讨论了 Python 的各种应用领域。 为了演示,我提供了一些很酷且简单的示例,但实际上,您可以使用 Python 构建更多出色的应用程序和工具。 我希望您能从中学习到新的知识!

继续探索,保持学习!