Top 10 dự án phát triển web Python hàng đầu với mã nguồn
04/09/2023 16:04
Hướng dẫn này phác thảo các dự án phát triển web Python hàng đầu và các ứng dụng thực tế của chúng. Cùng khám phá và áp dụng ngay trong dự án của bạn
Python là một phần quan trọng trong các dự án phát triển web và đã được phổ biến rộng rãi trong hơn một thập kỷ. Nó đứng thứ hai trong số các ngôn ngữ lập trình được các nhà phát triển web mong muốn nhất, đưa ra mức lương cao hơn và nhu cầu mạnh mẽ. Mặc dù việc học Python có thể khó khăn nhưng bạn có thể tham gia các khóa học cấp chứng chỉ như đào tạo trực tuyến về Lập trình Python để thành thạo các kỹ năng Python để phát triển web. Hướng dẫn này phác thảo các dự án phát triển web Python hàng đầu và các ứng dụng thực tế của chúng.
- Tại sao nên làm dự án bằng Python?
- Các dự án phát triển web Python hàng đầu với mã nguồn
- 1. Tạo trình tạo mã
- 2. Xây dựng máy tính đếm ngược
- 3. Viết phương pháp sắp xếp
- 4. Xây dựng bài kiểm tra tương tác
- 5. Tic-Tac-Toe bằng văn bản
- 6. Tạo bộ chuyển đổi nhiệt độ/đo lường
- 7. Bộ đếm từ
- 8. Hiệu sách trực tuyến (Đoạn: Danh mục sách)
- 9. Bảng việc làm trực tuyến (Đoạn: Tạo danh sách việc làm)
- 10. Hệ thống quản lý tác vụ (Đoạn: Tạo tác vụ)
Tại sao nên làm dự án bằng Python?
Python được sử dụng rộng rãi để phát triển back-end dự án do khả năng mang lại hiệu suất tốt hơn và thời gian phản hồi nhanh hơn cho người dùng. Các dự án phát triển web bằng Python đã cho thấy thành công lớn, mang lại khả năng tương thích và kết quả thuận lợi cho cả công ty và người dùng. Vai trò của Python trong phát triển web bao gồm trao đổi dữ liệu với máy chủ, xử lý dữ liệu, liên lạc với cơ sở dữ liệu, quản lý bảo mật, định tuyến URL, v.v. Nó cung cấp các thư viện tiện lợi như Flask và Django, có khả năng mở rộng, an toàn và thân thiện với người mới bắt đầu.
Hơn nữa, kiểu gõ động của Python cho phép các tập lệnh được thực thi trong thời gian chạy mà không cần dịch hay biên dịch, giảm số lượng mã so với các ngôn ngữ phức tạp khác. Các tính năng tích hợp của Python xử lý quá trình gỡ lỗi, giúp việc phát triển web bằng các dự án Python trở nên dễ quản lý hơn. Làm việc trên các dự án Python là một cách tuyệt vời để các nhà phát triển khám phá tính hiệu quả của ngôn ngữ và các ứng dụng thực tế của nó trong các tình huống thực tế.
Các dự án phát triển web Python hàng đầu với mã nguồn
Các dự án Python để phát triển web đã được chứng minh là rất hấp dẫn đối với các công ty và hầu hết trong số họ đều sử dụng Python cho các dự án phát triển web lớn mà họ gặp phải. Để giúp bạn, chúng tôi đã tổng hợp danh sách các dự án phát triển web Python hàng đầu với mã nguồn như sau:
1. Tạo trình tạo mã
Chương trình đã cho là mã Python tạo mật khẩu ngẫu nhiên có độ dài được chỉ định. Nó sử dụng các mô-đun ngẫu nhiên và chuỗi để chọn ngẫu nhiên các ký tự từ một nhóm chữ cái, chữ số và ký hiệu dấu chấm câu. Mật khẩu đã tạo sẽ được hiển thị cho người dùng sau khi nhập độ dài mong muốn.
import random import string def generate_password(length): characters = string.ascii_letters + string.digits + string.punctuation password = ''.join(random.choice(characters) for _ in range(length)) return password password_length = int(input("Enter the length of the password: ")) generated_password = generate_password(password_length) print("Generated password:", generated_password)
2. Xây dựng máy tính đếm ngược
Chương trình đã cho là mã Python tính toán đếm ngược đến ngày mục tiêu kể từ ngày hiện tại và hiển thị nó theo ngày, giờ, phút và giây. Nó sử dụng mô-đun datetime để làm việc với ngày và giờ. Người dùng được nhắc nhập ngày mục tiêu và việc đếm ngược sẽ được tính toán và in ra bảng điều khiển.
import datetime def calculate_countdown(target_date): current_date = datetime.datetime.now() time_left = target_date - current_date return time_left # Get the target date from the user target_date_str = input("Enter the target date (YYYY-MM-DD): ") target_date = datetime.datetime.strptime(target_date_str, "%Y-%m-%d") # Calculate the countdown countdown = calculate_countdown(target_date) # Display the countdown days = countdown.days hours, remainder = divmod(countdown.seconds, 3600) minutes, seconds = divmod(remainder, 60) print("Countdown:") print("Days:", days) print("Hours:", hours) print("Minutes:", minutes) print("Seconds:", seconds)
3. Viết phương pháp sắp xếp
Chương trình đã cho là một triển khai Python của thuật toán Bubble Sort. Nó sắp xếp danh sách các số theo thứ tự tăng dần bằng cách liên tục so sánh các phần tử liền kề và hoán đổi chúng nếu chúng sai thứ tự. Chương trình thể hiện chức năng sắp xếp bằng cách sắp xếp danh sách các số và hiển thị kết quả đã sắp xếp.
def bubble_sort(arr): n = len(arr) for i in range(n): # Last i elements are already in place for j in range(0, n - i - 1): # Swap if the element found is greater than the next element if arr[j] > arr[j + 1]: arr[j], arr[j + 1] = arr[j + 1], arr[j] # Example usage numbers = [5, 2, 8, 12, 3] print("Before sorting:", numbers) bubble_sort(numbers) print("After sorting:", numbers)
4. Xây dựng bài kiểm tra tương tác
Chương trình nhất định là một mã Python cho phép người dùng làm bài kiểm tra và tính điểm dựa trên câu trả lời của họ. Nó sử dụng lớp Câu hỏi để thể hiện từng câu hỏi trắc nghiệm, kèm theo lời nhắc và câu trả lời. Hàm run_quiz lấy danh sách các đối tượng Câu hỏi, nhắc người dùng trả lời, kiểm tra chúng với các câu trả lời đúng và theo dõi điểm số. Chương trình tạo danh sách câu hỏi, chạy bài kiểm tra bằng hàm run_quiz và hiển thị điểm của người dùng ở cuối.
class Question: def __init__(self, prompt, answer): self.prompt = prompt self.answer = answer def run_quiz(questions): score = 0 total_questions = len(questions) for question in questions: user_answer = input(question.prompt + " ") if user_answer.lower() == question.answer.lower(): score += 1 print("Quiz completed!") print("Your score:", score, "/", total_questions) # Create a list of questions questions = [ Question("What is the capital of France?", "Paris"), Question("What is the largest planet in our solar system?", "Jupiter"), Question("Who painted the Mona Lisa?", "Leonardo da Vinci") ] # Run the quiz run_quiz(questions)
5. Tic-Tac-Toe bằng văn bản
Chương trình đã cho là mã Python cho phép hai người chơi chơi trò chơi Tic-Tac-Toe. Nó bao gồm các chức năng in bảng trò chơi, kiểm tra người chiến thắng và thực hiện các nước đi. Trò chơi tiếp tục cho đến khi có người chơi thắng hoặc trò chơi kết thúc với tỷ số hòa.
def print_board(board): for row in board: print(" | ".join(row)) print("-" * 9) def check_winner(board): # Check rows for row in board: if row[0] == row[1] == row[2] != " ": return row[0] # Check columns for col in range(3): if board[0][col] == board[1][col] == board[2][col] != " ": return board[0][col] # Check diagonals if board[0][0] == board[1][1] == board[2][2] != " ": return board[0][0] if board[0][2] == board[1][1] == board[2][0] != " ": return board[0][2] return None def play_game(): board = [[" " for _ in range(3)] for _ in range(3)] current_player = "X" while True: print_board(board) # Get the current player's move print("Player", current_player + "'s turn:") row = int(input("Enter the row (0-2): ")) col = int(input("Enter the column (0-2): ")) # Make the move if board[row][col] == " ": board[row][col] = current_player else: print("Invalid move! Try again.") continue # Check for a winner or a tie winner = check_winner(board) if winner: print_board(board) print("Player", winner, "wins!") break elif all(all(cell != " " for cell in row) for row in board): print_board(board) print("It's a tie!") break # Switch to the other player current_player = "O" if current_player == "X" else "X" # Start the game play_game()
6. Tạo bộ chuyển đổi nhiệt độ/đo lường
Chương trình đã cho là mã Python chuyển đổi nhiệt độ giữa các đơn vị độ C, độ F và độ Kelvin. Nó cung cấp các chức năng cho từng hướng chuyển đổi, cho phép người dùng chuyển đổi nhiệt độ theo các đơn vị khác nhau. Chương trình nhắc người dùng nhập nhiệt độ và đơn vị đo, thực hiện chuyển đổi và hiển thị nhiệt độ đã chuyển đổi theo hai đơn vị còn lại. Nó cũng xử lý các đầu vào đơn vị không hợp lệ bằng cách in một thông báo lỗi.
def celsius_to_fahrenheit(celsius): return (celsius * 9/5) + 32 def fahrenheit_to_celsius(fahrenheit): return (fahrenheit - 32) * 5/9 def celsius_to_kelvin(celsius): return celsius + 273.15 def kelvin_to_celsius(kelvin): return kelvin - 273.15 def fahrenheit_to_kelvin(fahrenheit): celsius = fahrenheit_to_celsius(fahrenheit) return celsius_to_kelvin(celsius) def kelvin_to_fahrenheit(kelvin): celsius = kelvin_to_celsius(kelvin) return celsius_to_fahrenheit(celsius) # Example usage temperature = float(input("Enter the temperature: ")) unit = input("Enter the unit (C, F, K): ") if unit.upper() == "C": fahrenheit = celsius_to_fahrenheit(temperature) kelvin = celsius_to_kelvin(temperature) print("Temperature in Fahrenheit:", fahrenheit) print("Temperature in Kelvin:", kelvin) elif unit.upper() == "F": celsius = fahrenheit_to_celsius(temperature) kelvin = fahrenheit_to_kelvin(temperature) print("Temperature in Celsius:", celsius) print("Temperature in Kelvin:", kelvin) elif unit.upper() == "K": celsius = kelvin_to_celsius(temperature) fahrenheit = kelvin_to_fahrenheit(temperature) print("Temperature in Celsius:", celsius) print("Temperature in Fahrenheit:", fahrenheit) else: print("Invalid unit. Please enter C, F, or K.")
7. Bộ đếm từ
Chương trình đã cho là mã Python đếm số từ trong câu hoặc đoạn do người dùng cung cấp. Nó định nghĩa một hàm có tên count_words để chia văn bản đầu vào thành các từ bằng cách sử dụng khoảng trắng làm dấu phân cách và trả về số lượng từ. Chương trình nhắc người dùng nhập một câu hoặc đoạn văn, gọi hàm count_words với văn bản đầu vào và hiển thị số từ cho người dùng.
def count_words(text): words = text.split() word_count = len(words) return word_count input_text = input("Enter a sentence or paragraph: ") count = count_words(input_text) print("Word count:", count)
8. Hiệu sách trực tuyến (Đoạn: Danh mục sách)
Chương trình đã cho là một cách triển khai danh mục sách bằng Python đơn giản. Nó bao gồm hai lớp, Book và BookCatalog, xử lý việc tạo, bổ sung và tìm kiếm sách. Chương trình cho phép người dùng thêm sách vào danh mục và tìm kiếm sách dựa trên từ khóa. Kết quả tìm kiếm được hiển thị bao gồm tên sách, tác giả và giá.
# This snippet represents a simplified version of the book catalog component. class Book: def __init__(self, title, author, price): self.title = title self.author = author self.price = price class BookCatalog: def __init__(self): self.books = [] def add_book(self, title, author, price): book = Book(title, author, price) self.books.append(book) def search_books(self, keyword): results = [] for book in self.books: if keyword.lower() in book.title.lower() or keyword.lower() in book.author.lower(): results.append(book) return results # Usage example: catalog = BookCatalog() catalog.add_book("The Great Gatsby", "F. Scott Fitzgerald", 10.99) catalog.add_book("To Kill a Mockingbird", "Harper Lee", 9.99) keyword = input("Enter a keyword to search for books: ") results = catalog.search_books(keyword) for book in results: print(f"Title: {book.title} | Author: {book.author} | Price: ${book.price}")
9. Bảng việc làm trực tuyến (Đoạn: Tạo danh sách việc làm)
Chương trình đã cho là một cách triển khai Python đơn giản của thành phần tạo danh sách việc làm. Nó bao gồm hai lớp, JobListing và JobBoard, để quản lý danh sách công việc.
# This snippet represents a simplified version of the job listing creation component. class JobListing: def __init__(self, title, company, location, description): self.title = title self.company = company self.location = location self.description = description class JobBoard: def __init__(self): self.job_listings = [] def create_job_listing(self, title, company, location, description): job_listing = JobListing(title, company, location, description) self.job_listings.append(job_listing) def get_job_listings(self): return self.job_listings # Usage example: job_board = JobBoard() title = input("Enter job title: ") company = input("Enter company name: ") location = input("Enter job location: ") description = input("Enter job description: ") job_board.create_job_listing(title, company, location, description) listings = job_board.get_job_listings() for listing in listings: print(f"Title: {listing.title} | Company: {listing.company} | Location: {listing.location} | Description: {listing.description}")
10. Hệ thống quản lý tác vụ (Đoạn: Tạo tác vụ)
Chương trình thể hiện cách sử dụng trình quản lý tác vụ bằng cách tạo đối tượng Trình quản lý tác vụ, nhắc người dùng nhập thông tin chi tiết cho tác vụ, thêm tác vụ đó vào trình quản lý tác vụ và hiển thị các tác vụ đã tạo với tiêu đề, mô tả, giao_to và trạng thái tương ứng.
# This snippet represents a simplified version of the task creation component. class Task: def __init__(self, title, description, assigned_to): self.title = title self.description = description self.assigned_to = assigned_to self.status = "Pending" class TaskManager: def __init__(self): self.tasks = [] def create_task(self, title, description, assigned_to): task = Task(title, description, assigned_to) self.tasks.append(task) def get_tasks(self): return self.tasks # Usage example: task_manager = TaskManager() title = input("Enter task title: ") description = input("Enter task description: ") assigned_to = input("Enter assignee: ") task_manager.create_task(title, description, assigned_to) tasks = task_manager.get_tasks() for task in tasks: print(f"Title: {task.title} | Description: {task.description} | Assigned to: {task.assigned_to} | Status: {task.status}")