Thư viện in Python

Bạn đã bao giờ sử dụng

from icecream import ic

def foo(i):
    return i + 333

ic(foo(123))
4 hoặc
from icecream import ic

def foo(i):
    return i + 333

ic(foo(123))
5 để gỡ lỗi mã của mình chưa? . IceCream, hay viết tắt là
from icecream import ic

def foo(i):
    return i + 333

ic(foo(123))
6, làm cho việc gỡ lỗi bản in dễ dàng hơn một chút

from icecream import ic

def foo(i):
    return i + 333

ic(foo(123))
7 giống như
from icecream import ic

def foo(i):
    return i + 333

ic(foo(123))
4, nhưng tốt hơn

  1. Nó in cả biểu thức/tên biến và giá trị của chúng
  2. Nhập nhanh hơn 60%
  3. Cấu trúc dữ liệu được in đẹp
  4. Đầu ra được đánh dấu cú pháp
  5. Nó tùy chọn bao gồm bối cảnh chương trình. tên tệp, số dòng và hàm cha

IceCream đã được thử nghiệm kỹ càng, được cấp phép hợp pháp và hỗ trợ Python 2, Python 3, PyPy2 và PyPy3

Kiểm tra các biến

Bạn đã bao giờ in các biến hoặc biểu thức để gỡ lỗi chương trình của mình chưa?

print(foo('123'))

hoặc kỹ lưỡng hơn

print("foo('123')", foo('123'))

sau đó

from icecream import ic

def foo(i):
    return i + 333

ic(foo(123))
7 sẽ nở một nụ cười trên khuôn mặt của bạn. Với các đối số,
from icecream import ic

def foo(i):
    return i + 333

ic(foo(123))
7 tự kiểm tra và in cả đối số của chính nó và giá trị của các đối số đó

from icecream import ic

def foo(i):
    return i + 333

ic(foo(123))

bản in

from icecream import ic

def foo(i):
    return i + 333

ic(foo(123))
0

Tương tự,

from icecream import ic

def foo(i):
    return i + 333

ic(foo(123))
1

bản in

from icecream import ic

def foo(i):
    return i + 333

ic(foo(123))
2

Chỉ cần cung cấp cho

from icecream import ic

def foo(i):
    return i + 333

ic(foo(123))
7 một biến hoặc biểu thức và bạn đã hoàn tất. Dễ dàng

Kiểm tra việc thực hiện

Bạn đã bao giờ sử dụng

from icecream import ic

def foo(i):
    return i + 333

ic(foo(123))
4 để xác định phần nào trong chương trình của bạn được thực thi và chúng được thực hiện theo thứ tự nào chưa?

from icecream import ic

def foo(i):
    return i + 333

ic(foo(123))
5

thì

from icecream import ic

def foo(i):
    return i + 333

ic(foo(123))
7 cũng giúp ở đây. Không có đối số,
from icecream import ic

def foo(i):
    return i + 333

ic(foo(123))
7 tự kiểm tra và in tên tệp đang gọi, số dòng và hàm cha

from icecream import ic

def foo(i):
    return i + 333

ic(foo(123))
8

bản in

from icecream import ic

def foo(i):
    return i + 333

ic(foo(123))
9

Chỉ cần gọi cho

from icecream import ic

def foo(i):
    return i + 333

ic(foo(123))
7 và bạn đã hoàn tất. Giản dị

Giá trị trả về

from icecream import ic

def foo(i):
    return i + 333

ic(foo(123))
7 trả về (các) đối số của nó, vì vậy có thể dễ dàng chèn
from icecream import ic

def foo(i):
    return i + 333

ic(foo(123))
7 vào mã có sẵn

from icecream import ic

def foo(i):
    return i + 333

ic(foo(123))
3

Điều khoản khác

from icecream import ic

def foo(i):
    return i + 333

ic(foo(123))
08 giống như
from icecream import ic

def foo(i):
    return i + 333

ic(foo(123))
7 nhưng đầu ra được trả về dưới dạng chuỗi thay vì được ghi vào thiết bị lỗi chuẩn

print("foo('123')", foo('123'))
0

Ngoài ra, đầu ra của

from icecream import ic

def foo(i):
    return i + 333

ic(foo(123))
7 có thể bị vô hiệu hóa hoàn toàn và sau đó được bật lại, với
from icecream import ic

def foo(i):
    return i + 333

ic(foo(123))
11 và
from icecream import ic

