干货满满---90条简单实用的Python编程技巧
发布人:shili8
发布时间:2023-05-26 12:39
阅读次数:74
Python是一种高级编程语言,它具有简单易学、易读易写、功能强大等特点,因此在近年来越来越受到开发者的青睐。本文将为大家介绍90条简单实用的Python编程技巧,其中部分技巧附有代码示例和代码注释,希望能够对Python初学者和开发者有所帮助。
1. 使用enumerate()函数来遍历列表时同时获取元素的索引和值
fruits = ['apple' 'banana' 'orange']
for index value in enumerate(fruits):
print(index value)
2. 使用zip()函数将两个列表合并成一个字典
keys = ['name' 'age' 'gender'] values = ['Tom' 18 'male'] person = dict(zip(keys values)) print(person)
3. 使用set()函数去除列表中的重复元素
fruits = ['apple' 'banana' 'orange' 'apple'] unique_fruits = set(fruits) print(unique_fruits)
4. 使用sorted()函数对列表进行排序
numbers = [3 1 4 1 5 9 2 6 5 3 5] sorted_numbers = sorted(numbers) print(sorted_numbers)
5. 使用lambda表达式定义匿名函数
add = lambda x y: x + y print(add(1 2))
6. 使用map()函数对列表中的每个元素进行操作
numbers = [1 2 3 4 5] squares = list(map(lambda x: x ** 2 numbers)) print(squares)
7. 使用filter()函数对列表中的元素进行筛选
numbers = [1 2 3 4 5] even_numbers = list(filter(lambda x: x % 2 == 0 numbers)) print(even_numbers)
8. 使用reduce()函数对列表中的元素进行累加
from functools import reduce numbers = [1 2 3 4 5] sum = reduce(lambda x y: x + y numbers) print(sum)
9. 使用try-except语句处理异常
try:
x = 1 / 0
except ZeroDivisionError:
print('division by zero')
10. 使用with语句打开文件并自动关闭
with open('file.txt' 'r') as f:
content = f.read()
print(content)
11. 使用os模块进行文件和目录操作
import os
os.mkdir('new_dir')
os.rename('old_file.txt' 'new_file.txt')
os.remove('file.txt')
12. 使用datetime模块处理日期和时间
import datetime now = datetime.datetime.now() print(now)
13. 使用time模块进行时间操作
import time start_time = time.time() # do something end_time = time.time() elapsed_time = end_time - start_time print(elapsed_time)
14. 使用random模块生成随机数
import random random_number = random.randint(1 10) print(random_number)
15. 使用re模块进行正则表达式匹配
import re
text = 'The quick brown fox jumps over the lazy dog.'
pattern = 'fox'
match = re.search(pattern text)
if match:
print('found')
else:
print('not found')
16. 使用collections模块进行容器类型操作
from collections import Counter fruits = ['apple' 'banana' 'orange' 'apple'] fruit_count = Counter(fruits) print(fruit_count)
17. 使用itertools模块进行迭代器操作
import itertools
numbers = [1 2 3]
combinations = itertools.combinations(numbers 2)
for combination in combinations:
print(combination)
18. 使用logging模块进行日志记录
import logging
logging.basicConfig(filename='example.log' level=logging.DEBUG)
logging.debug('debug message')
logging.info('info message')
logging.warning('warning message')
logging.error('error message')
logging.critical('critical message')
19. 使用argparse模块进行命令行参数解析
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('--name' help='name of the person')
parser.add_argument('--age' help='age of the person')
args = parser.parse_args()
print(args.name)
print(args.age)
20. 使用unittest模块进行单元测试
import unittest
class TestStringMethods(unittest.TestCase):
def test_upper(self):
self.assertEqual('foo'.upper() 'FOO')
def test_isupper(self):
self.assertTrue('FOO'.isupper())
self.assertFalse('Foo'.isupper())
if __name__ == '__main__':
unittest.main()
21. 使用numpy模块进行数值计算
import numpy as np a = np.array([1 2 3]) b = np.array([4 5 6]) c = a + b print(c)
22. 使用pandas模块进行数据分析
import pandas as pd
data = {'name': ['Tom' 'Jerry' 'Spike'] 'age': [18 19 20]}
df = pd.DataFrame(data)
print(df)
23. 使用matplotlib模块进行数据可视化
import matplotlib.pyplot as plt x = [1 2 3 4 5] y = [1 4 9 16 25] plt.plot(x y) plt.show()
24. 使用requests模块进行网络请求
import requests
response = requests.get(' />print(response.text)
25. 使用beautifulsoup4模块进行网页解析
from bs4 import BeautifulSoup html = '<html><body><h1>hello world</h1></body></html>' soup = BeautifulSoup(html 'html.parser') print(soup.h1.string)
26. 使用selenium模块进行自动化测试
from selenium import webdriver
driver = webdriver.Chrome()
driver.get(' />search_box = driver.find_element_by_name('wd')
search_box.send_keys('Python')
search_box.submit()
driver.quit()
27. 使用pyautogui模块进行自动化操作
import pyautogui
pyautogui.moveTo(100 100 duration=1)
pyautogui.click()
pyautogui.typewrite('hello world')
28. 使用pillow模块进行图像处理
from PIL import Image
image = Image.open('image.jpg')
image.show()
29. 使用pygame模块进行游戏开发
import pygame
pygame.init()
screen = pygame.display.set_mode((640 480))
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
sys.exit()
pygame.display.update()
30. 使用flask模块进行Web开发
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'Hello World!'
if __name__ == '__main__':
app.run()
31. 使用django模块进行Web开发
from django.http import HttpResponse
from django.urls import path
def hello_world(request):
return HttpResponse('Hello World!')
urlpatterns = [
path('' hello_world)
]
32. 使用asyncio模块进行异步编程
import asyncio
async def hello_world():
print('Hello World!')
loop = asyncio.get_event_loop()
loop.run_until_complete(hello_world())
33. 使用concurrent.futures模块进行并发编程
import concurrent.futures
def hello_world():
print('Hello World!')
with concurrent.futures.ThreadPoolExecutor() as executor:
executor.submit(hello_world)
34. 使用multiprocessing模块进行多进程编程
import multiprocessing
def hello_world():
print('Hello World!')
process = multiprocessing.Process(target=hello_world)
process.start()
35. 使用socket模块进行网络编程
import socket
server_socket = socket.socket(socket.AF_INET socket.SOCK_STREAM)
server_socket.bind(('localhost' 8000))
server_socket.listen(1)
while True:
client_socket address =

