Hướng dẫn tui github python - con trăn github của bạn

Hướng dẫn lập trình python

Bài viết nhắm tới những người chưa có kinh nghiệm lập trình. Hi vọng bạn sẽ dễ hiểu! Thông thường thì mình sẽ code phần lớn theo tiếng Anh nhưng trong hướng dẫn này mình sẽ cố gắng thay thế bằng Tiếng Việt nhiều hơn.

Lưu ý Python hiện tại có hai phiên bản thông dụng là Python 2 và Python 3. Ở hướng dẫn này mình sẽ sử dụng Python 3.

Cách sử dụng hướng dẫn hiệu quả

  • Chạy thử code mẫu trong ví dụ (gõ lại sẽ tốt hơn là chỉ copy paste đó).
  • Đọc code và giải thích lại các dòng code.
  • Nếu thấy gì lạ mà không có trong hướng dẫn, hãy thử xem lại phần trước đó xem.
  • Google luôn hỗ trợ bạn học dễ hơn (nhưng thường là cần chút Tiếng Anh).

Nội dung

Hướng dẫn này gồm các phần sau (sẽ update dần). Giúp bạn bắt đầu với Python. Sau đó bạn có thể học sâu hơn tùy thích. Do IDLE hỗ trợ UNICODE kém quá, không gõ trực tiếp Tiếng Việt vào được, nên các comment Tiếng Việt giải thích trong bài viết ở IDE khác, không phải IDLE. Bạn có thể thử IDE khác đơn giản như Notepad++, còn nếu không thì Tiếng Việt không dấu hay Tiếng Anh cho hợp vậy.

Cơ bản

  1. Cài đặt Python
  2. Bắt đầu với Python
  3. Các loại biến và so sánh
  4. Cấu trúc lựa chọn if, else and elif
  5. Sử dụng functions
  6. String
  7. Lists và tuples
  8. Vòng lặp

Hướng dẫn tui github python - con trăn github của bạn

Khung Python TUI với hỗ trợ chuột, hệ thống tiện ích mô -đun, ngôn ngữ đánh dấu đầu cuối tùy chỉnh và nhanh chóng và nhiều hơn nữa!

Hướng dẫn tui github python - con trăn github của bạn

Why?

Chủ yếu là vì các thiết bị đầu cuối rất tuyệt, nhưng tạo ra các ứng dụng thiết bị đầu cuối trong lịch sử rất khó khăn. Pytermgui nhằm mục đích cung cấp một cách đơn giản, dễ đọc và mô -đun để thực hiện ứng dụng trong mơ của bạn!

Ứng dụng đầu cuối là (thường):

  • Dễ cài đặt hơn
  • Nhanh hơn và nhiều tài nguyên hiệu quả hơn
  • Ít dễ bị khác biệt giữa các môi trường (không có IE7 ở đây!)

... hơn là web hoặc các đối tác bản địa của họ.

How?

Chúng tôi cung cấp một vài điều để làm cho cuộc sống của bạn dễ dàng hơn:

  • Trừu tượng hóa hợp lý đối với hầu hết các tiêu chuẩn thiết bị đầu cuối
  • Một hệ thống quản lý cửa sổ lấy cảm hứng từ máy tính để bàn đầy đủ
  • Hỗ trợ chuột ra khỏi hộp với cấu hình 00 configuration
  • YAML (hoặc python) động cơ tạo kiểu
  • Tim, Ngôn ngữ đánh dấu của chúng tôi để tạo văn bản thiết bị đầu cuối theo kiểu với văn bản biểu cảm, bao gồm các hệ thống cho bí danh & macro
  • Một loạt những điều tôi không thể nghĩ ra ngay bây giờ 🙂

Ngoài ra, có một vài công cụ gọn gàng để giúp phát triển Python chung của bạn dễ dàng hơn:

  • Một tiện ích kiểm tra
  • Một máy in đẹp cho cả repress và ipython
  • Một cách để tạo ảnh chụp màn hình SVG và HTML của thiết bị đầu cuối của bạn

Ví dụ

Tất cả các hình ảnh dưới đây được tạo trực tiếp từ nguồn được hiển thị bởi một công cụ xuất khẩu SVG do PytermGUI hỗ trợ, tua twage.

