Hướng dẫn do you use idle for python? - bạn có sử dụng nhàn rỗi cho python không?

Mã nguồn: lib/idlelib/ Lib/idlelib/


Idle là môi trường học tập và phát triển tích hợp Python.

Nhàn rỗi có các tính năng sau:

  • được mã hóa bằng python tinh khiết 100%, sử dụng bộ công cụ GUI tkinter

  • đa nền tảng: hoạt động chủ yếu giống nhau trên Windows, Unix và MacOS

  • Cửa sổ Python Shell (Trình thông dịch tương tác) với việc tô màu cho thông báo đầu vào, đầu ra và lỗi mã

  • Trình chỉnh sửa văn bản nhiều cửa sổ với nhiều tính năng hoàn tác

  • Tìm kiếm trong bất kỳ cửa sổ nào, thay thế trong Windows Trình chỉnh sửa và tìm kiếm qua nhiều tệp (GREP)

  • trình gỡ lỗi với các điểm dừng, bước và xem các không gian tên toàn cầu và địa phương

  • Cấu hình, trình duyệt và các hộp thoại khác

Chỉnh sửa và điều hướng

Trình soạn thảo windows¶

IDLE có thể mở Windows Trình chỉnh sửa khi nó bắt đầu, tùy thuộc vào cài đặt và cách bạn bắt đầu nhàn rỗi. Sau đó, sử dụng menu tệp. Chỉ có thể có một cửa sổ Trình chỉnh sửa mở cho một tệp đã cho.

Thanh tiêu đề chứa tên của tệp, đường dẫn đầy đủ và phiên bản Python và Idle chạy cửa sổ. Thanh trạng thái chứa số dòng (‘LN,) và số cột (‘ col,). Số dòng bắt đầu với 1; Số cột có 0.

Idle giả định rằng các tệp có phần mở rộng .py* đã biết chứa mã Python và các tệp khác thì không. Chạy mã Python với menu chạy.

Tổ hợp phím¶

Trong phần này, ‘C, đề cập đến khóa điều khiển trên Windows và Unix và khóa lệnh trên MacOS.

  • Backspace xóa bên trái; Del xóa ở bên phải

  • C-backspace xóa từ trái; C-DEL xóa từ bên phải

  • Khóa mũi tên và trang lên/trang xuống để di chuyển xung quanh

  • C-leftarrow và c-turrow di chuyển bằng lời nói

  • Trang chủ/Kết thúc Đi bắt đầu/Kết thúc dòng

  • C-Home/C-End đi bắt đầu/kết thúc tệp

  • Một số ràng buộc Emacs hữu ích được kế thừa từ TCL/TK:

    • C-A bắt đầu dòng

    • C-E End of Line

    • Dòng giết C-K (nhưng không đặt nó vào bảng tạm)

    • Cửa sổ trung tâm C-L xung quanh điểm chèn

    • C-B đi lùi một ký tự mà không cần xóa (thông thường bạn cũng có thể sử dụng phím con trỏ cho việc này)

    • C-F đi về phía trước một ký tự mà không cần xóa (thông thường bạn cũng có thể sử dụng phím con trỏ cho việc này)

    • C-P đi lên một dòng (thông thường bạn cũng có thể sử dụng phím con trỏ cho việc này)

    • C-D Xóa ký tự tiếp theo

Keybindings tiêu chuẩn (như C-C để sao chép và C-V để dán) có thể hoạt động. KeyBindings được chọn trong hộp thoại IDLE định cấu hình.

Thợ tự động

Sau một câu lệnh mở khối, dòng tiếp theo được thụt vào bởi 4 khoảng trống (trong cửa sổ Shell Shell bằng một tab). Sau một số từ khóa nhất định (Break, Return, v.v.), dòng tiếp theo được dành. Trong lần thụt đầu tiên, Backspace sẽ xóa tối đa 4 khoảng trống nếu chúng ở đó. Tab chèn không gian (trong cửa sổ Shell Shell One Tab), số phụ thuộc vào chiều rộng thụt. Hiện tại, các tab được giới hạn ở bốn không gian do các giới hạn TCL/TK.

Xem thêm các lệnh vùng thụt/cống hiến trên menu Định dạng.Format menu.

Tìm kiếm và thay thế Or

Bất kỳ lựa chọn nào trở thành mục tiêu tìm kiếm. Tuy nhiên, chỉ các lựa chọn trong một công việc dòng vì các tìm kiếm chỉ được thực hiện trong các dòng với dòng mới được xóa. Nếu [x] Regular expresion được kiểm tra, mục tiêu được giải thích theo mô -đun Python RE.

Hoàn thành

Hoàn thành được cung cấp, khi được yêu cầu và có sẵn, cho tên mô -đun, thuộc tính của các lớp hoặc chức năng hoặc tên tệp. Mỗi phương thức yêu cầu hiển thị một hộp hoàn thành với các tên hiện có. . Bằng cách đánh lên, xuống, trang, pagedown, nhà và khóa kết thúc; và bằng một cú nhấp chuột trong hộp. Đóng hộp với các phím thoát, nhập và gấp đôi hoặc nhấp vào bên ngoài hộp. Một cú nhấp chuột đôi trong hộp chọn và đóng.

