Ban đầu, Sphinx được hình thành cho một dự án duy nhất, tài liệu về ngôn ngữ Python. Ngay sau đó, nó được cung cấp cho mọi người dưới dạng công cụ tài liệu, nhưng tài liệu về các mô-đun Python vẫn được tích hợp sẵn – các chỉ thị cơ bản nhất, như def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator1, được thiết kế cho các đối tượng Python. Vì Sphinx đã trở nên khá phổ biến, nên người ta quan tâm đến việc sử dụng nó cho nhiều mục đích khác nhau. Các dự án C/C++, JavaScript hoặc thậm chí là đánh dấu reStructuredText (như trong tài liệu này) Show
Mặc dù điều này luôn có thể thực hiện được, nhưng giờ đây việc hỗ trợ tài liệu của các dự án sử dụng các ngôn ngữ lập trình khác nhau hoặc thậm chí cả những ngôn ngữ không được phân phối Sphinx chính hỗ trợ dễ dàng hơn nhiều, bằng cách cung cấp một miền cho mọi mục đích như vậy Miền là tập hợp các đánh dấu (reStructuredText chỉ thị s và vai tròs) to describe and link to objects belonging together, e.g. elements of a programming language. Directive and role names in a domain have names like def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator2, e.g. def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator3. Domains can also provide custom indices (like the Python Module Index). Có tên miền nghĩa là không có vấn đề về đặt tên khi một bộ tài liệu muốn tham chiếu đến e. g. Các lớp C++ và Python. Điều đó cũng có nghĩa là các tiện ích mở rộng hỗ trợ tài liệu của các ngôn ngữ hoàn toàn mới sẽ dễ viết hơn nhiều Phần này mô tả những gì các miền đi kèm với Sphinx cung cấp. API miền cũng được ghi lại trong phần API miền . Đánh dấu cơ bản¶Hầu hết các miền cung cấp một số chỉ thị mô tả đối tượng, được sử dụng để mô tả các đối tượng cụ thể được cung cấp bởi các mô-đun. Mỗi chỉ thị yêu cầu một hoặc nhiều chữ ký để cung cấp thông tin cơ bản về những gì đang được mô tả và nội dung phải là mô tả Một miền thường sẽ giữ một chỉ mục nội bộ của tất cả các thực thể để hỗ trợ tham chiếu chéo. Thông thường, nó cũng sẽ thêm các mục trong chỉ mục chung được hiển thị. Nếu bạn muốn chặn việc thêm một mục vào chỉ mục được hiển thị, bạn có thể đặt cờ tùy chọn chỉ thị def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator4. Nếu bạn muốn loại trừ phần mô tả đối tượng khỏi mục lục, bạn có thể đặt cờ tùy chọn chỉ thị def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator5. Nếu bạn muốn sắp chữ một mô tả đối tượng, thậm chí không làm cho nó có sẵn để tham chiếu chéo, bạn có thể đặt cờ tùy chọn chỉ thị def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator6 (có nghĩa là def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator4). Mặc dù vậy, hãy lưu ý rằng không phải mọi lệnh trong mọi miền đều có thể hỗ trợ các tùy chọn này Mới trong phiên bản 3. 2. Tùy chọn chỉ thị def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator8 trong miền Python, C, C++ và Javascript. Mới trong phiên bản 5. 2. 3. Tùy chọn chỉ thị def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator5 trong các miền Python, C, C++, Javascript và reStructuredText. Một ví dụ sử dụng chỉ thị tên miền Python .. py:function:: spam(eggs) ham(eggs) Spam or ham the foo. Điều này mô tả hai hàm Python def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator00 và def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator01. (Lưu ý rằng khi chữ ký trở nên quá dài, bạn có thể ngắt chúng nếu bạn thêm dấu gạch chéo ngược vào các dòng được tiếp tục ở dòng tiếp theo. Thí dụ def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator2 (Ví dụ này cũng chỉ ra cách sử dụng cờ def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator6. ) Các miền cũng cung cấp các vai trò liên kết lại với các mô tả đối tượng này. Ví dụ: để liên kết với một trong các chức năng được mô tả trong ví dụ trên, bạn có thể nói def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator4 Như bạn có thể thấy, cả tên chỉ thị và vai trò đều chứa tên miền và tên chỉ thị Tên miền mặc định Đối với tài liệu mô tả các đối tượng chỉ từ một miền, tác giả sẽ không phải nêu lại tên của nó ở mỗi chỉ thị, vai trò, v.v… sau khi đã chỉ định mặc định. Điều này có thể được thực hiện thông qua giá trị cấu hình def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator03 hoặc thông qua chỉ thị này.. miền mặc định. tên ¶ Chọn miền mặc định mới. Mặc dù def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator03 chọn mặc định chung, nhưng điều này chỉ có tác dụng trong cùng một tệp Nếu không có giá trị mặc định nào khác được chọn, miền Python (có tên là def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator05) là giá trị mặc định, chủ yếu để tương thích với tài liệu được viết cho các phiên bản Sphinx cũ hơn Chỉ thị và vai trò thuộc về miền mặc định có thể được đề cập mà không cần cung cấp tên miền, i. e def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator8 Cú pháp tham chiếu chéo¶Đối với các vai trò tham chiếu chéo do miền cung cấp, cơ sở vật chất giống như đối với tham chiếu chéo chung. Xem Cú pháp tham chiếu chéo . Nói ngắn gọn
Miền Python¶Miền Python (tên py) cung cấp các lệnh sau để khai báo mô-đun .. py. mô-đun. tên ¶Lệnh này đánh dấu phần đầu của mô tả mô-đun (hoặc mô-đun con của gói, trong trường hợp đó, tên phải đủ điều kiện, bao gồm cả tên gói). Một mô tả của mô-đun chẳng hạn như chuỗi tài liệu có thể được đặt trong phần thân của chỉ thị Chỉ thị này cũng sẽ gây ra một mục trong chỉ mục mô-đun toàn cầu Đã thay đổi trong phiên bản 5. 2. Chỉ thị mô-đun hỗ trợ nội dung cơ thể. tùy chọn :platform: nền tảng (dấu phẩy được phân tách danh sách)¶Cho biết các nền tảng có sẵn mô-đun (nếu nó có sẵn trên tất cả các nền tảng, tùy chọn này sẽ được bỏ qua). Các khóa là số nhận dạng ngắn; . Điều quan trọng là sử dụng khóa đã được sử dụng khi áp dụng :synopsis: mục đích (văn bản) ¶Bao gồm một câu mô tả mục đích của mô-đun – nó hiện chỉ được sử dụng trong Chỉ mục mô-đun toàn cầu :deprecated: (không đối số) ¶Đánh dấu một mô-đun là không dùng nữa; .. py. mô-đun hiện tại. tên ¶Chỉ thị này nói với Sphinx rằng các lớp, chức năng, v.v. tài liệu từ đây nằm trong mô-đun nhất định (như def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator32), nhưng nó sẽ không tạo mục nhập chỉ mục, mục nhập trong Chỉ mục mô-đun toàn cầu hoặc mục tiêu liên kết cho def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator33. Điều này hữu ích trong các tình huống khi tài liệu về mọi thứ trong một mô-đun trải rộng trên nhiều tệp hoặc phần – một vị trí có chỉ thị def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator32, những vị trí khác chỉ có def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator35 Các lệnh sau được cung cấp cho nội dung mô-đun và lớp .. py. hàm số. tên(tham số) ¶Mô tả chức năng cấp mô-đun. Chữ ký phải bao gồm các tham số như đã cho trong định nghĩa hàm Python, xem Chữ ký Python . Ví dụ. def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator9 Đối với các phương pháp bạn nên sử dụng def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator36 Mô tả thường bao gồm thông tin về các tham số cần thiết và cách chúng được sử dụng (đặc biệt là liệu các đối tượng có thể thay đổi được truyền dưới dạng tham số có được sửa đổi hay không), tác dụng phụ và các ngoại lệ có thể xảy ra Thông tin này có thể (trong bất kỳ chỉ thị def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator05 nào) tùy chọn được cung cấp ở dạng có cấu trúc, xem Danh sách trường thông tin . tùy chọn :async: (không giá trị) ¶Cho biết chức năng này là một chức năng không đồng bộ Mới trong phiên bản 2. 1 :canonical: (tên đủ tiêu chuẩn đầy đủ bao gồm module name)¶Mô tả vị trí nơi đối tượng được xác định nếu đối tượng được nhập từ các mô-đun khác Mới trong phiên bản 4. 0 .. py. dữ liệu. tên ¶Mô tả dữ liệu toàn cầu trong một mô-đun, bao gồm cả biến và giá trị được sử dụng làm “hằng số được xác định. ” Thuộc tính lớp và đối tượng không được ghi lại khi sử dụng môi trường này tùy chọn :type: loại của biến variable (¶Mới trong phiên bản 2. 4 :value: giá trị ban đầu của biến variable (text)¶Mới trong phiên bản 2. 4 :canonical: (tên đủ tiêu chuẩn đầy đủ bao gồm module name)¶Mô tả vị trí nơi đối tượng được xác định nếu đối tượng được nhập từ các mô-đun khác Mới trong phiên bản 4. 0 .. py. ngoại lệ. tên ¶Mô tả một lớp ngoại lệ. Chữ ký có thể, nhưng không cần bao gồm dấu ngoặc đơn với các đối số hàm tạo tùy chọn :final: (không giá trị) ¶Cho biết lớp là lớp cuối cùng Mới trong phiên bản 3. 1 .. py. lớp. tên ¶ . py. lớp. tên(tham số)Mô tả một lớp học. Chữ ký có thể tùy chọn bao gồm dấu ngoặc đơn với các tham số sẽ được hiển thị dưới dạng đối số hàm tạo. Xem thêm Chữ ký Python . Các phương thức và thuộc tính thuộc về lớp nên được đặt trong phần thân của chỉ thị này. Nếu chúng được đặt bên ngoài, tên được cung cấp phải chứa tên lớp để các tham chiếu chéo vẫn hoạt động. Thí dụ def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator2 Cách đầu tiên là cách ưa thích tùy chọn :canonical: (tên đủ tiêu chuẩn đầy đủ bao gồm module name)¶Mô tả vị trí nơi đối tượng được xác định nếu đối tượng được nhập từ các mô-đun khác Mới trong phiên bản 4. 0 :final: (không giá trị) ¶Cho biết lớp là lớp cuối cùng Mới trong phiên bản 3. 1 .. py. thuộc tính. tên ¶Mô tả một thuộc tính dữ liệu đối tượng. Mô tả phải bao gồm thông tin về loại dữ liệu dự kiến và liệu nó có thể được thay đổi trực tiếp hay không tùy chọn :type: loại của thuộc tính attribute (¶Mới trong phiên bản 2. 4 :value: giá trị ban đầu của thuộc tính attribute (text)¶Mới trong phiên bản 2. 4 :canonical: (tên đủ tiêu chuẩn đầy đủ bao gồm module name)¶Mô tả vị trí nơi đối tượng được xác định nếu đối tượng được nhập từ các mô-đun khác Mới trong phiên bản 4. 0 .. py. tài sản. tên ¶Mô tả thuộc tính đối tượng Mới trong phiên bản 4. 0 tùy chọn :abstractmethod: (không giá trị) ¶Chỉ ra tài sản là trừu tượng :classmethod: (không giá trị) ¶Chỉ ra thuộc tính là một classmethod :type: loại của the thuộc tính ( . ¶.. py. phương pháp. tên(tham số) ¶Mô tả một phương thức đối tượng. Các tham số không được bao gồm tham số def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator38. Mô tả phải bao gồm thông tin tương tự như mô tả cho def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator1. Xem thêm Chữ ký Python và Danh sách trường thông tin . tùy chọn :abstractmethod: (không giá trị) ¶Chỉ ra phương thức là một phương thức trừu tượng Mới trong phiên bản 2. 1 :async: (không giá trị) ¶Cho biết phương thức này là một phương thức không đồng bộ Mới trong phiên bản 2. 1 :canonical: (tên đủ tiêu chuẩn đầy đủ bao gồm module name)¶Mô tả vị trí nơi đối tượng được xác định nếu đối tượng được nhập từ các mô-đun khác Mới trong phiên bản 4. 0 :classmethod: (không giá trị) ¶Chỉ ra phương thức là một phương thức lớp Mới trong phiên bản 2. 1 :final: (không giá trị) ¶Cho biết lớp là một phương thức cuối cùng Mới trong phiên bản 3. 1 :staticmethod: (không giá trị) ¶Chỉ ra phương thức là một phương thức tĩnh Mới trong phiên bản 2. 1 .. py. phương pháp tĩnh. tên(tham số) ¶Giống như def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator36, nhưng chỉ ra rằng phương thức này là một phương thức tĩnh Mới trong phiên bản 0. 4 .. py. phương pháp phân loại. tên(tham số) ¶Giống như def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator36, nhưng chỉ ra rằng phương thức này là một phương thức của lớp Mới trong phiên bản 0. 6 .. py. người trang trí. tên ¶ . py. người trang trí. tên(tham số)Mô tả một chức năng trang trí. Chữ ký phải đại diện cho việc sử dụng như một trang trí. Ví dụ, với các chức năng def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator các mô tả sẽ trông như thế này def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator0 (trái ngược với def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator92. ) Không có vai trò def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator93 nào để liên kết với một trình trang trí được đánh dấu bằng chỉ thị này; .. py. phương pháp trang trí. tên ¶ . py. phương pháp trang trí. tên(chữ ký) Tương tự như def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator95, nhưng đối với decorators là các phương thức Tham khảo phương thức trang trí bằng cách sử dụng vai trò def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator96 Chữ ký Python¶Chữ ký của các hàm, phương thức và hàm tạo lớp có thể được cung cấp giống như chúng sẽ được viết bằng Python Giá trị mặc định cho các đối số tùy chọn có thể được cung cấp (nhưng nếu chúng chứa dấu phẩy, chúng sẽ gây nhầm lẫn cho trình phân tích cú pháp chữ ký). Các chú thích đối số kiểu 3 của Python cũng có thể được cung cấp cũng như các chú thích kiểu trả về def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator3 Đối với các hàm có tham số tùy chọn không có giá trị mặc định (thường là các hàm được triển khai trong mô-đun mở rộng C mà không hỗ trợ đối số từ khóa), bạn có thể sử dụng dấu ngoặc để chỉ định các phần tùy chọn biên dịch(nguồn[ , filename[, symbol]])Theo thông lệ, đặt dấu ngoặc mở trước dấu phẩy Danh sách trường thông tin¶Mới trong phiên bản 0. 4 Đã thay đổi trong phiên bản 3. 0. các trường meta được thêm vào. Bên trong các chỉ thị mô tả đối tượng Python, danh sách trường reST với các trường này được nhận dạng và định dạng độc đáo
Ghi chú Trong bản phát hành hiện tại, tất cả def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator208, def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator209 và def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator210 được biểu diễn dưới dạng "Biến". Không có sự khác biệt nào cả Tên trường phải bao gồm một trong những từ khóa này và một đối số (ngoại trừ def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator212 và def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator214, không cần đối số). Điều này được giải thích tốt nhất bằng một ví dụ def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator9 Điều này sẽ hiển thị như thế này send_message(người gửi , người nhận, message_body[, priority=1])Gửi tin nhắn cho người nhận Thông số .
id tin nhắn Loại trả về .int Tăng .
Cũng có thể kết hợp loại tham số và mô tả, nếu loại là một từ đơn, như thế này def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator20 Mới trong phiên bản 1. 5 Các loại vùng chứa như danh sách và từ điển có thể được liên kết tự động bằng cú pháp sau def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator21 Nhiều loại trong một trường loại sẽ được liên kết tự động nếu được phân tách bằng từ “hoặc” def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator22 Tham chiếu chéo các đối tượng Python¶Các vai trò sau đề cập đến các đối tượng trong mô-đun và có thể được siêu liên kết nếu tìm thấy mã định danh phù hợp :py:mod: ¶Tham khảo một mô-đun; . Điều này cũng nên được sử dụng cho tên gói :py:func: ¶Tham khảo một hàm Python; . Văn bản vai trò không cần bao gồm dấu ngoặc đơn để tăng cường khả năng đọc; :py:data: ¶Tham chiếu một biến cấp mô-đun :py:const: ¶Tham chiếu một hằng số "được xác định". Đây có thể là một biến Python không có ý định thay đổi :py:class: ¶Tham khảo một lớp học; :py:meth: ¶Tham chiếu một phương thức của một đối tượng. Văn bản vai trò có thể bao gồm tên loại và tên phương thức; . Một tên chấm có thể được sử dụng :py:attr: ¶Tham chiếu một thuộc tính dữ liệu của một đối tượng Ghi chú Vai trò cũng có thể đề cập đến tài sản :py:exc: ¶Tham khảo một ngoại lệ. Một tên chấm có thể được sử dụng :py:obj: ¶Tham chiếu một đối tượng thuộc loại không xác định. hữu ích e. g. như def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator225 Mới trong phiên bản 0. 4 Tên kèm theo trong phần đánh dấu này có thể bao gồm tên mô-đun và/hoặc tên lớp. Ví dụ: def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator226 có thể tham chiếu đến hàm có tên là def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator227 trong mô-đun hiện tại hoặc hàm tích hợp có tên đó. Ngược lại, def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator228 đề cập rõ ràng đến hàm def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator227 trong mô-đun def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator230 Thông thường, tên trong các vai trò này được tìm kiếm trước tiên mà không cần thêm bất kỳ phẩm chất nào, sau đó với tên mô-đun hiện tại được thêm vào trước, sau đó với tên mô-đun và lớp hiện tại (nếu có) được thêm vào trước. Nếu bạn đặt trước tên bằng dấu chấm, thứ tự này sẽ bị đảo ngược. Ví dụ: trong tài liệu về mô-đun def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator231 của Python, def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator232 luôn đề cập đến chức năng tích hợp sẵn, trong khi def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator233 đề cập đến def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator234 Một phương pháp phỏng đoán tương tự được sử dụng để xác định xem tên đó có phải là một thuộc tính của lớp đang được ghi lại hay không Ngoài ra, nếu tên có tiền tố là dấu chấm và không tìm thấy kết quả khớp chính xác, thì mục tiêu được lấy làm hậu tố và tất cả các tên đối tượng có hậu tố đó đều được tìm kiếm. Ví dụ: def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator235 tham chiếu hàm def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator236, ngay cả khi mô-đun hiện tại không phải là def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator237. Vì điều này có thể trở nên mơ hồ, nếu có nhiều hơn một khả năng trùng khớp, bạn sẽ nhận được cảnh báo từ Sphinx Lưu ý rằng bạn có thể kết hợp các tiền tố def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator08 và def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator239. def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator240 sẽ tham chiếu phương pháp def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator236, nhưng chú thích liên kết hiển thị sẽ chỉ là def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator242 Miền C¶Miền C (tên c) phù hợp với tài liệu về API C .. c. thành viên. khai báo ¶ . c. var. khai báo ¶Mô tả một thành viên cấu trúc C hoặc biến. chữ ký ví dụ def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator23 Sự khác biệt giữa hai chỉ thị chỉ là mỹ phẩm .. c. hàm số. chức năng nguyên mẫu ¶Mô tả một chức năng C. Chữ ký phải được đưa ra như trong C, e. g def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator24 Lưu ý rằng bạn không phải dấu sao thoát dấu gạch chéo ngược trong chữ ký, vì nó không được phân tích cú pháp bởi nội tuyến reST Trong phần mô tả chức năng, bạn có thể sử dụng các trường thông tin sau (xem thêm Danh sách trường thông tin ).
Mới trong phiên bản 4. 3. Loại trường def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator253. Ví dụ def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator25 mà ám như PyObject *PyType_GenericAlloc(PyTypeObject *type, Py_ssize_t nitems)¶Parameters:
một kết quả Trả về giá trị .
Mô tả một macro C, i. e. , ngôn ngữ C def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator257, không có văn bản thay thế Trong phần mô tả macro, bạn có thể sử dụng các trường thông tin giống như đối với chỉ thị def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator258 Mới trong phiên bản 3. 0. Biến thể kiểu hàm. .. c. cấu trúc. tên ¶Mô tả cấu trúc C Mới trong phiên bản 3. 0 .. c. liên hiệp. tên ¶Mô tả một hiệp hội C Mới trong phiên bản 3. 0 .. c. liệt kê. tên ¶Mô tả một C enum Mới trong phiên bản 3. 0 .. c. điều tra viên. tên ¶Mô tả một điều tra viên C Mới trong phiên bản 3. 0 .. c. loại hình. typedef-like khai báo ¶ . c. loại hình. tênMô tả một loại C, dưới dạng typedef hoặc bí danh cho một loại không xác định Cấu trúc C tham chiếu chéo¶Các vai trò sau đây tạo tham chiếu chéo đến các cấu trúc ngôn ngữ C nếu chúng được định nghĩa trong tài liệu :c:member: ¶ . c. dữ liệu. ¶ . c. var. ¶ . c. chức năng. ¶ . c. vĩ mô. ¶ . c. cấu trúc. ¶ . c. liên hiệp. ¶ . c. liệt kê. ¶ . c. điều tra viên. ¶ . c. loại hình. ¶Tham chiếu một khai báo C, như đã định nghĩa ở trên. Lưu ý rằng def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator259, def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator260 và def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator261 là tương đương Mới trong phiên bản 3. 0. Vai trò var, struct, union, enum và enumerator. Thực thể ẩn danh¶C hỗ trợ các cấu trúc ẩn danh, enums và công đoàn. Vì lợi ích của tài liệu, họ phải được đặt một số tên bắt đầu bằng def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator262, e. g. , def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator263 hoặc def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator264. Những tên này cũng có thể được sử dụng trong tham chiếu chéo, mặc dù các ký hiệu lồng nhau sẽ được tìm thấy ngay cả khi bị bỏ qua. Tên def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator265 sẽ luôn được hiển thị là [ẩn danh] (có thể là một liên kết) Thí dụ def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator26 Điều này sẽ được kết xuất như struct Dữ liệu ¶liên kết [anonymous]¶ int a¶ double b¶ Explicit ref: def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator266. Short-hand ref: def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator267. Mới trong phiên bản 3. 0 Khai báo bí danh¶Đôi khi, việc khai báo danh sách có thể hữu ích ở nơi khác ngoài tài liệu chính của chúng, chẳng hạn như. g. , khi tạo bản tóm tắt giao diện. Chỉ thị sau đây có thể được sử dụng cho mục đích này .. c. bí danh. tên ¶Chèn một hoặc nhiều khai báo bí danh. Mỗi thực thể có thể được chỉ định khi chúng có thể trong vai trò def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator268 Ví dụ def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator27 trở thành int dữ liệu ¶int f(double k)¶ int data int f(double k) New in version 3.2. Tùy chọn :maxdepth: int ¶Chèn cả các khai báo lồng nhau, lên đến tổng độ sâu đã cho. Sử dụng 0 cho độ sâu vô hạn và 1 cho khai báo đã đề cập. Mặc định là 1 Mới trong phiên bản 3. 3 :noroot: ¶Bỏ qua các khai báo đã đề cập và chỉ hiển thị các khai báo lồng nhau. Yêu cầu def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator269 hoặc 0 hoặc ít nhất 2 Mới trong phiên bản 3. 5 Biểu thức và kiểu nội tuyến¶:c:expr: ¶ . c. texpr. ¶Chèn một biểu thức C hoặc nhập dưới dạng mã nội tuyến (______1270) hoặc văn bản nội tuyến ( def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator271). Ví dụ def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator28 sẽ được kết xuất như sau int a = 42 ¶int f(int i)¶ An expression: a * f(a . ) (or as text: a * f(a . )). Một loại. const Dữ liệu* (hoặc dưới dạng văn bản const Data*). Mới trong phiên bản 3. 0 Không gian tên¶Mới trong phiên bản 3. 1 Bản thân ngôn ngữ C không hỗ trợ không gian tên, nhưng đôi khi có thể hữu ích khi mô phỏng nó trong tài liệu, e. g. , để hiển thị các khai báo thay thế. Tính năng này cũng có thể được sử dụng để ghi lại các thành viên của structs/unions/enums tách biệt với khai báo gốc của chúng Phạm vi hiện tại có thể được thay đổi bằng cách sử dụng ba chỉ thị không gian tên. Họ quản lý khai báo ngăn xếp trong đó def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator272 đặt lại ngăn xếp và thay đổi phạm vi nhất định Chỉ thị def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator273 thay đổi phạm vi thành phạm vi bên trong nhất định của phạm vi hiện tại Chỉ thị ________ 1274 hoàn tác chỉ thị ________ 1273 gần đây nhất .. c. không gian tên. phạm vi đặc điểm kỹ thuật ¶Thay đổi phạm vi hiện tại cho các đối tượng tiếp theo thành phạm vi đã cho và đặt lại ngăn xếp chỉ thị không gian tên. Lưu ý rằng phạm vi lồng nhau có thể được chỉ định bằng cách phân tách bằng dấu chấm, e. g def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator29 Tất cả các đối tượng tiếp theo sẽ được định nghĩa như thể tên của chúng được khai báo với phạm vi được thêm vào trước. Các tham chiếu chéo tiếp theo sẽ được tìm kiếm bắt đầu trong phạm vi hiện tại Sử dụng def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator276 hoặc def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator277 làm phạm vi sẽ thay đổi thành phạm vi toàn cầu.. c. đẩy không gian tên. phạm vi đặc điểm kỹ thuật ¶ Thay đổi phạm vi tương ứng với phạm vi hiện tại. Ví dụ, sau khi def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator40 phạm vi hiện tại sẽ là def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator278.. c. không gian tên-pop. ¶ Hoàn tác lệnh def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator273 trước đó (không chỉ bật một phạm vi). Ví dụ, sau khi def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator41 phạm vi hiện tại sẽ là def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator280 (không phải def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator281) Nếu không có lệnh def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator273 nào trước đó được sử dụng mà chỉ sử dụng lệnh def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator272 thì phạm vi hiện tại sẽ được đặt lại thành phạm vi toàn cầu. Tức là, def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator284 tương đương với def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator42 Biến cấu hình¶Xem Tùy chọn cho miền C . Miền C++¶Miền C++ (tên cpp) hỗ trợ ghi lại các dự án C++ Chỉ thị cho các thực thể khai báo¶Các chỉ thị sau đây có sẵn. Tất cả các khai báo có thể bắt đầu bằng một tuyên bố về khả năng hiển thị ( def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator285, def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator286 hoặc def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator287).. cpp. lớp. lớp chỉ định ¶ . cpp. cấu trúc. lớp trình xác định ¶ Mô tả một lớp/cấu trúc, có thể với đặc điểm kỹ thuật kế thừa, e. g. , def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator43 Sự khác biệt giữa def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator288 và def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator289 chỉ là thẩm mỹ. tiền tố được hiển thị trong đầu ra và trình xác định được hiển thị trong chỉ mục Lớp có thể được khai báo trực tiếp bên trong một phạm vi lồng nhau, e. g. , def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator44 Một mẫu lớp có thể được khai báo def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator45 hoặc với một ngắt dòng def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator46 Chuyên môn mẫu đầy đủ và một phần có thể được khai báo def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator47 Mới trong phiên bản 2. 0. Chỉ thị def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator289. .. cpp. hàm số. (thành viên) chức năng nguyên mẫu ¶ Mô tả một chức năng hoặc chức năng thành viên, e. g. , def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator48 Mẫu chức năng cũng có thể được mô tả def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator49 và chuyên môn mẫu chức năng def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator80.. cpp. thành viên. (thành viên) biến khai báo ¶ .. cpp. var. (thành viên) biến khai báo ¶ Mô tả một biến hoặc biến thành viên, e. g. , def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator81 Các mẫu biến cũng có thể được mô tả def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator82.. cpp. loại hình. typedef khai báo ¶ . cpp. loại hình. tên. cpp. loại hình. loại bí danh khai báo Mô tả một loại như trong khai báo typedef, khai báo bí danh loại hoặc đơn giản là tên của loại có loại không xác định, e. g. , def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator83 Một bí danh loại cũng có thể được tạo khuôn mẫu def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator84 Ví dụ được hiển thị như sau typedef std. vectơ<int> MyList . ¶A typedef-like declaration of a type. type MyContainer. const_iterator ¶Khai báo bí danh loại có loại không xác định. sử dụng MyType = std. unordered_map<int, std . ::chuỗi> ¶Khai báo bí danh loại. mẫu<tên loại T>using MyContainer = std::vectơ<T> ¶ . .. cpp. liệt kê. không có phạm vi enum khai báo ¶ . cpp. enum-cấu trúc. phạm vi enum khai báo ¶ . cpp. lớp enum. phạm vi enum khai báo ¶ Mô tả một enum (phạm vi), có thể với loại cơ bản được chỉ định. Bất kỳ điều tra viên nào được khai báo bên trong một unscoped enum sẽ được khai báo cả trong phạm vi enum và trong phạm vi cha. ví dụ def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator85.. cpp. điều tra viên. tên ¶ . cpp. điều tra viên. tên = hằng số Mô tả một điều tra viên, tùy chọn với giá trị được xác định, e. g. , def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator86.. cpp. liên hiệp. tên ¶ Mô tả một hiệp hội Mới trong phiên bản 1. 8 .. cpp. ý tưởng. danh sách tham số mẫu tên ¶Cảnh báo Hỗ trợ cho các khái niệm là thử nghiệm. Nó dựa trên tiêu chuẩn dự thảo hiện tại và Thông số kỹ thuật khái niệm. Các tính năng có thể thay đổi khi chúng phát triển Mô tả một khái niệm. Nó phải có chính xác 1 danh sách tham số mẫu. Tên có thể là một tên lồng nhau. Thí dụ def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator87 Điều này sẽ hiển thị như sau mẫu<tên loại Nó>concept std::Trình lặp ¶ Proxy cho một phần tử của chuỗi danh nghĩa có thể được so sánh, gián tiếp hoặc tăng dần. ký hiệu Nó r ¶Một giá trị. Biểu thức hợp lệ
Mới trong phiên bản 1. 5 Tùy chọn¶Một số tùy chọn hỗ trợ chỉ thị
Thực thể ẩn danh¶C++ hỗ trợ các không gian tên ẩn danh, các lớp, enum và các công đoàn. Vì lợi ích của tài liệu, họ phải được đặt một số tên bắt đầu bằng def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator262, e. g. , def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator263 hoặc def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator264. Những tên này cũng có thể được sử dụng trong tham chiếu chéo và biểu thức (loại), mặc dù các ký hiệu lồng nhau sẽ được tìm thấy ngay cả khi bị bỏ qua. Tên def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator265 sẽ luôn được hiển thị là [ẩn danh] (có thể là một liên kết) Thí dụ def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator88 Điều này sẽ được kết xuất như lớp Dữ liệu ¶công đoàn [anonymous]¶ int a¶ double b¶ Explicit ref: def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator298. Short-hand ref: def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator299. Mới trong phiên bản 1. 8 Khai báo bí danh¶Đôi khi, việc khai báo danh sách có thể hữu ích ở nơi khác ngoài tài liệu chính của chúng, chẳng hạn như. g. , khi tạo bản tóm tắt giao diện lớp. Chỉ thị sau đây có thể được sử dụng cho mục đích này .. cpp. bí danh. tên hoặc chức năng chữ ký ¶Chèn một hoặc nhiều khai báo bí danh. Mỗi thực thể có thể được chỉ định như họ có thể trong vai trò def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator400. Nếu tên của một chức năng được đưa ra (trái ngược với chữ ký đầy đủ), thì tất cả các quá tải của chức năng sẽ được liệt kê Ví dụ def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator89 trở thành int avoid f(double d) const void f(double d) void f(int i) void f() whereas: def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator90 trở thành void f(gấp đôi d) constvoid f(double d) New in version 2.0. Tùy chọn :maxdepth: int ¶Chèn cả các khai báo lồng nhau, lên đến tổng độ sâu đã cho. Sử dụng 0 cho độ sâu vô hạn và 1 cho khai báo đã đề cập. Mặc định là 1 Mới trong phiên bản 3. 5 :noroot: ¶Bỏ qua các khai báo đã đề cập và chỉ hiển thị các khai báo lồng nhau. Yêu cầu def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator269 hoặc 0 hoặc ít nhất 2 Mới trong phiên bản 3. 5 Các mẫu bị ràng buộc¶Cảnh báo Hỗ trợ cho các khái niệm là thử nghiệm. Nó dựa trên tiêu chuẩn dự thảo hiện tại và Thông số kỹ thuật khái niệm. Các tính năng có thể thay đổi khi chúng phát triển Ghi chú Sphinx hiện không hỗ trợ mệnh đề def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator402 Giữ chỗ¶Các khai báo có thể sử dụng tên của một khái niệm để giới thiệu các tham số mẫu bị ràng buộc hoặc từ khóa def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator403 để giới thiệu các tham số mẫu không bị ràng buộc def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator91 Giới thiệu mẫu¶Các mẫu chức năng hoặc lớp bị ràng buộc đơn giản có thể được khai báo bằng phần giới thiệu mẫu thay vì danh sách tham số mẫu def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator92 Chúng được hiển thị như sau tiêu chuẩn. Trình lặp{Nó}void . advance(It &it)¶ A function template with a template parameter constrained to be an Iterator. tiêu chuẩn. LessThanComparable{T}lớp . MySortedContainer¶ A class template with a template parameter constrained to be LessThanComparable. Tuy nhiên, xin lưu ý rằng không có kiểm tra nào được thực hiện đối với khả năng tương thích của tham số. e. g. , def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator404 sẽ được chấp nhận làm phần giới thiệu mặc dù nó không hợp lệ C++ Biểu thức và kiểu nội tuyến¶:cpp:expr: ¶ . cpp. texpr. ¶Chèn một biểu thức C++ hoặc nhập dưới dạng mã nội tuyến (______1270) hoặc văn bản nội tuyến ( def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator271). Ví dụ def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator93 sẽ được kết xuất như sau int a = 42 ¶int f(int i)¶ An expression: a * f(a . ) (or as text: a * f(a . )). Một loại. const MySortedContainer<int> . & (or as text const MySortedContainer<int>&). Mới trong phiên bản 1. 7. Vai trò def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator270. Mới trong phiên bản 1. 8. Vai trò def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator271. Không gian tên¶Các khai báo trong miền C++ được đặt mặc định trong phạm vi toàn cầu. Phạm vi hiện tại có thể được thay đổi bằng cách sử dụng ba chỉ thị không gian tên. Họ quản lý khai báo ngăn xếp trong đó def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator409 đặt lại ngăn xếp và thay đổi phạm vi nhất định Chỉ thị def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator410 thay đổi phạm vi thành phạm vi bên trong nhất định của phạm vi hiện tại Chỉ thị def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator411 hoàn tác chỉ thị def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator410 gần đây nhất.. cpp. không gian tên. phạm vi đặc điểm kỹ thuật ¶ Thay đổi phạm vi hiện tại cho các đối tượng tiếp theo thành phạm vi đã cho và đặt lại ngăn xếp chỉ thị không gian tên. Lưu ý rằng không gian tên không cần phải tương ứng với không gian tên C++, nhưng có thể kết thúc bằng tên của các lớp, e. g. , def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator94 Tất cả các đối tượng tiếp theo sẽ được định nghĩa như thể tên của chúng được khai báo với phạm vi được thêm vào trước. Các tham chiếu chéo tiếp theo sẽ được tìm kiếm bắt đầu trong phạm vi hiện tại Sử dụng def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator276, def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator277 hoặc def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator415 làm phạm vi sẽ thay đổi thành phạm vi toàn cầu Một khai báo không gian tên cũng có thể được tạo khuôn mẫu, e. g. , def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator95 khai báo def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator416 là một hàm thành viên của mẫu lớp def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator417. Tương tự, điều này có thể đã được khai báo bằng cách sử dụng def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator96 hoặc def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator97.. cpp. đẩy không gian tên. phạm vi đặc điểm kỹ thuật ¶ Thay đổi phạm vi tương ứng với phạm vi hiện tại. Ví dụ, sau khi def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator98 phạm vi hiện tại sẽ là def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator418 Mới trong phiên bản 1. 4 .. cpp. không gian tên-pop. ¶Hoàn tác lệnh def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator410 trước đó (không chỉ bật một phạm vi). Ví dụ, sau khi def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator99 phạm vi hiện tại sẽ là def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator420 (không phải def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator421) Nếu không có lệnh def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator410 nào trước đó được sử dụng mà chỉ sử dụng lệnh def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator409 thì phạm vi hiện tại sẽ được đặt lại thành phạm vi toàn cầu. Đó là, def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator424 tương đương với def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator20 Mới trong phiên bản 1. 4 Danh sách trường thông tin¶Tất cả các lệnh C++ để khai báo thực thể đều hỗ trợ các trường thông tin sau (xem thêm Danh sách trường thông tin ).
Chỉ thị def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator426 hỗ trợ thêm các trường sau
Mới trong phiên bản 4. 3. Loại trường def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator253. Tham khảo chéo¶Các vai trò này liên kết với các loại khai báo đã cho :cpp:any: ¶ . cpp. lớp. ¶ . cpp. cấu trúc. ¶ . cpp. chức năng. ¶ . cpp. thành viên. ¶ . cpp. var. ¶ . cpp. loại hình. ¶ . cpp. ý tưởng. ¶ . cpp. liệt kê. ¶ . cpp. điều tra viên. ¶Tham khảo khai báo C++ theo tên (xem bên dưới để biết chi tiết). Tên phải đủ tiêu chuẩn so với vị trí của liên kết Mới trong phiên bản 2. 0. Vai trò def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator289 làm bí danh cho vai trò def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator288. Lưu ý về Tham chiếu với Tham số/Đối số Mẫu Những vai trò này tuân theo quy tắc Cú pháp tham chiếu chéo của Sphinx. Điều này có nghĩa là phải cẩn thận khi tham khảo chuyên môn hóa mẫu (một phần), e. g. nếu liên kết trông như thế này. def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator439. Điều này được hiểu là một liên kết đến def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator440 với tiêu đề là def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator441. Trong trường hợp này, thoát khỏi khung góc mở bằng dấu gạch chéo ngược, như thế này. def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator442. Khi không cần tiêu đề tùy chỉnh, có thể hữu ích khi sử dụng các vai trò cho biểu thức nội tuyến, def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator270 và def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator271, trong đó dấu ngoặc nhọn không cần thoát Tuyên bố không có tham số mẫu và đối số mẫu¶Để liên kết đến các khai báo không theo khuôn mẫu, tên phải là tên lồng nhau, e. g. , def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator445 hoặc def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator446 Các hàm (thành viên) bị quá tải¶Khi một hàm (thành viên) được tham chiếu chỉ bằng tên của nó, tham chiếu sẽ trỏ đến quá tải so khớp tùy ý. Vai trò def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator400 và def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator448 sử dụng định dạng thay thế, đơn giản là một khai báo hàm hoàn chỉnh. Điều này sẽ giải quyết tình trạng quá tải đối sánh chính xác. Ví dụ, hãy xem xét khai báo lớp saulớp C ¶ vô hiệu f(double d) const¶ void f(double d)¶ void f(int i)¶ void f()¶ References using the def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator448 role:
Lưu ý rằng biến cấu hình def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator223 không ảnh hưởng đến các tham chiếu quá tải cụ thể Khai báo theo khuôn mẫu¶Giả sử các khai báo sau lớp Trình bao bọc ¶mẫu<typename TOuter> class Outer¶ template<typename TInner> class Inner¶ In general the reference must include the template parameter declarations, and template arguments for the prefix of qualified names. For example:
Hiện tại, việc tra cứu chỉ thành công nếu các mã định danh tham số mẫu là các chuỗi bằng nhau. Tức là, def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator467 sẽ không hoạt động Là một ký hiệu tốc ký, nếu một danh sách tham số mẫu bị bỏ qua, thì tra cứu sẽ giả sử một mẫu chính hoặc một mẫu không phải mẫu, nhưng không phải là chuyên môn hóa một phần mẫu. Điều này có nghĩa là các tài liệu tham khảo sau đây cũng hoạt động
(Đầy đủ) Chuyên môn Mẫu¶Giả sử các khai báo sau mẫu<tên loại TOuter>class Outer¶ template<typename TInner> class Inner¶ template<> class Outer<int>¶ template<typename TInner> class Inner¶ template<> class Inner<bool>¶ In general the reference must include a template parameter list for each template argument list. The full specialisation above can therefore be referenced with def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator474 ( def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator475) and def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator476 ( def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator477). As a shorthand the empty template parameter list can be omitted, e.g., def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator478 ( def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator479) and def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator480 ( def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator481). Chuyên môn hóa một phần mẫu¶Giả sử khai báo sau mẫu<tên loại T>class Outer<T*>¶ References to partial specialisations must always include the template parameter lists, e.g., def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator482 ( def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator483). Currently the lookup only succeed if the template parameter identifiers are equal strings. Biến cấu hình¶Xem Tùy chọn cho miền C++ . Tên miền tiêu chuẩn¶Cái gọi là tên miền “tiêu chuẩn” thu thập tất cả các đánh dấu không đảm bảo tên miền của riêng nó. Các chỉ thị và vai trò của nó không có tiền tố là một tên miền Miền tiêu chuẩn cũng là nơi đặt các mô tả đối tượng tùy chỉnh, được thêm bằng cách sử dụng API def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator484 Có một bộ chỉ thị cho phép ghi lại các chương trình dòng lệnh .. tùy chọn. tên đối số, tên đối số, ... ¶Mô tả một đối số dòng lệnh hoặc chuyển đổi. Tên đối số tùy chọn phải được đặt trong dấu ngoặc nhọn. ví dụ def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator21 Lệnh này sẽ tạo các mục tiêu tham chiếu chéo cho các tùy chọn đã cho, có thể tham chiếu trước def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator485 (trong trường hợp ví dụ, bạn sẽ sử dụng thứ gì đó như def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator486, def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator487 hoặc def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator488) Đã thay đổi trong phiên bản 5. 3. Người ta có thể tham khảo chéo bao gồm cả giá trị tùy chọn. def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator489, ,``. quyền mua. –module[=foobar]`` hoặc def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator490. Sử dụng def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator491 để phân tích cú pháp "phần biến" của văn bản chữ (tương tự như vai trò def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator492) Chỉ thị def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator493 là bí danh không dùng nữa cho chỉ thị def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator485.. envvar. tên ¶ Mô tả một biến môi trường mà mã tài liệu hoặc chương trình sử dụng hoặc định nghĩa. Có thể tham khảo bởi def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator495.. chương trình. tên ¶ Giống như def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator35, lệnh này không tạo ra kết quả nào. Thay vào đó, nó phục vụ để thông báo cho Sphinx rằng tất cả các tùy chọn tài liệu chỉ thị sau đây của def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator485 cho chương trình được gọi là tên Nếu bạn sử dụng def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator498, bạn phải xác định các tham chiếu trong vai trò def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator485 của mình theo tên chương trình, vì vậy nếu bạn gặp trường hợp sau def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator22 thì def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator800 sẽ đề cập đến tùy chọn đầu tiên, trong khi def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator801 sẽ đề cập đến tùy chọn thứ hai Nếu def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator802 được chuyển đến đối số, lệnh sẽ đặt lại tên chương trình hiện tại Tên chương trình có thể chứa khoảng trắng (trong trường hợp bạn muốn ghi lại các lệnh con như def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator803 và def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator804 một cách riêng biệt) Mới trong phiên bản 0. 5 Ngoài ra còn có một chỉ thị mô tả đối tượng rất chung chung, không gắn với bất kỳ miền nào .. mô tả. văn bản ¶ . đối tượng. văn bản ¶Lệnh này tạo định dạng giống như định dạng cụ thể được cung cấp bởi các miền, nhưng không tạo mục nhập chỉ mục hoặc mục tiêu tham chiếu chéo. Thí dụ def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator23 Miền JavaScript¶Miền JavaScript (tên js) cung cấp các lệnh sau .. js. mô-đun. tên ¶Lệnh này đặt tên mô-đun cho các khai báo đối tượng theo sau. Tên mô-đun được sử dụng trong chỉ mục mô-đun chung và trong các tham chiếu chéo. Ví dụ, lệnh này không tạo tiêu đề đối tượng như def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator805 Theo mặc định, lệnh này sẽ tạo một thực thể có thể liên kết và sẽ tạo ra một mục nhập trong chỉ mục mô-đun chung, trừ khi tùy chọn def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator806 được chỉ định. Nếu tùy chọn này được chỉ định, lệnh sẽ chỉ cập nhật tên mô-đun hiện tại Mới trong phiên bản 1. 6 Đã thay đổi trong phiên bản 5. 2. Chỉ thị mô-đun hỗ trợ nội dung cơ thể. .. js. hàm số. tên(chữ ký) ¶Mô tả một hàm hoặc phương thức JavaScript. Nếu bạn muốn mô tả các đối số dưới dạng tùy chọn, hãy sử dụng dấu ngoặc vuông dưới dạng được ghi lại cho chữ ký Python. Bạn có thể sử dụng các trường để cung cấp thêm chi tiết về các đối số và các loại dự kiến của chúng, các lỗi mà hàm có thể đưa ra và giá trị được trả về def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator24 Điều này được kết xuất như $. getJSON(href , gọi lại . [, errback])Arguments:
Thứ gì đó .. js. phương pháp. tên(chữ ký) ¶Lệnh này là bí danh của def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator809, tuy nhiên, nó mô tả một chức năng được triển khai như một phương thức trên một đối tượng lớp Mới trong phiên bản 1. 6 .. js. lớp. tên ¶Mô tả một constructor tạo ra một đối tượng. Về cơ bản, đây giống như một hàm nhưng sẽ hiển thị với tiền tố lớp def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator25 Điều này được kết xuất như lớp MyAnimal(tên[, age])Arguments:
Mô tả một biến toàn cục hoặc hằng số .. js. thuộc tính. đối tượng. tên ¶Mô tả tên thuộc tính của đối tượng Các vai trò này được cung cấp để chỉ các đối tượng được mô tả :js:mod: ¶ . js. chức năng. ¶ . js. meth. ¶ . js. lớp. ¶ . js. dữ liệu. ¶ . js. attr. ¶Miền tái cấu trúc¶Miền reStructuredText (tên rst) cung cấp các chỉ thị sau .. đầu tiên. chỉ thị. tên ¶Mô tả một chỉ thị reST. Tên có thể là một tên chỉ thị duy nhất hoặc cú pháp chỉ thị thực tế (. tiền tố và. hậu tố) với các đối số sẽ được hiển thị khác. Ví dụ def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator26 sẽ được kết xuất như .. foo.mô tả foo .. thanh. bazmô tả thanh .. đầu tiên. chỉ thị. quyền mua. tên ¶Mô tả một tùy chọn cho chỉ thị reST. Tên có thể là một tên tùy chọn hoặc tên tùy chọn với các đối số được phân tách bằng dấu hai chấm ( def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator812). Ví dụ def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator27 sẽ được kết xuất như .. toctree. . đầu đề. chú thích của ToC. quả địa cầu.tùy chọn :type: mô tả của đối số (văn bản)¶Mô tả loại giá trị quyền chọn Ví dụ def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator28 Mới trong phiên bản 2. 1 .. đầu tiên. vai diễn. tên ¶Mô tả vai trò nghỉ ngơi. Ví dụ def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator29 sẽ được kết xuất như foomô tả foo Các vai trò này được cung cấp để chỉ các đối tượng được mô tả :rst:dir: ¶ . đầu tiên. vai diễn. ¶Lĩnh vực toán học¶Miền toán học (tên toán học) cung cấp các vai trò sau :math:numref: ¶Vai trò đối với các phương trình tham chiếu chéo được xác định bởi chỉ thị def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator813 thông qua nhãn của chúng. Thí dụ def removename(func): func.__name__ = '' return func def setnewname(name): def decorator(func): func.__name__ = name return func return decorator0 Mới trong phiên bản 1. 8 Nhiều tên miền hơn¶Kho lưu trữ sphinx-contrib chứa nhiều tên miền hơn có sẵn dưới dạng tiện ích mở rộng; . Cũng có sẵn các miền cho Chapel, Common Lisp, dqn, Go, Jinja, Operation và Scala |