>  기사  >  백엔드 개발  >  열 줄의 Python 코드로 어떤 흥미로운 일을 수행할 수 있습니까?

열 줄의 Python 코드로 어떤 흥미로운 일을 수행할 수 있습니까?

PHPz
PHPz앞으로
2023-05-07 09:07:071397검색

10줄 이하의 코드로 어떤 흥미로운 기능을 달성할 수 있는지 살펴보겠습니다.

1. QR 코드 생성

QR 코드는 2D 바코드라고도 합니다. QR 코드의 정식 명칭은 Quick Response 입니다. QR 코드도 매우 간단합니다. Python에서는 MyQR 모듈을 통해 QR 코드를 생성할 수 있습니다. QR 코드를 생성하려면 먼저 MyQR 모듈을 설치해야 합니다.

pip install qrcode

설치가 완료되면 코드 작성을 시작할 수 있습니다.

import qrcode

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

코드를 실행하면 프로젝트 아래에 QR 코드가 생성됩니다. 물론 QR 코드도 풍부하게 만들 수 있습니다.

먼저 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은 동적 사진도 지원합니다.

2. 워드 클라우드 생성

워드 클라우드라고도 불리는 워드 클라우드는 텍스트 데이터에서 더 자주 나타나는 "키워드"를 시각적으로 눈에 띄게 표현한 것이며, 여기서 키워드를 렌더링하면 구름과 같은 컬러 그림이 형성됩니다. 방식으로 텍스트 데이터의 주요 의미를 한눈에 파악할 수 있습니다.

하지만 저는 오래된 코더로서 여전히 코드를 사용하여 나만의 워드 클라우드를 생성하는 것을 좋아합니다. 시간이 오래 걸릴까요? 많은 글에서 다양한 방법을 소개하고 있지만 실제로는 Python 코드가 10줄만 있으면 됩니다.

먼저 필요한 라이브러리를 설치하세요

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줄은 로컬 파일을 읽는 것입니다. 코드에 사용된 텍스트는 이 공개 계정에서 "Lao Cao의 눈으로 본 R&D 관리에 대한 두세 가지"입니다.

라인 5~6, jieba를 사용하여 단어 분할 및 공백으로 단어 분할 결과 구분

라인 7, 단어 분할 후 텍스트에 대한 단어 구름 생성

라인 8~10, pyplot 사용 단어 클라우드 다이어그램을 표시합니다.

이것이 제가 파이썬을 좋아하는 이유 중 하나입니다. 파이썬은 간단하고 명확합니다.

3. 배치 컷아웃

컷아웃을 구현하려면 Baidu Feipiao의 딥 러닝 도구인 paddlepaddle의 도움이 필요합니다. 첫 번째 모듈은 PaddlePaddle입니다.

python -m pip install paddlepaddle -i https://mirror.baidu.com/pypi/simple

패들허브 모델도 있습니다. library:

pip install -i https://mirror.baidu.com/pypi/simple paddlehub

자세한 설치 정보는 PaddlePaddle 공식 웹사이트를 참조하세요: 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 代码能实现哪些有趣功能?

왼쪽이 원본 이미지, 오른쪽이 노란색 배경으로 채워진 컷아웃 이미지입니다.

4. 텍스트 감정 인식

패들패들 앞에서 자연어 처리는 매우 간단해졌습니다. 텍스트 감정 인식을 구현하려면 PaddlePaddle 및 Paddlehub도 설치해야 합니다. 구체적인 설치 방법은 Part 3을 참조하세요. 그런 다음 코드 부분이 나옵니다.

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줄의 코드만 필요함을 참조하세요.

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)

위 프로그램을 실행한 후, detector_result 폴더 프로젝트 아래에 생성되며 인식 결과는 내부에 있으며 인식 효과는 다음과 같습니다.

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

6. 간단한 정보 폭격

Python에서는 입력 장치를 제어하는 ​​방법이 많이 있습니다. win32 또는 사용할 수 있습니다. 핀풋 모듈. 간단한 루프 작업을 통해 정보 폭격 효과를 얻을 수 있습니다. 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 代码能实现哪些有趣功能?

7. 그림 속 텍스트 식별

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 51cto.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제