目錄
一、生成二維碼
八、简单的小游戏
首頁 後端開發 Python教學 十行 Python 程式碼可以實現哪些有趣的功能?

十行 Python 程式碼可以實現哪些有趣的功能?

May 07, 2023 am 09:07 AM
python 功能 開發

下面我們來看看,我們用不超過10行程式碼能實現些什麼有趣的功能。

一、生成二維碼

二維碼又稱二維條碼,常見的二維碼為QR Code,QR全名為Quick Response,是近幾年來行動裝置上超流行的一種編碼方式,而產生一個二維碼也非常簡單,在Python中我們可以透過MyQR模組了產生二維碼,而產生一個二維碼我們只需要2行程式碼,我們先安裝MyQR模組,這裡選用國內的來源下載:

pip install qrcode
登入後複製

安裝完成後我們就可以開始寫程式碼了:

import qrcode

text = input(输入文字或URL:)
# 设置URL必须添加http://
img =qrcode.make(text)
img.save()
#保存图片至本地目录,可以设定路径
img.show()
登入後複製

我們執行程式碼後會在專案下產生一張二維碼。當然我們還可以豐富二維碼:

我們先安裝MyQR模組

pip installmyqr
登入後複製
def gakki_code():
version, level, qr_name = myqr.run(
words=https://520mg.com/it/#/main/2,
# 可以是字符串,也可以是网址(前面要加http(s)://)
version=1,# 设置容错率为最高
level='H',
# 控制纠错水平,范围是L、M、Q、H,从左到右依次升高
picture=gakki.gif,
# 将二维码和图片合成
colorized=True,# 彩色二维码
contrast=1.0, 
 # 用以调节图片的对比度,1.0 表示原始图片,更小的值表示更低对比度,更大反之。默认为1.0
brightness=1.0,
# 用来调节图片的亮度,其余用法和取值同上
save_name=gakki_code.gif,
# 保存文件的名字,格式可以是jpg,png,bmp,gif
save_dir=os.getcwd()# 控制位置

)
 gakki_code()
登入後複製

效果圖如下:

十行 Python 代码能实现哪些有趣功能?

##另外MyQR還支持動態圖片。

二、生成詞雲

詞雲又叫文字雲,是對文字資料中出現頻率較高的「關鍵字」在視覺上的突出呈現,形成關鍵字的渲染形成類似雲的彩色圖片,以便一眼就可以領略文字資料的主要表達意思。

但是身為一個老碼農,還是喜歡自己用程式碼生成自己的詞雲,複雜麼?需要很長時間麼?很多文字都介紹過各種的方法,但實際上只需要10行python程式碼即可。

先安裝必要函式庫

pip install wordcloud
pip install jieba
pip install matplotlib
登入後複製
import matplotlib.pyplot as plt
from wordcloud import WordCloud
import jieba

text_from_file_with_apath = open('/Users/hecom/23tips.txt').read()

wordlist_after_jieba = jieba.cut(text_from_file_with_apath, cut_all = True)
wl_space_split =.join(wordlist_after_jieba)

my_wordcloud = WordCloud().generate(wl_space_split)

plt.imshow(my_wordcloud)
plt.axis(off)
plt.show()
登入後複製

如此而已,產生的一個詞雲是這樣的:

十行 Python 代码能实现哪些有趣功能?

讀這10行程式碼:

1~3 行,分別導入了畫圖的庫matplotlib,詞雲生成庫wordcloud 和jieba的分詞庫;

4 行,是讀取本地的文件,代碼中使用的文字是本公眾號中的《老曹眼中研發管理二三事》。

5~6 行,使用jieba進行分詞,並對分詞的結果以空格隔開;

7行,對分詞後的文本生成詞雲;

# 8~10行,用pyplot展示詞雲圖。

這是我喜歡python的一個原因吧,簡潔明快。

三、批次摳圖

摳圖的實作需要藉助百度飛槳的深度學習工具paddlepaddle,我們需要安裝兩個模組就可以很快的實作批次摳圖了,第一個是PaddlePaddle:

python -m pip install paddlepaddle -i https://mirror.baidu.com/pypi/simple
登入後複製

還有一個是paddlehub模型庫:

pip install -i https://mirror.baidu.com/pypi/simple paddlehub
登入後複製

更詳細的安裝事項可以參考飛槳官網:https://www.paddlepaddle.org.cn/

接下來我們只需要5行程式碼就能實現批次摳圖:

import os, paddlehub as hub
humanseg = hub.Module(name='deeplabv3p_xception65_humanseg')# 加载模型
path = 'D:/CodeField/Workplace/PythonWorkplace/GrapImage/'# 文件目录
files = [path + i for i in os.listdir(path)]# 获取文件列表
results = humanseg.segmentation(data={'image':files})# 抠图
登入後複製

摳圖效果如下:

十行 Python 代码能实现哪些有趣功能?

其中左邊為原圖,右邊為摳圖後填入黃色背景圖。

四、文字情緒辨識

在paddlepaddle面前,自然語言處理也變得非常簡單。實現文字情緒辨識我們同樣需要安裝PaddlePaddle和Paddlehub,具體安裝請參考三中內容。然後就是我們的程式碼部分了:

import paddlehub as hub
senta = hub.Module(name='senta_lstm')# 加载模型
sentence = [# 准备要识别的语句
'你真美', '你真丑', '我好难过', '我不开心', '这个游戏好好玩', '什么垃圾游戏',
]
results = senta.sentiment_classify(data={text:sentence})# 情绪识别
# 输出识别结果
for result in results:
print(result)
登入後複製

識別的結果是一個字典列表:

{'text': '你真美', 'sentiment_label': 1, 'sentiment_key': 'positive', 'positive_probs': 0.9602, 'negative_probs': 0.0398}
{'text': '你真丑', 'sentiment_label': 0, 'sentiment_key': 'negative', 'positive_probs': 0.0033, 'negative_probs': 0.9967}
{'text': '我好难过', 'sentiment_label': 1, 'sentiment_key': 'positive', 'positive_probs': 0.5324, 'negative_probs': 0.4676}
{'text': '我不开心', 'sentiment_label': 0, 'sentiment_key': 'negative', 'positive_probs': 0.1936, 'negative_probs': 0.8064}
{'text': '这个游戏好好玩', 'sentiment_label': 1, 'sentiment_key': 'positive', 'positive_probs': 0.9933, 'negative_probs': 0.0067}
{'text': '什么垃圾游戏', 'sentiment_label': 0, 'sentiment_key': 'negative', 'positive_probs': 0.0108, 'negative_probs': 0.9892}
登入後複製

其中sentiment_key欄位包含了情緒訊息,詳細分析可以參見Python自然語言處理只需要5行代碼。

五、識別是否帶了口罩

這裡同樣是使用PaddlePaddle的產品,我們按照上面步驟安裝好PaddlePaddle和Paddlehub,然後就開始寫代碼:

import paddlehub as hub
# 加载模型
module = hub.Module(name='pyramidbox_lite_mobile_mask')
# 图片列表
image_list = ['face.jpg']
# 获取图片字典
input_dict = {'image':image_list}
# 检测是否带了口罩
module.face_detection(data=input_dict)
登入後複製

執行上述程式後,專案下會產生detection_result資料夾,辨識結果都會在裡面,辨識效果如下:

十行 Python 代码能实现哪些有趣功能?

六、簡易資訊轟炸

Python控制輸入裝置的方式有很多種,我們可以透過win32或pynput模組。我們可以透過簡單的循環操作來達到資訊轟炸的效果,這裡以pynput為例,我們需要先安裝模組:

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple/ pynput
登入後複製

在寫程式碼之前我們需要手動取得輸入框的座標:

from pynput import mouse
# 创建一个鼠标
m_mouse = mouse.Controller()
# 输出鼠标位置
print(m_mouse.position)
登入後複製

可能有更有效率的方法,但是我不會。

取得後我們就可以記錄這個座標,訊息視窗不要移動。然後我們執行下列程式碼並將視窗切換至訊息頁面:

import time
from pynput import mouse, keyboard
time.sleep(5)
m_mouse = mouse.Controller()# 创建一个鼠标
m_keyboard = keyboard.Controller()# 创建一个键盘
m_mouse.position = (850, 670) # 将鼠标移动到指定位置
m_mouse.click(mouse.Button.left) # 点击鼠标左键
while(True):
m_keyboard.type('你好')# 打字
m_keyboard.press(keyboard.Key.enter)# 按下enter
m_keyboard.release(keyboard.Key.enter)# 松开enter
time.sleep(0.5)# 等待 0.5秒
登入後複製

我承認,這個超過了10行程式碼,而且也不高階。使用前QQ給小號發送訊息效果如下:

十行 Python 代码能实现哪些有趣功能?

七、辨識圖片中的文字

我們可以透過Tesseract來辨識圖片中的文字,在Python中實作非常簡單,但前期下載檔案、設定環境變數等稍微有些繁瑣,所以本文只展示程式碼:

import pytesseract
from PIL import Image
img = Image.open('text.jpg')
text = pytesseract.image_to_string(img)
print(text)
登入後複製

其中text就是识别出来的文本。如果对准确率不满意的话,还可以使用百度的通用文字接口。

八、简单的小游戏

从一些小例子入门感觉效率很高。

import random
print(1-100数字猜谜游戏!)
num = random.randint(1,100)
guess =guess

i = 0
while guess != num:
i += 1
guess = int(input(请输入你猜的数字:))

if guess == num:
print(恭喜,你猜对了!)
elif guess < num:
print(你猜的数小了...)
else:
print(你猜的数大了...)

print(你总共猜了%d %i + 次)
登入後複製

猜数小案例当着练练手。

以上代码,大家可以敲一下非常有趣,也很适合小白入手。

以上是十行 Python 程式碼可以實現哪些有趣的功能?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

PHP和Python:解釋了不同的範例 PHP和Python:解釋了不同的範例 Apr 18, 2025 am 12:26 AM

PHP主要是過程式編程,但也支持面向對象編程(OOP);Python支持多種範式,包括OOP、函數式和過程式編程。 PHP適合web開發,Python適用於多種應用,如數據分析和機器學習。

在PHP和Python之間進行選擇:指南 在PHP和Python之間進行選擇:指南 Apr 18, 2025 am 12:24 AM

PHP適合網頁開發和快速原型開發,Python適用於數據科學和機器學習。 1.PHP用於動態網頁開發,語法簡單,適合快速開發。 2.Python語法簡潔,適用於多領域,庫生態系統強大。

Python vs. JavaScript:學習曲線和易用性 Python vs. JavaScript:學習曲線和易用性 Apr 16, 2025 am 12:12 AM

Python更適合初學者,學習曲線平緩,語法簡潔;JavaScript適合前端開發,學習曲線較陡,語法靈活。 1.Python語法直觀,適用於數據科學和後端開發。 2.JavaScript靈活,廣泛用於前端和服務器端編程。

PHP和Python:深入了解他們的歷史 PHP和Python:深入了解他們的歷史 Apr 18, 2025 am 12:25 AM

PHP起源於1994年,由RasmusLerdorf開發,最初用於跟踪網站訪問者,逐漸演變為服務器端腳本語言,廣泛應用於網頁開發。 Python由GuidovanRossum於1980年代末開發,1991年首次發布,強調代碼可讀性和簡潔性,適用於科學計算、數據分析等領域。

vs code 可以在 Windows 8 中運行嗎 vs code 可以在 Windows 8 中運行嗎 Apr 15, 2025 pm 07:24 PM

VS Code可以在Windows 8上運行,但體驗可能不佳。首先確保系統已更新到最新補丁,然後下載與系統架構匹配的VS Code安裝包,按照提示安裝。安裝後,注意某些擴展程序可能與Windows 8不兼容,需要尋找替代擴展或在虛擬機中使用更新的Windows系統。安裝必要的擴展,檢查是否正常工作。儘管VS Code在Windows 8上可行,但建議升級到更新的Windows系統以獲得更好的開發體驗和安全保障。

visual studio code 可以用於 python 嗎 visual studio code 可以用於 python 嗎 Apr 15, 2025 pm 08:18 PM

VS Code 可用於編寫 Python,並提供許多功能,使其成為開發 Python 應用程序的理想工具。它允許用戶:安裝 Python 擴展,以獲得代碼補全、語法高亮和調試等功能。使用調試器逐步跟踪代碼,查找和修復錯誤。集成 Git,進行版本控制。使用代碼格式化工具,保持代碼一致性。使用 Linting 工具,提前發現潛在問題。

vscode 擴展是否是惡意的 vscode 擴展是否是惡意的 Apr 15, 2025 pm 07:57 PM

VS Code 擴展存在惡意風險,例如隱藏惡意代碼、利用漏洞、偽裝成合法擴展。識別惡意擴展的方法包括:檢查發布者、閱讀評論、檢查代碼、謹慎安裝。安全措施還包括:安全意識、良好習慣、定期更新和殺毒軟件。

notepad 怎麼運行python notepad 怎麼運行python Apr 16, 2025 pm 07:33 PM

在 Notepad 中運行 Python 代碼需要安裝 Python 可執行文件和 NppExec 插件。安裝 Python 並為其添加 PATH 後,在 NppExec 插件中配置命令為“python”、參數為“{CURRENT_DIRECTORY}{FILE_NAME}”,即可在 Notepad 中通過快捷鍵“F6”運行 Python 代碼。

See all articles