Ứng dụng đầu tiên của bạn, một chiếc đồng hồ đơn giản:

import time

import pytermgui as ptg

def macro_time(fmt: str) -> str:
    return time.strftime(fmt)

ptg.tim.define("!time", macro_time)

with ptg.WindowManager() as manager:
    manager.layout.add_slot("Body")
    manager.add(
        ptg.Window("[bold]The current time is:[/]\n\n[!time 75]%c", box="EMPTY")
    )

Vì các chuỗi được chuyển đổi thành tiện ích Label và tất cả các tiện ích sử dụng đánh dấu để tạo kiểu, chúng tôi có thể sử dụng hàm macro Tim được xác định tùy chỉnh để trả về thời gian hiện tại. Sau khi chạy ở trên, bạn sẽ thấy một cái gì đó như:

Đối với một cái gì đó sâu hơn một chút, hãy xem mẫu liên hệ này lấy cảm hứng từ ví dụ: Asciimatics:

import pytermgui as ptg

CONFIG = """
config:
    InputField:
        styles:
            prompt: dim italic
            cursor: '@72'
    Label:
        styles:
            value: dim bold

    Window:
        styles:
            border: '60'
            corner: '60'

    Container:
        styles:
            border: '96'
            corner: '96'
"""

with ptg.YamlLoader() as loader:
    loader.load(CONFIG)

with ptg.WindowManager() as manager:
    window = (
        ptg.Window(
            "",
            ptg.InputField("Balazs", prompt="Name: "),
            ptg.InputField("Some street", prompt="Address: "),
            ptg.InputField("+11 0 123 456", prompt="Phone number: "),
            "",
            ptg.Container(
                "Additional notes:",
                ptg.InputField(
                    "A whole bunch of\nMeaningful notes\nand stuff", multiline=True
                ),
                box="EMPTY_VERTICAL",
            ),
            "",
            ["Submit", lambda *_: submit(manager, window)],
            width=60,
            box="DOUBLE",
        )
        .set_title("[210 bold]New contact")
        .center()
    )

    manager.add(window)

Điều này hiển thị hệ thống cấu hình dựa trên YAML, cũng như một số API bổ sung. Tôi đề nghị kiểm tra tệp nguồn để xem cuộc gọi lại hoạt động như thế nào.

Không phải là một fan hâm mộ của màu sắc? Chúng tôi đã có bạn!

Pytermui là một trong những thư viện TUI duy nhất cung cấp hỗ trợ NO_Color không hút mất khả năng sử dụng & thiết kế ứng dụng của bạn.

Đây là cách ví dụ trên trông giống như biến môi trường NO_COLOR được đặt thành bất cứ điều gì. Lưu ý mức độ tương phản giữa các màu được giữ lại, cũng như bao gồm các màu nền:

Thiết bị đầu cuối cũ hơn? Không vấn đề gì!

Chúng tôi sử dụng các thuật toán dựa trên tầm nhìn của con người để chuyển đổi và hạ cấp màu sắc khi trình giả lập thiết bị đầu cuối hiện tại không hỗ trợ chúng. Đây là một ảnh chụp màn hình thú vị:

Hướng dẫn tui github python - con trăn github của bạn

Tuyên bố miễn trừ trách nhiệm: Hậu quả hiện không chơi độc đáo để thay đổi colorystems trong thời gian chạy, vì vậy hình ảnh này phải được chụp tự nhiên :(

Câu hỏi? Xem các tài liệu!

Khá nhiều tên trong thư viện, riêng tư hoặc công cộng, có một DockString sâu sắc gắn liền với nó và chúng tôi đang tích lũy một số lượng ngày càng tăng của các bài viết tài liệu dựa trên hướng dẫn. Xem chúng trên tất cả các trang web DOC!

Đóng góp, vấn đề et al.

Nếu bạn có bất kỳ vấn đề nào khi sử dụng thư viện, vui lòng mở một cuộc thảo luận hoặc đưa ra một vé vấn đề. Nếu bạn muốn tự hack trên thư viện, hãy xem các hướng dẫn đóng góp. Yêu cầu kéo được khuyến khích, nhưng hãy chắc chắn rằng bạn không cố gắng khắc phục một vấn đề mà những người khác đang làm việc, vì lợi ích của riêng bạn. 🙂