Python: Trợ giúp và cấu hình


Khóa học qua video:
Lập trình Python All Lập trình C# All SQL Server All Lập trình C All Java PHP HTML5-CSS3-JavaScript
Đăng ký Hội viên
Tất cả các video dành cho hội viên

Cách sử dụng trợ giúp 

Các phương thức công khai của các lớp Screen và Turtle được ghi lại rất nhiều thông qua docstrings. Vì vậy, chúng có thể được sử dụng như trợ giúp trực tuyến thông qua các cơ sở trợ giúp Python:

  • Khi sử dụng IDLE, chú giải công cụ hiển thị các chữ ký và dòng đầu tiên của chuỗi tài liệu của các lệnh gọi hàm / phương thức đã nhập.
  • Việc gọi phương thức help() hoặc hàm sẽ hiển thị các docstrings:
>>>
>>> help(Screen.bgcolor)
Help on method bgcolor in module turtle:

bgcolor(self, *args) unbound turtle.Screen method
    Set or return backgroundcolor of the TurtleScreen.

    Arguments (if given): a color string or three numbers
    in the range 0..colormode or a 3-tuple of such numbers.


      >>> screen.bgcolor("orange")
      >>> screen.bgcolor()
      "orange"
      >>> screen.bgcolor(0.5,0,0.5)
      >>> screen.bgcolor()
      "#800080"

>>> help(Turtle.penup)
Help on method penup in module turtle:

penup(self) unbound turtle.Turtle method
    Pull the pen up -- no drawing when moving.

    Aliases: penup | pu | up

    No argument

    >>> turtle.penup()
  • Các chuỗi doc của các hàm được dẫn xuất từ ​​các phương thức có dạng được sửa đổi:
>>>
>>> help(bgcolor)
Help on function bgcolor in module turtle:

bgcolor(*args)
    Set or return backgroundcolor of the TurtleScreen.

    Arguments (if given): a color string or three numbers
    in the range 0..colormode or a 3-tuple of such numbers.

    Example::

      >>> bgcolor("orange")
      >>> bgcolor()
      "orange"
      >>> bgcolor(0.5,0,0.5)
      >>> bgcolor()
      "#800080"

>>> help(penup)
Help on function penup in module turtle:

penup()
    Pull the pen up -- no drawing when moving.

    Aliases: penup | pu | up

    No argument

    Example:
    >>> penup()

Các docstrings đã sửa đổi này được tạo tự động cùng với các định nghĩa hàm có nguồn gốc từ các phương thức tại thời điểm nhập.

Bản dịch các docstrings sang các ngôn ngữ khác nhau 

Có một tiện ích để tạo từ điển với các khóa là tên phương thức và giá trị của chúng là các chuỗi doc của các phương thức công khai của các lớp Screen và Turtle.