def foo(i):
    return i + 333

ic(foo(123))
12 tương ứng

print("foo('123')", foo('123'))
1

bản in

print("foo('123')", foo('123'))
2

Tất nhiên,

from icecream import ic

def foo(i):
    return i + 333

ic(foo(123))
7 tiếp tục trả về các đối số của nó khi bị vô hiệu hóa;

thủ thuật nhập khẩu

Để làm cho

from icecream import ic

def foo(i):
    return i + 333

ic(foo(123))
7 có sẵn trong mọi tệp mà không cần nhập vào mọi tệp, bạn có thể
from icecream import ic

def foo(i):
    return i + 333

ic(foo(123))
16 nó. Ví dụ, trong thư mục gốc
from icecream import ic

def foo(i):
    return i + 333

ic(foo(123))
17

print("foo('123')", foo('123'))
3

và sau đó trong

from icecream import ic

def foo(i):
    return i + 333

ic(foo(123))
18, được nhập bởi
from icecream import ic

def foo(i):
    return i + 333

ic(foo(123))
17, chỉ cần gọi
from icecream import ic

def foo(i):
    return i + 333

ic(foo(123))
7

print("foo('123')", foo('123'))
4

from icecream import ic

def foo(i):
    return i + 333

ic(foo(123))
16 thêm
from icecream import ic

def foo(i):
    return i + 333

ic(foo(123))
7 vào mô-đun nội trang, được chia sẻ giữa tất cả các tệp được trình thông dịch nhập. Tương tự,
from icecream import ic

def foo(i):
    return i + 333

ic(foo(123))
7 sau này cũng có thể là
from icecream import ic

def foo(i):
    return i + 333

ic(foo(123))
24ed

from icecream import ic

def foo(i):
    return i + 333

ic(foo(123))
7 cũng có thể được nhập theo cách không thành công nếu IceCream không được cài đặt, như trong môi trường sản xuất (i. e. không phát triển). Cuối cùng, đoạn mã nhập dự phòng này có thể hữu ích

print("foo('123')", foo('123'))
5

Cấu hình

from icecream import ic

def foo(i):
    return i + 333

ic(foo(123))
26 điều khiển đầu ra của
from icecream import ic

def foo(i):
    return i + 333

ic(foo(123))
7

from icecream import ic

def foo(i):
    return i + 333

ic(foo(123))
28, nếu được cung cấp, sử dụng tiền tố đầu ra tùy chỉnh.
from icecream import ic

def foo(i):
    return i + 333

ic(foo(123))
28 có thể là một chuỗi, như

print("foo('123')", foo('123'))
6

hoặc một chức năng

print("foo('123')", foo('123'))
7

Giá trị mặc định của

from icecream import ic

def foo(i):
    return i + 333

ic(foo(123))
28 là
from icecream import ic

def foo(i):
    return i + 333

ic(foo(123))
51

from icecream import ic

def foo(i):
    return i + 333

ic(foo(123))
52, nếu được cung cấp, được gọi một lần cho mỗi cuộc gọi
from icecream import ic

def foo(i):
    return i + 333

ic(foo(123))
7 với đầu ra của
from icecream import ic

def foo(i):
    return i + 333

ic(foo(123))
7, dưới dạng một chuỗi, thay vì chuỗi đó được ghi vào thiết bị lỗi chuẩn (mặc định)

print("foo('123')", foo('123'))
8

from icecream import ic

def foo(i):
    return i + 333

ic(foo(123))
55, nếu được cung cấp, được gọi với các giá trị đối số được sắp xếp theo thứ tự thành các chuỗi có thể hiển thị. Mặc định là PrettyPrint's , nhưng điều này có thể được thay đổi thành, ví dụ, xử lý các kiểu dữ liệu không chuẩn theo kiểu tùy chỉnh

print("foo('123')", foo('123'))
9

from icecream import ic

def foo(i):
    return i + 333

ic(foo(123))
55 mặc định là
from icecream import ic

def foo(i):
    return i + 333

ic(foo(123))
57 và có các phương thức để gửi các hàm
from icecream import ic

def foo(i):
    return i + 333

ic(foo(123))
58 và
from icecream import ic

def foo(i):
    return i + 333

ic(foo(123))
59 cho các lớp cụ thể bằng cách sử dụng
from icecream import ic

def foo(i):
    return i + 333

ic(foo(123))
80. Nó cũng có thuộc tính
from icecream import ic