Một cách để mở một hộp là nhập một ký tự chính và chờ một khoảng thời gian được xác định trước. Điều này mặc định là 2 giây; Tùy chỉnh nó trong hộp thoại Cài đặt. . Đối với tên tệp trong thư mục gốc, nhập os.sep hoặc os.altsep ngay sau khi báo giá mở. (Trên Windows, người ta có thể chỉ định ổ đĩa trước.) Di chuyển vào các thư mục con bằng cách nhập tên thư mục và dấu phân cách.

Thay vì chờ đợi, hoặc sau khi đóng hộp, hãy mở hộp hoàn thành ngay lập tức bằng cách hoàn thành hiển thị trên menu chỉnh sửa. Phím nóng mặc định là không gian c. Nếu một loại tiền tố cho tên mong muốn trước khi mở hộp, thì trận đấu đầu tiên hoặc gần Miss được hiển thị. Kết quả giống như khi một người nhập tiền tố sau khi hộp được hiển thị. Hiển thị hoàn thành sau khi báo giá hoàn thành tên tệp trong thư mục hiện tại thay vì thư mục gốc.

Nhấn tab sau một tiền tố thường có tác dụng tương tự như hoàn thành hiển thị. .

Gọi ‘Hiển thị hoàn thành, hoặc Tab nhấn sau một tiền tố, bên ngoài chuỗi và không có một hộp trước đó mở một hộp với các từ khóa, tên tích hợp và tên cấp mô-đun có sẵn.

Khi chỉnh sửa mã trong trình chỉnh sửa (so với Shell), hãy tăng tên cấp mô-đun có sẵn bằng cách chạy mã của bạn và không khởi động lại shell sau đó. Điều này đặc biệt hữu ích sau khi thêm nhập khẩu ở đầu tệp. Điều này cũng làm tăng hoàn thành thuộc tính có thể.

Các hộp hoàn thành ban đầu loại trừ tên bắt đầu bằng ‘_, hoặc, đối với các mô -đun, không được bao gồm trong‘ __all__. Các tên ẩn có thể được truy cập bằng cách nhập ‘_ _ Sau khi‘., Hoặc trước hoặc sau khi hộp được mở.

Calltips¶

Calltip được hiển thị tự động khi một loại (sau tên của hàm có thể truy cập. Biểu thức tên hàm có thể bao gồm các dấu chấm và chỉ số. Calltip vẫn còn cho đến khi được nhấp, con trỏ được di chuyển ra khỏi khu vực đối số hoặc) được nhập. Bất cứ khi nào con trỏ nằm trong phần đối số của định nghĩa, hãy chọn Chỉnh sửa và hiển thị Mẹo gọi trên menu hoặc nhập lối tắt của nó để hiển thị CallTip.

Calltip bao gồm chữ ký của chức năng và tài liệu cho đến dòng trống đầu tiên sau này hoặc dòng không trống thứ năm. . Chi tiết có thể thay đổi.

Trong Shell, các chức năng có thể truy cập phụ thuộc vào các mô -đun đã được nhập vào quy trình người dùng, bao gồm cả các chức năng được nhập khẩu bởi chính IDLE và các định nghĩa nào đã được chạy, tất cả kể từ lần khởi động lại lần cuối.

