def visit_If(self, node. ast. Nếu) -> ast. AST. """Nếu báo cáo e. g. Nếu ``x == y`` được chuyển đổi thành ``if True`` và ``if False``. Phương thức truy cập này chỉ hoạt động khi sử dụng Mixin thích hợp. """ bản thân. generic_visit(node) log_header = f"visit_If. {bản thân. src_file}. " # mặc định cho phép so sánh là "If_Statement" sẽ được thay đổi thành True/False # If_Statement không được đặt làm mục tiêu đột biến, được kiểm soát trong hàm get_mutations if_type = "If_Statement" # Py 3. 7 so với 3. 8 - 3. 7 sử dụng NameConstant, 3. 8 sử dụng Hằng if_mutations = { "If_True". bản thân. hằng_type(giá trị=True), "If_False". bản thân. hằng_type (giá trị = Sai), } nếu loại (nút. kiểm tra) == tự. hằng_type. if_type. str = f"If_{bool(nút. kiểm tra. giá trị)}" # loại. bỏ qua node_span = NodeSpan(node) idx = LocIndex( ast_class="If", lineno=node_span. dòng, col_offset=node_span. col_offset, op_type=if_type, end_lineno=node_span. end_lineno, end_col_offset=node_span. end_col_offset, ) tự. lộc. thêm (idx) nếu idx == tự. target_idx và bản thân. đột biến và không tự. chỉ đọc. TIỀU PHU. debug("%s thay doi idx. %s với %s", log_header, tự. target_idx, bản thân. đột biến) trả về ast. fix_missing_locations( ast. copy_location( ast. Nếu(test=if_mutations[self. đột biến], cơ thể = nút. cơ thể, orelse=nút. orelse), nút, ) ) LOGGER. gỡ lỗi("%s (%s, %s). không áp dụng đột biến. ", log_header, nút. dây, nút. col_offset) nút trả về Gói PyPI typed-ast nhận được tổng cộng 2.170.882 lượt tải xuống mỗi tuần. Do đó, chúng tôi đã chấm điểm mức độ phổ biến được đánh máy là Dự án có ảnh hưởng Show Dựa trên số liệu thống kê dự án từ kho lưu trữ GitHub cho gói PyPI typed-ast, chúng tôi thấy rằng gói này đã được gắn dấu sao 217 lần Đây là phiên bản đã được phân tích của unparse được tìm thấy trong bản phân phối nguồn Python; Ví dụ cơ bản import inspect import ast import astunparse # get back the source code astunparse.unparse(ast.parse(inspect.getsource(ast))) # get a pretty-printed dump of the AST astunparse.dump(ast.parse(inspect.getsource(ast))) Thư viện này tương thích với nguồn đơn với Python 2. 6 đến Python 3. 5. Nó được tác giả bởi các nhà phát triển lõi Python; . 7 và Python 3. 5 bộ nguồn và bộ thử nghiệm, đồng thời thêm trình bao bọc. Bao thanh toán này là để cung cấp triển khai thư viện hỗ trợ cả hai phiên bản Thêm vào đây là một chức năng tiện ích kết xuất bản in đẹp Bộ thử nghiệm vừa chạy các thử nghiệm cụ thể vừa chạy vòng quanh phần lớn thư viện chuẩn Tiện ích mở rộng và lựa chọn thay thếCác dự án tương tự bao gồm Không cái nào trong số này làm tròn phần lớn thư viện chuẩn và không đạt một số bài kiểm tra cơ bản trong bộ kiểm tra test_unparse Thư viện này sử dụng mã duy trì cốt lõi và trưởng thành thay vì cố gắng vá các thư viện hiện có. Các mô-đun unparse và test_unparse thuộc giấy phép PSF tiện ích mở rộng bao gồm
Đặc trưng
Nhật ký thay đổiĐây là những thay đổi gần đây đối với AST Unparser 1. 6. 3 - 2019-12-22
1. 6. 2 - 2019-01-19
1. 6. 1 - 2018-10-03
1. 6. 0 - 2018-09-301. 5. 0 - 2017-02-05
1. 4. 0 - 2016-06-24
1. 3. 0 - 2016-01-171. 2. 0 - 2014-04-03
1. 1. 0 - 2014-04-01
|