干货满满---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 =