Ví dụ: khởi động lại shell và nhập itertools.count(. Calltip xuất hiện vì Idle nhập itertools vào quy trình người dùng để sử dụng riêng. (Điều này có thể thay đổi.) Nhập turtle.write( và không có gì xuất hiện. Nhớ không tự nhập rùa. Mục nhập menu và phím tắt cũng không làm gì cả. Nhập import turtle. Sau đó, turtle.write( sẽ hiển thị Calltip.

Trong một trình soạn thảo, các câu lệnh nhập không có hiệu lực cho đến khi một người chạy tệp. Người ta có thể muốn chạy một tệp sau khi viết các câu lệnh nhập, sau khi thêm các định nghĩa chức năng hoặc sau khi mở một tệp hiện có.

Mã bối cảnh

Trong cửa sổ Trình chỉnh sửa chứa mã Python, bối cảnh mã có thể được bật để hiển thị hoặc ẩn một khung ở đầu cửa sổ. Khi được hiển thị, khung này đóng băng các dòng mở đầu cho mã khối, chẳng hạn như các dòng bắt đầu bằng các từ khóa

>>> s = 'a\tb\a<\x02><\r>\bc\nd'  # Enter 22 chars.
>>> len(s)
14
>>> s  # Display repr(s)
'a\tb\x07<\x02><\r>\x08c\nd'
>>> print(s, end='')  # Display s as is.
# Result varies by OS and font.  Try it.
0,
>>> s = 'a\tb\a<\x02><\r>\bc\nd'  # Enter 22 chars.
>>> len(s)
14
>>> s  # Display repr(s)
'a\tb\x07<\x02><\r>\x08c\nd'
>>> print(s, end='')  # Display s as is.
# Result varies by OS and font.  Try it.
1 hoặc
>>> s = 'a\tb\a<\x02><\r>\bc\nd'  # Enter 22 chars.
>>> len(s)
14
>>> s  # Display repr(s)
'a\tb\x07<\x02><\r>\x08c\nd'
>>> print(s, end='')  # Display s as is.
# Result varies by OS and font.  Try it.
2, nếu không sẽ được đưa ra khỏi tầm nhìn. Kích thước của khung sẽ được mở rộng và ký hợp đồng khi cần thiết để hiển thị tất cả các cấp độ ngữ cảnh hiện tại, lên đến số lượng dòng tối đa được xác định trong hộp thoại IDLE cấu hình (mặc định là 15). Nếu không có dòng ngữ cảnh hiện tại và tính năng được bật, một dòng trống sẽ hiển thị. Nhấp vào một dòng trong ngăn ngữ cảnh sẽ di chuyển dòng đó lên đầu trình soạn thảo.

Các màu văn bản và nền cho ngăn ngữ cảnh có thể được cấu hình trong tab Điểm nổi bật trong hộp thoại Định cấu hình IDLE.

Cửa sổ vỏ

Trong shell idle, nhập, chỉnh sửa và nhớ lại các câu lệnh hoàn chỉnh. (Hầu hết các bảng điều khiển và thiết bị đầu cuối chỉ hoạt động với một dòng vật lý tại một thời điểm).

Gửi một câu lệnh một dòng để thực thi bằng cách nhấn trả về với con trỏ ở bất cứ đâu trên dòng. Nếu một dòng được mở rộng với dấu gạch chéo ngược (\), con trỏ phải nằm trên dòng vật lý cuối cùng. Gửi một câu lệnh ghép đa dòng bằng cách nhập một dòng trống sau tuyên bố.

Khi một cái dán mã vào shell, nó không được biên dịch và có thể được thực thi cho đến khi một lần truy cập trở lại, như được chỉ định ở trên. Người ta có thể chỉnh sửa mã dán trước. Nếu một miếng dán nhiều hơn một câu lệnh vào shell, kết quả sẽ là

>>> s = 'a\tb\a<\x02><\r>\bc\nd'  # Enter 22 chars.
>>> len(s)
14
>>> s  # Display repr(s)
'a\tb\x07<\x02><\r>\x08c\nd'
>>> print(s, end='')  # Display s as is.
# Result varies by OS and font.  Try it.
3 khi nhiều câu được biên dịch như thể chúng là một.

Các dòng chứa

>>> s = 'a\tb\a<\x02><\r>\bc\nd'  # Enter 22 chars.
>>> len(s)
14
>>> s  # Display repr(s)
'a\tb\x07<\x02><\r>\x08c\nd'
>>> print(s, end='')  # Display s as is.
# Result varies by OS and font.  Try it.
4 có nghĩa là quá trình thực thi người dùng đã được khởi động lại. Điều này xảy ra khi quá trình thực thi người dùng đã bị sập, khi một người yêu cầu khởi động lại trên menu shell hoặc khi một người chạy mã trong cửa sổ Trình chỉnh sửa.

Các tính năng chỉnh sửa được mô tả trong các tiểu mục trước hoạt động khi nhập mã tương tác. Cửa sổ vỏ Idle, cũng phản hồi các khóa sau.

  • C-C làm gián đoạn lệnh thực thi

  • C-D gửi cuối tập tin; Đóng cửa sổ nếu được nhập tại dấu nhắc

    >>> s = 'a\tb\a<\x02><\r>\bc\nd'  # Enter 22 chars.
    >>> len(s)
    14
    >>> s  # Display repr(s)
    'a\tb\x07<\x02><\r>\x08c\nd'
    >>> print(s, end='')  # Display s as is.
    # Result varies by OS and font.  Try it.
    
    5

  • Alt-/ (từ mở rộng) cũng hữu ích để giảm gõ

    Lịch sử Lịch sử

    • Alt-P truy xuất lệnh trước đó khớp với những gì bạn đã gõ. Trên macOS sử dụng C-P.

    • Alt-N lấy tiếp theo. Trên macOS sử dụng c-n.

    • Trả về trong khi con trỏ nằm trên bất kỳ lệnh nào trước đó truy xuất lệnh đó

Màu sắc văn bản

Idle mặc định là màu đen trên văn bản trắng, nhưng văn bản màu sắc với ý nghĩa đặc biệt. Đối với shell, đây là đầu ra shell, lỗi shell, đầu ra người dùng và lỗi người dùng. Đối với mã Python, tại dấu nhắc Shell hoặc trong Trình chỉnh sửa, đây là các từ khóa, lớp tích hợp và tên chức năng, tên sau

>>> s = 'a\tb\a<\x02><\r>\bc\nd'  # Enter 22 chars.
>>> len(s)
14
>>> s  # Display repr(s)
'a\tb\x07<\x02><\r>\x08c\nd'
>>> print(s, end='')  # Display s as is.
# Result varies by OS and font.  Try it.
0 và
>>> s = 'a\tb\a<\x02><\r>\bc\nd'  # Enter 22 chars.
>>> len(s)
14
>>> s  # Display repr(s)
'a\tb\x07<\x02><\r>\x08c\nd'
>>> print(s, end='')  # Display s as is.
# Result varies by OS and font.  Try it.
1, chuỗi và nhận xét. Đối với bất kỳ cửa sổ văn bản nào, đây là con trỏ (khi có), văn bản tìm thấy (khi có thể) và văn bản được chọn.

IDLE cũng làm nổi bật các từ khóa mềm

>>> s = 'a\tb\a<\x02><\r>\bc\nd'  # Enter 22 chars.
>>> len(s)
14
>>> s  # Display repr(s)
'a\tb\x07<\x02><\r>\x08c\nd'
>>> print(s, end='')  # Display s as is.
# Result varies by OS and font.  Try it.
8,
>>> s = 'a\tb\a<\x02><\r>\bc\nd'  # Enter 22 chars.
>>> len(s)
14
>>> s  # Display repr(s)
'a\tb\x07<\x02><\r>\x08c\nd'
>>> print(s, end='')  # Display s as is.
# Result varies by OS and font.  Try it.
9 và tkinter0 trong các câu lệnh phù hợp với mẫu. Tuy nhiên, điểm nổi bật này không hoàn hảo và sẽ không chính xác trong một số trường hợp hiếm hoi, bao gồm một số ____ 20-S trong các mẫu
>>> s = 'a\tb\a<\x02><\r>\bc\nd'  # Enter 22 chars.
>>> len(s)
14
>>> s  # Display repr(s)
'a\tb\x07<\x02><\r>\x08c\nd'
>>> print(s, end='')  # Display s as is.
# Result varies by OS and font.  Try it.
9.soft keywords
>>> s = 'a\tb\a<\x02><\r>\bc\nd'  # Enter 22 chars.
>>> len(s)
14
>>> s  # Display repr(s)
'a\tb\x07<\x02><\r>\x08c\nd'
>>> print(s, end='')  # Display s as is.
# Result varies by OS and font.  Try it.
8,
>>> s = 'a\tb\a<\x02><\r>\bc\nd'  # Enter 22 chars.
>>> len(s)
14
>>> s  # Display repr(s)
'a\tb\x07<\x02><\r>\x08c\nd'
>>> print(s, end='')  # Display s as is.
# Result varies by OS and font.  Try it.
9, and tkinter0 in pattern-matching statements. However, this highlighting is not perfect and will be incorrect in some rare cases, including some tkinter0-s in
>>> s = 'a\tb\a<\x02><\r>\bc\nd'  # Enter 22 chars.
>>> len(s)
14
>>> s  # Display repr(s)
'a\tb\x07<\x02><\r>\x08c\nd'
>>> print(s, end='')  # Display s as is.
# Result varies by OS and font.  Try it.
9 patterns.

Tô màu văn bản được thực hiện trong nền, vì vậy văn bản không được phân thành đôi khi có thể nhìn thấy. Để thay đổi bảng màu, hãy sử dụng tab Hộp thoại Hộp thoại IDLE. Việc đánh dấu các dòng điểm dừng của trình gỡ lỗi trong trình chỉnh sửa và văn bản trong các cửa sổ bật lên và hộp thoại không thể cấu hình người dùng.

Khởi động và thực thi mã

Khi khởi động với tùy chọn tkinter3, IDLE sẽ thực thi tệp được tham chiếu bởi các biến môi trường tkinter4 hoặc tkinter5. Kiểm tra đầu tiên nhàn rỗi cho tkinter4; Nếu tkinter4 có mặt, tệp được tham chiếu được chạy. Nếu tkinter4 không có mặt, hãy kiểm tra nhàn rỗi cho tkinter5. Các tệp được tham chiếu bởi các biến môi trường này là các nơi thuận tiện để lưu trữ các chức năng được sử dụng thường xuyên từ vỏ nhàn rỗi hoặc để thực hiện các báo cáo nhập để nhập các mô -đun chung.tkinter4 or tkinter5. IDLE first checks for tkinter4; if tkinter4 is present the file referenced is run. If tkinter4 is not present, IDLE checks for tkinter5. Files referenced by these environment variables are convenient places to store functions that are used frequently from the IDLE shell, or for executing import statements to import common modules.

Ngoài ra, [x] Regular expresion0 cũng tải một tệp khởi động nếu nó có mặt. Lưu ý rằng tệp TK được tải vô điều kiện. Tệp bổ sung này là [x] Regular expresion1 và được tìm kiếm trong thư mục nhà của người dùng. Các câu lệnh trong tệp này sẽ được thực thi trong không gian tên TK, vì vậy tệp này không hữu ích để nhập các chức năng được sử dụng từ Shell Python Idle.

Sử dụng dòng lệnh

idle.py [-c command] [-d] [-e] [-h] [-i] [-r file] [-s] [-t title] [-] [arg] ...

-c command  run command in the shell window
-d          enable debugger and open shell window
-e          open editor window
-h          print help message with legal combinations and exit
-i          open shell window
-r file     run file in shell window
-s          run $IDLESTARTUP or $PYTHONSTARTUP first, in shell window
-t title    set title of shell window
-           run stdin in shell (- must be last option before args)

Nếu có lập luận:

  • Nếu [x] Regular expresion2, [x] Regular expresion3 hoặc [x] Regular expresion4 được sử dụng, tất cả các đối số được đặt trong [x] Regular expresion5 và [x] Regular expresion6 được đặt thành [x] Regular expresion7, [x] Regular expresion8 hoặc [x] Regular expresion9. Không có cửa sổ trình soạn thảo được mở, ngay cả khi đó là bộ mặc định trong hộp thoại Tùy chọn.

  • Mặt khác, các đối số là các tệp được mở để chỉnh sửa và os.sep0 phản ánh các đối số được truyền cho chính Idle.

Thất bại khởi nghiệp

Idle sử dụng ổ cắm để giao tiếp giữa quy trình GUI nhàn rỗi và quy trình thực thi mã người dùng. Một kết nối phải được thiết lập bất cứ khi nào vỏ khởi động hoặc khởi động lại. . Nếu quy trình người dùng không kết nối với quy trình GUI, nó thường hiển thị hộp lỗi [x] Regular expresion0 với thông báo ‘không thể kết nối thông báo hướng người dùng ở đây. Nó sau đó thoát ra.

Một lỗi kết nối cụ thể trên các hệ thống UNIX là kết quả của các quy tắc giả mạo đã cấu hình sai ở đâu đó trong thiết lập mạng hệ thống. Khi IDLE được bắt đầu từ một thiết bị đầu cuối, người ta sẽ thấy một tin nhắn bắt đầu bằng os.sep2. Giá trị hợp lệ là os.sep3. Người ta có thể chẩn đoán với os.sep4 trong một cửa sổ đầu cuối và os.sep5 ở một cửa sổ khác.

Một nguyên nhân phổ biến của sự thất bại là một tệp viết người dùng có cùng tên với mô-đun thư viện tiêu chuẩn, chẳng hạn như Random.py và tkinter.py. Khi một tệp như vậy được đặt trong cùng một thư mục với một tệp sắp được chạy, IDLE không thể nhập tệp stdlib. Bản sửa lỗi hiện tại là đổi tên tệp người dùng.

Mặc dù ít phổ biến hơn so với trước đây, một chương trình chống vi -rút hoặc tường lửa có thể dừng kết nối. Nếu chương trình không thể được dạy để cho phép kết nối, thì nó phải được tắt để nhàn rỗi hoạt động. Có thể cho phép kết nối nội bộ này vì không có dữ liệu nào trên các cổng bên ngoài. Một vấn đề tương tự là cấu hình sai mạng chặn các kết nối.

Các vấn đề cài đặt Python thỉnh thoảng dừng nhàn rỗi: Nhiều phiên bản có thể đụng độ hoặc một cài đặt duy nhất có thể cần truy cập quản trị viên. Nếu một người hoàn tác cuộc đụng độ, hoặc không thể hoặc không muốn chạy như quản trị viên, có thể dễ dàng nhất để loại bỏ hoàn toàn Python và bắt đầu lại.

Một quy trình Zombie Pythonw.exe có thể là một vấn đề. Trên Windows, sử dụng Trình quản lý tác vụ để kiểm tra một và dừng nó nếu có. Đôi khi, khởi động lại được bắt đầu bởi sự cố chương trình hoặc ngắt bàn phím (Control-C) có thể không kết nối. Việc loại bỏ hộp lỗi hoặc sử dụng shell khởi động lại trên menu shell có thể khắc phục sự cố tạm thời.

Khi IDLE lần đầu tiên bắt đầu, nó cố gắng đọc các tệp cấu hình người dùng trong os.sep6 (~ là một thư mục gia đình). Nếu có vấn đề, một thông báo lỗi sẽ được hiển thị. Bỏ qua các trục trặc đĩa ngẫu nhiên, điều này có thể được ngăn chặn bằng cách không bao giờ chỉnh sửa các tệp bằng tay. Thay vào đó, sử dụng hộp thoại cấu hình, trong các tùy chọn. Khi có lỗi trong tệp cấu hình người dùng, giải pháp tốt nhất có thể là xóa nó và bắt đầu lại với hộp thoại Cài đặt.

Nếu Idle thoát không có tin nhắn và nó không được bắt đầu từ bảng điều khiển, hãy thử bắt đầu từ bảng điều khiển hoặc thiết bị đầu cuối (os.sep7) và xem liệu điều này có dẫn đến thông báo lỗi không.

Trên các hệ thống dựa trên UNIX với TCL/TK cũ hơn os.sep8 (xem os.sep9) Một số ký tự nhất định của một số phông chữ có thể gây ra lỗi TK với thông điệp đến thiết bị đầu cuối. Điều này có thể xảy ra nếu một người bắt đầu nhàn rỗi để chỉnh sửa một tệp có ký tự như vậy hoặc sau này khi nhập một ký tự như vậy. Nếu người ta không thể nâng cấp TCL/TK, thì hãy cấu hình lại IDLE để sử dụng phông chữ hoạt động tốt hơn.

Chạy mã người dùng

Với các ngoại lệ hiếm hoi, kết quả của việc thực thi mã Python với IDLE được dự định giống như thực thi cùng một mã bằng phương thức mặc định, trực tiếp với Python trong bảng điều khiển hệ thống chế độ văn bản hoặc cửa sổ đầu cuối. Tuy nhiên, giao diện và hoạt động khác nhau đôi khi ảnh hưởng đến kết quả có thể nhìn thấy. Chẳng hạn, os.altsep0 bắt đầu với nhiều mục hơn và os.altsep1 trả về 2 thay vì 1.

Theo mặc định, IDLE chạy mã người dùng trong một quy trình HĐH riêng thay vì trong quy trình giao diện người dùng chạy shell và trình soạn thảo. Trong quá trình thực thi, nó thay thế os.altsep2, os.altsep3 và os.altsep4 bằng các đối tượng nhận đầu vào và gửi đầu ra đến cửa sổ Shell. Các giá trị ban đầu được lưu trữ trong os.altsep5, os.altsep6 và os.altsep7 không được chạm vào, nhưng có thể là os.altsep8.

Gửi đầu ra in từ quy trình này sang tiện ích văn bản trong một quy trình khác chậm hơn so với in vào thiết bị đầu cuối hệ thống trong cùng một quy trình. Điều này có hiệu quả nhất khi in nhiều đối số, vì chuỗi cho mỗi đối số, mỗi dấu phân tách, dòng mới được gửi riêng. Để phát triển, đây thường không phải là vấn đề, nhưng nếu một người muốn in nhanh hơn ở dạng nhàn rỗi, định dạng và kết hợp với nhau, mọi thứ người ta muốn hiển thị cùng nhau và sau đó in một chuỗi. Cả hai chuỗi định dạng và os.altsep9 có thể giúp kết hợp các trường và dòng.

Thay thế luồng tiêu chuẩn Idle không được kế thừa bởi các quy trình con được tạo trong quá trình thực thi, cho dù trực tiếp bởi mã người dùng hoặc bởi các mô -đun như đa xử lý. Nếu quy trình con như vậy sử dụng itertools.count(0 từ sys.stdin hoặc itertools.count(1 hoặc itertools.count(2 cho sys.stdout hoặc sys.stderr, sẽ bắt đầu trong một cửa sổ dòng lệnh. .

Nếu itertools.count(7 được đặt lại theo mã người dùng, chẳng hạn như với itertools.count(8, các thay đổi của Idle, bị mất và nhập từ bàn phím và đầu ra vào màn hình sẽ không hoạt động chính xác.

Khi Shell có tiêu điểm, nó sẽ điều khiển bàn phím và màn hình. Điều này thường trong suốt, nhưng các chức năng truy cập trực tiếp bàn phím và màn hình sẽ không hoạt động. Chúng bao gồm các chức năng dành riêng cho hệ thống xác định xem một khóa đã được nhấn hay không và nếu vậy.

Mã nhàn rỗi chạy trong quá trình thực thi thêm các khung vào ngăn xếp cuộc gọi không có ở đó. Vòng bạn nhàn rỗi itertools.count(9 và turtle.write(0 để giảm hiệu ứng của các khung ngăn xếp bổ sung.

Khi mã người dùng tăng SystemExit trực tiếp hoặc bằng cách gọi sys.exit, IDLE sẽ trở lại dấu nhắc shell thay vì thoát.

Đầu ra của người dùng trong shell¶

Khi một chương trình xuất bản văn bản, kết quả được xác định bởi thiết bị đầu ra tương ứng. Khi Idle thực thi mã người dùng, os.altsep3 và os.altsep4 được kết nối với khu vực hiển thị của shell idle. Một số tính năng của nó được kế thừa từ tiện ích văn bản TK cơ bản. Những người khác đang được lập trình bổ sung. Trường hợp nó quan trọng, Shell được thiết kế để phát triển thay vì chạy sản xuất.

Chẳng hạn, Shell không bao giờ vứt đầu ra. Một chương trình gửi đầu ra không giới hạn vào Shell cuối cùng sẽ lấp đầy bộ nhớ, dẫn đến lỗi bộ nhớ. Ngược lại, một số cửa sổ văn bản hệ thống chỉ giữ cho n dòng đầu ra cuối cùng. Ví dụ, bảng điều khiển Windows giữ một dòng 1 đến 9999 có thể xử lý được người dùng, với 300 mặc định.

Một tiện ích văn bản TK và do đó shell Idle, hiển thị các ký tự (codePoints) trong tập hợp con BMP (mặt phẳng đa ngôn ngữ cơ bản) của Unicode. Những ký tự nào được hiển thị với một glyph thích hợp và với một hộp thay thế phụ thuộc vào hệ điều hành và các phông chữ được cài đặt. Các ký tự tab khiến văn bản sau bắt đầu sau khi dừng Tab tiếp theo. (Chúng xảy ra sau mỗi 8 ‘ký tự). Các ký tự Newline khiến văn bản sau xuất hiện trên một dòng mới. Các ký tự điều khiển khác bị bỏ qua hoặc hiển thị dưới dạng không gian, hộp hoặc một cái gì đó khác, tùy thuộc vào hệ điều hành và phông chữ. (Di chuyển con trỏ văn bản thông qua đầu ra như vậy với các phím mũi tên có thể thể hiện một số hành vi khoảng cách đáng ngạc nhiên.)

>>> s = 'a\tb\a<\x02><\r>\bc\nd'  # Enter 22 chars.
>>> len(s)
14
>>> s  # Display repr(s)
'a\tb\x07<\x02><\r>\x08c\nd'
>>> print(s, end='')  # Display s as is.
# Result varies by OS and font.  Try it.

Hàm turtle.write(3 được sử dụng cho tiếng vang tương tác của các giá trị biểu thức. Nó trả về một phiên bản thay đổi của chuỗi đầu vào trong đó mã điều khiển, một số điểm mã hóa BMP và tất cả các codePoint không phải BMP được thay thế bằng mã thoát. Như đã trình bày ở trên, nó cho phép người ta xác định các ký tự trong một chuỗi, bất kể chúng được hiển thị như thế nào.

Đầu ra bình thường và lỗi thường được giữ riêng (trên các dòng riêng biệt) với đầu vào mã và nhau. Mỗi người nhận được màu sắc nổi bật khác nhau.

Đối với các dấu vết của cú pháp, việc đánh dấu ‘^bình thường trong đó lỗi được phát hiện được thay thế bằng cách tô màu văn bản bằng một điểm nhấn lỗi. Khi mã chạy từ một tệp gây ra các ngoại lệ khác, người ta có thể nhấp chuột phải vào một dòng Traceback để nhảy vào dòng tương ứng trong trình chỉnh sửa nhàn rỗi. Các tập tin sẽ được mở nếu cần thiết.

Shell có một cơ sở đặc biệt để ép các dòng đầu ra xuống nhãn văn bản được ép. Điều này được thực hiện tự động cho đầu ra trên n dòng (n = 50 theo mặc định). N có thể được thay đổi trong phần pyshell của trang chung của hộp thoại Cài đặt. Đầu ra với ít dòng hơn có thể được bóp bằng cách nhấp chuột phải vào đầu ra. Đây có thể là những dòng hữu ích đủ lâu để làm chậm cuộn.

Đầu ra bị vắt được mở rộng tại chỗ bằng cách nhấp đúp vào nhãn. Nó cũng có thể được gửi đến bảng tạm hoặc cửa sổ Xem riêng bằng cách nhấp chuột phải vào nhãn.

Phát triển các ứng dụng Tkinter

Idle có chủ ý khác với Python tiêu chuẩn để tạo điều kiện phát triển các chương trình Tkinter. Nhập turtle.write(4 trong Python tiêu chuẩn và không có gì xuất hiện. Nhập giống nhau trong Idle và cửa sổ TK xuất hiện. Trong Python tiêu chuẩn, người ta cũng phải nhập turtle.write(5 để xem cửa sổ. IDLE thực hiện tương đương trong nền, khoảng 20 lần một giây, khoảng 50 mili giây. Tiếp theo nhập turtle.write(6. Một lần nữa, không có gì thay đổi rõ ràng trong Python tiêu chuẩn cho đến khi một người vào turtle.write(5.

Hầu hết các chương trình Tkinter chạy turtle.write(8, thường không quay lại cho đến khi ứng dụng TK bị phá hủy. Nếu chương trình được chạy với turtle.write(9 hoặc từ Trình chỉnh sửa nhàn rỗi, dấu nhắc shell

>>> s = 'a\tb\a<\x02><\r>\bc\nd'  # Enter 22 chars.
>>> len(s)
14
>>> s  # Display repr(s)
'a\tb\x07<\x02><\r>\x08c\nd'
>>> print(s, end='')  # Display s as is.
# Result varies by OS and font.  Try it.
5 không xuất hiện cho đến khi import turtle1 trả về, tại thời điểm đó không còn gì để tương tác.

Khi chạy một chương trình Tkinter từ một trình soạn thảo nhàn rỗi, người ta có thể nhận xét cuộc gọi chính. Một người sau đó nhận được dấu nhắc shell ngay lập tức và có thể tương tác với ứng dụng trực tiếp. Người ta chỉ cần nhớ để kích hoạt lại cuộc gọi chính khi chạy trong Python tiêu chuẩn.

Chạy mà không có quá trình phụ

Theo mặc định, IDLE thực thi mã người dùng trong một quy trình con riêng biệt thông qua ổ cắm, sử dụng giao diện vòng lặp nội bộ. Kết nối này không hiển thị bên ngoài và không có dữ liệu nào được gửi đến hoặc nhận được từ Internet. Nếu phần mềm tường lửa phàn nàn dù sao, bạn có thể bỏ qua nó.

Nếu cố gắng làm cho kết nối ổ cắm không thành công, IDLE sẽ thông báo cho bạn. Những thất bại như vậy đôi khi là thoáng qua, nhưng nếu dai dẳng, vấn đề có thể là một tường lửa chặn kết nối hoặc cấu hình sai của một hệ thống cụ thể. Cho đến khi sự cố được khắc phục, người ta có thể chạy nhàn rỗi với công tắc dòng lệnh -N.

Nếu IDLE được bắt đầu với công tắc dòng lệnh -N, nó sẽ chạy trong một quy trình duy nhất và sẽ không tạo quy trình con chạy máy chủ thực thi RPC Python. Điều này có thể hữu ích nếu Python không thể tạo quy trình con hoặc giao diện ổ cắm RPC trên nền tảng của bạn. Tuy nhiên, trong chế độ này, mã người dùng không bị cô lập với chính Idle. Ngoài ra, môi trường không được khởi động lại khi mô -đun chạy/chạy (F5) được chọn. Nếu mã của bạn đã được sửa đổi, bạn phải tải lại () các mô-đun bị ảnh hưởng và nhập lại bất kỳ mục cụ thể nào (ví dụ: từ Foo Nhập BAZ) nếu các thay đổi có hiệu lực. Vì những lý do này, tốt hơn là chạy IDLE với quy trình con mặc định nếu có thể.

Không dùng nữa kể từ phiên bản 3.4.

Trợ giúp và Tùy chọn

Giúp các nguồn

Trợ giúp Menu Entry Nhập học Idle Trợ giúp, hiển thị phiên bản HTML được định dạng của chương nhàn rỗi của tham chiếu thư viện. Kết quả, trong một cửa sổ văn bản Tkinter chỉ đọc, gần với những gì người ta nhìn thấy trong trình duyệt web. Điều hướng qua văn bản bằng một bánh xe, thanh cuộn hoặc các phím mũi tên lên xuống được giữ. Hoặc nhấp vào nút TOC (Mục lục) và chọn tiêu đề phần trong hộp mở.

Trợ giúp Menu Entry nhập cảnh Python Docs, mở ra các nguồn giúp đỡ rộng rãi, bao gồm các hướng dẫn, có sẵn tại import turtle2, trong đó ‘X.Y, là phiên bản Python hiện đang chạy. Nếu hệ thống của bạn có một bản sao ngoại tuyến của các tài liệu (đây có thể là một tùy chọn cài đặt), sẽ được mở thay thế.

Các URL đã chọn có thể được thêm hoặc xóa khỏi menu trợ giúp bất cứ lúc nào bằng cách sử dụng tab Chung của hộp thoại Idle định cấu hình.

Đặt Tùy chọn Sở thích

Tùy chọn phông chữ, làm nổi bật, các khóa và tùy chọn chung có thể được thay đổi thông qua cấu hình IDLE trên menu tùy chọn. Cài đặt người dùng không mặc định được lưu trong thư mục import turtle3 trong thư mục nhà của người dùng. Các vấn đề gây ra bởi các tệp cấu hình người dùng xấu được giải quyết bằng cách chỉnh sửa hoặc xóa một hoặc nhiều tệp trong import turtle3.

Trên tab Phông chữ, xem mẫu văn bản để biết hiệu ứng của khuôn mặt và kích thước phông chữ trên nhiều ký tự bằng nhiều ngôn ngữ. Chỉnh sửa mẫu để thêm các nhân vật khác quan tâm cá nhân. Sử dụng mẫu để chọn phông chữ đơn. Nếu các ký tự cụ thể có vấn đề trong shell hoặc trình chỉnh sửa, hãy thêm chúng vào đầu mẫu và thử thay đổi kích thước đầu tiên và sau đó là phông chữ.

Trên tab Điểm nổi bật và Phím, chọn một chủ đề và khóa màu tích hợp hoặc tùy chỉnh. Để sử dụng một chủ đề màu hoặc khóa tích hợp mới hơn với các Idles cũ hơn, hãy lưu nó dưới dạng chủ đề hoặc bộ khóa tùy chỉnh mới và nó cũng có thể truy cập được cho các Idles cũ hơn.

Nhàn rỗi trên macos¶

Trong Tùy chọn hệ thống: Dock, người ta có thể đặt các tab thích nhất khi mở tài liệu thành công. Cài đặt này không tương thích với khung GUI TK/Tkinter được sử dụng bởi IDLE và nó phá vỡ một vài tính năng nhàn rỗi.

Phần mở rộng

Idle chứa một cơ sở mở rộng. Tùy chọn cho các tiện ích mở rộng có thể được thay đổi với tab Phần mở rộng của hộp thoại Tùy chọn. Xem phần bắt đầu của Cấu hình-extensions.def trong thư mục Idlelib để biết thêm thông tin. Phần mở rộng mặc định hiện tại duy nhất là ZZDummy, một ví dụ cũng được sử dụng để thử nghiệm.

idlelib¶

Mã nguồn: lib/idlelib Lib/idlelib


Gói Lib/Idlelib thực hiện ứng dụng nhàn rỗi. Xem phần còn lại của trang này để biết cách sử dụng IDLE.

Các tệp trong idlelib được mô tả trong idlelib/readme.txt. Truy cập nó trong idlelib hoặc nhấp vào trợ giúp => về idle trên menu nhàn rỗi. Tệp này cũng ánh xạ các mục menu nhàn rỗi thành mã thực hiện mục. Ngoại trừ các tệp được liệt kê trong ‘Startup, mã IDLELIB là‘ riêng tư theo nghĩa là các thay đổi tính năng có thể được đặt lại (xem PEP 434).PEP 434).

Tôi có cần nhàn rỗi cho Python không?

IDE kết hợp trình chỉnh sửa chương trình và môi trường ngôn ngữ là sự tiện lợi cho lập trình viên. Sử dụng IDLE không phải là một yêu cầu để sử dụng Python. Có nhiều IDE khác có thể được sử dụng để viết các chương trình Python, chưa kể đến một loạt các biên tập viên của lập trình viên dựa trên văn bản mà nhiều lập trình viên thích IDE.Using IDLE is not a requirement for using Python. There are many other IDEs that can be used to write Python programs, not to mention a variety of text-based programmer's editors that many programmers prefer to IDEs.

Tôi nên sử dụng nhàn rỗi hay thiết bị đầu cuối cho Python?

"Thiết bị đầu cuối" chỉ là một trình giả lập thiết bị đầu cuối khác.Để đặt theo các điều khoản của Layman: Idle là duy nhất cho Python và đặc biệt được tạo ra cho Python.Tuy nhiên, thiết bị đầu cuối được sử dụng cho nhiều thứ khác nhau và đặc trưng cho hệ điều hành của máy tính của bạn.Ngoài ra, bạn có thể không thể chuyển đổi giữa hai phiên bản trong IDLE.The IDLE is unique to Python and specifically made for Python. The terminal, however, is used for many different things and is specfic to your computer's OS. Also, you probably cannot switch between the two versions in IDLE.

Idle có phải là một biên tập viên Python tốt không?

Các tính năng chính của nó bao gồm cửa sổ Python Shell (trình thông dịch tương tác), tự động hoàn thành, tô sáng cú pháp, thụt thông minh và trình gỡ lỗi tích hợp cơ bản.Idle là một IDE tốt cho việc học vì nó nhẹ và đơn giản để sử dụng.Tuy nhiên, nó không dành cho tối ưu cho các dự án lớn hơn.IDLE is a decent IDE for learning as it's lightweight and simple to use. However, it's not for optimum for larger projects.