IT袋

当前位置:主页 > 经验教程 > 建站编程 >

45个Python实用小技巧

45个Python实用小技巧(2)

时间:2023-12-13 13:25:23 来源:IT袋 作者:马勇
导读:45个Python实用小技巧,16、正则表达式 import repattern = r'\d+' # 匹配1个或多个数字result = re.findall(pattern, "There are 42 apples and 123 oranges.") 17、日期操作 from datetime import datetime, timedelt

45个Python实用小技巧

16、正则表达式

import re
pattern = r'\d+'  # 匹配1个或多个数字
result = re.findall(pattern, "There are 42 apples and 123 oranges.")

17、日期操作

from datetime import datetime, timedelta
current_date = datetime.now()
future_date = current_date + timedelta(days=7)

18、列表操作

numbers = [1, 2, 3, 4, 5]
# 过滤
evens = list(filter(lambda x: x % 2 == 0, numbers))
# 映射
squared = list(map(lambda x: x**2, numbers))
# 减少
from functools import reduce
product = reduce(lambda x, y: x * y, numbers)

19、字典操作

my_dict = {'a': 1, 'b': 2, 'c': 3}
# 获取值
value = my_dict.get('d', 0)
# 字典推导式
squared_dict = {key: value**2 for key, value in my_dict.items()}

20、线程并发

import threading
def print_numbers():
    for i in range(5):
        print(i)
thread = threading.Thread(target=print_numbers)
thread.start()

21、使用Asyncio实现并发

import asyncio
async def print_numbers():
    for i in range(5):
        print(i)
        await asyncio.sleep(1)
asyncio.run(print_numbers())

22、使用Beautiful Soup实现网页爬虫

from bs4 import BeautifulSoup
import requests
url = "https://example.com"
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')
title = soup.title.text

23、使用Flask实现RESTful API

from flask import Flask, jsonify, request
app = Flask(__name__)
@app.route('/api/data', methods=['GET'])
def get_data():
    data = {'key': 'value'}
    return jsonify(data)
if __name__ == '__main__':
    app.run(debug=True)

24、使用unittest进行单元测试

import unittest
def add(x, y):
    return x + y
class TestAddition(unittest.TestCase):
    def test_add_positive_numbers(self):
        self.assertEqual(add(2, 3), 5)
if __name__ == '__main__':
    unittest.main()

25、与SQLite的数据库交互

import sqlite3
conn = sqlite3.connect('example.db')
cursor = conn.cursor()
# 只需SQL查询
cursor.execute('CREATE TABLE IF NOT EXISTS users (id INTEGER PRIMARY KEY, name TEXT)')
# 提交
conn.commit()
# 关闭链接
conn.close()

26、文件写入和读取

# 保存文件
with open('example.txt', 'w') as file:
    file.write('Hello, Python!')
# 读取文件
with open('example.txt', 'r') as file:
    content = file.read()

27、异常操作

try:
    result = 10 / 0
except ZeroDivisionError as e:
    print(f"Error: {e}")
except Exception as e:
    print(f"Unexpected Error: {e}")
else:
    print("No errors occurred.")
finally:
    print("This block always executes.")

相关阅读