turtle.write_docstringdict(filename = "turtle_docstringdict" 

Thông số

filename - một chuỗi, được sử dụng làm tên tệp

Tạo và ghi docstring-dictionary vào một tập lệnh Python với tên tệp đã cho. Hàm này phải được gọi một cách rõ ràng (nó không được sử dụng bởi các lớp đồ họa rùa). Từ điển docstring sẽ được ghi vào tập lệnh Python filename.py. Nó được dùng làm khuôn mẫu để dịch các docstrings sang các ngôn ngữ khác nhau.

Nếu bạn muốn sử dụng turtle với trợ giúp trực tuyến bằng ngôn ngữ tiếng Việt thì bạn phải dịch docstrings và lưu tệp kết quả dạng như turtle_docstringdict_german.py.

Nếu bạn có một mục nhập thích hợp trong tệp turtle.cfg, thì từ điển này sẽ được đọc vào lúc nhập và sẽ thay thế các docstrings tiếng Anh ban đầu.

Vào thời điểm viết bài này, có các từ điển docstring bằng tiếng Đức và tiếng Ý.

Cách cấu hình Screen and Turtles 

Cấu hình mặc định tích hợp bắt chước hình thức và hành vi của mô-đun turtle cũ để giữ được khả năng tương thích tốt nhất có thể với nó.

Nếu bạn muốn sử dụng một cấu hình khác phản ánh tốt hơn các tính năng của mô-đun này hoặc phù hợp hơn với nhu cầu của bạn, ví dụ: để sử dụng trong lớp học, bạn có thể chuẩn bị tệp cấu hình turtle.cfg sẽ được đọc tại thời điểm nhập và sửa đổi cấu hình theo cài đặt của nó.

Cấu hình tích hợp sẵn sẽ tương ứng với file turtle.cfg sau:

width = 0.5
height = 0.75
leftright = None
topbottom = None
canvwidth = 400
canvheight = 300
mode = standard
colormode = 1.0
delay = 10
undobuffersize = 1000
shape = classic
pencolor = black
fillcolor = black
resizemode = noresize
visible = True
language = english
exampleturtle = turtle
examplescreen = screen
title = Python Turtle Graphics
using_IDLE = False

Giải thích ngắn gọn về các mục đã chọn:

  • Bốn dòng đầu tiên tương ứng với các đối số của phương thức Screen.setup().
  • Dòng 5 và 6 tương ứng với các đối số của phương thức Screen.screensize().
  • shape có thể là bất kỳ hình dạng dựng sẵn nào, ví dụ: mũi tên, con rùa, v.v. Để biết thêm thông tin, hãy thử help(shape).
  • Nếu bạn muốn sử dụng không có màu tô (tức là làm cho con rùa trong suốt), bạn phải viết fillcolor = "" (nhưng tất cả các chuỗi không có màu nào không được có dấu ngoặc kép trong tệp cfg).
  • Nếu bạn muốn phản ánh trạng thái của con rùa, bạn phải sử dụng .resizemode = auto
  • Nếu bạn đặt, ví dụ: language = italian thì docstringdict turtle_docstringdict_italian.py sẽ được tải tại thời điểm nhập (nếu có trên đường dẫn nhập, ví dụ: trong cùng một thư mục với turtle.
  • Các mục nhập exampleturtle và examplescreen xác định tên của các đối tượng này khi chúng xuất hiện trong docstrings. Việc chuyển đổi method-docstrings thành function-docstrings sẽ xóa các tên này khỏi docstrings.
  • using_IDLE : Đặt giá trị này thành True nếu bạn thường xuyên làm việc với IDLE và công tắc -n của nó (“không có quy trình phụ”). Điều này sẽ ngăn cản exitonclick() vào mainloop.

Có thể có một file turtle.cfg trong thư mục turtle được lưu trữ và một tệp bổ sung trong thư mục làm việc hiện tại. Cái sau sẽ ghi đè cài đặt của cái đầu tiên.

Thư mục Lib/turtledemo chứa một file turtle.cfg. Bạn có thể nghiên cứu nó như một ví dụ và xem các hiệu ứng của nó khi chạy các bản trình diễn (tốt nhất là không phải từ bên trong trình xem bản trình diễn).

Những thay đổi kể từ Python 2.6 

  • Các phương thức Turtle.tracer()Turtle.window_width() và Turtle.window_height() đã được loại bỏ. Các phương thức có tên và chức năng này hiện chỉ có sẵn dưới dạng các phương thức của Screen. Các hàm bắt nguồn từ chúng vẫn còn (thực tế đã có trong Python 2.6, các phương thức này chỉ là bản sao của các phương thức TurtleScreenScreen tương ứng).
  • Phương thức Turtle.fill() đã bị loại bỏ. Hành vi của begin_fill() và end_fill() đã thay đổi một chút: bây giờ mọi quy trình điền phải được hoàn tất bằng một lời gọi end_fill().
  • Một phương thức Turtle.filling() đã được thêm vào. Nó trả về một giá trị boolean: True nếu quá trình điền đang diễn ra, False nếu ngược lại. Hành vi này tương ứng với một lời gọi fill() không có đối số trong Python 2.6.

Những thay đổi kể từ Python 3.0 

  • Các phương thức Turtle.shearfactor()Turtle.shapetransform() và Turtle.get_shapepoly() đã được thêm vào. Do đó, hiện có đầy đủ các phép biến đổi tuyến tính thông thường để biến đổi hình dạng của rùa. Turtle.tiltangle() đã được nâng cấp về chức năng: giờ đây nó có thể được sử dụng để lấy hoặc thiết lập hình chữ nhật nghiêng. Turtle.settiltangle() đã không được dùng nữa.

  • Phương thức Screen.onkeypress() đã được thêm vào như một phần bổ sung Screen.onkey() mà trên thực tế, nó liên kết các hành động với sự kiện keyrelease. Theo đó sau này đã có một bí danh: Screen.onkeyrelease().

  • Phương thức Screen.mainloop() đã được thêm vào. Vì vậy, khi chỉ làm việc với các đối tượng Screen và Turtle thì người ta không phải nhập mainloop() thêm nữa.

  • Hai phương thức nhập đã được thêm vào là Screen.textinput() và Screen.numinput(). Các phương thức này sẽ bật hộp thoại nhập liệu lên và trả về các chuỗi và số tương ứng.

  • Hai tập lệnh ví dụ tdemo_nim.py và tdemo_round_dance.py đã được thêm vào thư mục Lib/turtledemo.

» Tiếp: Cách tạo hình dạng Turtle tùy chỉnh trong Python?
« Trước: Các lớp phổ biến
Khóa học qua video:
Lập trình Python All Lập trình C# All SQL Server All Lập trình C All Java PHP HTML5-CSS3-JavaScript
Đăng ký Hội viên
Tất cả các video dành cho hội viên
Copied !!!