def foo(i):
    return i + 333

ic(foo(123))
81 để xem các chức năng đã đăng ký

from icecream import ic

def foo(i):
    return i + 333

ic(foo(123))
0

from icecream import ic

def foo(i):
    return i + 333

ic(foo(123))
82, nếu được cung cấp và True, thêm tên tệp, số dòng và hàm cha của cuộc gọi
from icecream import ic

def foo(i):
    return i + 333

ic(foo(123))
7 vào đầu ra của
from icecream import ic

def foo(i):
    return i + 333

ic(foo(123))
7

from icecream import ic

def foo(i):
    return i + 333

ic(foo(123))
1

from icecream import ic

def foo(i):
    return i + 333

ic(foo(123))
82 là Sai theo mặc định

from icecream import ic

def foo(i):
    return i + 333

ic(foo(123))
86, nếu được cung cấp và True, xuất ra đường dẫn tệp tuyệt đối, như
from icecream import ic

def foo(i):
    return i + 333

ic(foo(123))
87, chỉ trên tên tệp, như
from icecream import ic

def foo(i):
    return i + 333

ic(foo(123))
88, khi
from icecream import ic

def foo(i):
    return i + 333

ic(foo(123))
7 được gọi với
from icecream import ic

def foo(i):
    return i + 333

ic(foo(123))
90. Điều này hữu ích khi gỡ lỗi nhiều tệp chia sẻ (các) tên tệp giống nhau. Ngoài ra, một số trình chỉnh sửa, như VSCode, biến các đường dẫn tệp tuyệt đối thành các liên kết có thể nhấp để mở tệp mà
from icecream import ic

def foo(i):
    return i + 333

ic(foo(123))
7 được gọi

from icecream import ic

def foo(i):
    return i + 333

ic(foo(123))
2

from icecream import ic

def foo(i):
    return i + 333

ic(foo(123))
86 là Sai theo mặc định

Cài đặt

Cài đặt IceCream với pip thật dễ dàng

from icecream import ic

def foo(i):
    return i + 333

ic(foo(123))
3

Thư viện Python liên quan

from icecream import ic

def foo(i):
    return i + 333

ic(foo(123))
7 sử dụng
from icecream import ic

def foo(i):
    return i + 333

ic(foo(123))
94 của @alexmojaki để xác định vị trí các cuộc gọi
from icecream import ic

def foo(i):
    return i + 333

ic(foo(123))
7 một cách đáng tin cậy trong nguồn Python. Đó là ma thuật

Kem bằng các ngôn ngữ khác

Kem ngon nên được thưởng thức bằng mọi ngôn ngữ

  • phi tiêu. kem
  • rỉ sét. kem-rs
  • Nút. js. nút-icecream
  • C++. Kem-Cpp
  • C99. kem-c
  • PHP. kem-php
  • Đi. đi ăn kem
  • hồng ngọc. kem gạo
  • Java. kem-java
  • R. kem
  • Lúa. kem-lua
  • Clojure(Kịch bản). kem-cljc
  • Bash. IceCream-Bash

Nếu bạn muốn một hàm

from icecream import ic

def foo(i):
    return i + 333

ic(foo(123))
7 tương tự bằng ngôn ngữ yêu thích của mình, vui lòng mở yêu cầu kéo. Mục tiêu của IceCream là cải thiện việc gỡ lỗi bản in bằng chức năng
from icecream import ic

def foo(i):
    return i + 333

ic(foo(123))
7 tiện dụng ở mọi ngôn ngữ

Thư viện Python nào được in?

Chức năng in xuất phát từ mô-đun nội trang .

Hàm print() trong Python là gì?

Hàm print() in thông báo đã chỉ định ra màn hình hoặc thiết bị đầu ra tiêu chuẩn khác . Thông báo có thể là một chuỗi, hoặc bất kỳ đối tượng nào khác, đối tượng sẽ được chuyển thành chuỗi trước khi ghi ra màn hình.

Hàm print() có được tích hợp sẵn trong Python không?

hàm in() . Thông báo muốn in có thể là một chuỗi hoặc bất kỳ đối tượng nào khác. Hàm này chuyển đối tượng thành chuỗi trước khi ghi ra màn hình. The print() function prints the specified message to the screen or another standard output device. The message that wants to print can be a string or any other object. This function converts the object into a string before written to the screen.
Câu lệnh in đã biến mất trong Python 3 ; .