Hướng dẫn dùng base math python
Nhật ký Python (x, cơ sở) hàm được sử dụng để tính toán lôgarit tự nhiên (căn e). Nếu 2 đối số được truyền, nó sẽ tính logarit của cơ số mong muốn của đối số a, giá trị số của log (a) / log (Cơ sở). Show
Nội dung chính
Nhật ký Python (x, cơ sở)Nhật ký Python (x, cơ sở) là một hàm tích hợp được sử dụng để lấy hàm lôgarit cần thiết. Hàm log () được sử dụng để lấy nhật ký x của một cơ sở cụ thể. Thật không may, hàm log () nằm trong thư viện toán học, vì vậy chúng ta cần nhập thư viện toán học để sử dụng hàm log (). Cú phápmath.log(num, Base) Tranh luậnHàm này có hai đối số: num -> nhật ký mà chúng tôi muốn tìm Cơ sở -> chúng ta muốn tìm nhật ký bằng cơ sở nào Giá trị trả lạiHàm này có thể trả về hai loại giá trị:
Nhưng hàm log (x, base) ném ra một ngoại lệ ValueError nếu bất kỳ giá trị nào được truyền dưới dạng đối số. Thí dụXem đoạn mã sau. # Importing math library import math # initializing values num = 15 base = 5 print("Natural log of ", num, " is: ", math.log(num)) print("The logarithm of ", num, " of the base ", base, " is: ", math.log(num, base)) Đầu raNatural log of 15 is: 2.70805020110221 The logarithm of 15 of the base 5 is: 1.6826061944859854 Trong chương trình này, chúng tôi khởi tạo giá trị, sau đó tính logarit tự nhiên của một số và ở dòng tiếp theo, chúng ta tính logarit của cơ số 5. Ví dụ 2Xem đoạn mã sau. # Importing math library import math # By taking input from user num = int(input("Enter the number: ")) base = int(input("Enter the base: ")) print("Natural log of ", num, " is: ", math.log(num)) print("Logarithm of base ", base, " of the number ", num, " is: ", math.log(num, base)) Đầu raEnter the number: 12 Enter the vase: 8 Natural log of 12 is: 2.4849066497880004 Logarithm of base 8 of the number 12 is: 1.1949875002403856 Trong chương trình này, chúng tôi đã lấy dữ liệu đầu vào từ người dùng, sau đó tính logarit tự nhiên của một số và ở dòng tiếp theo, chúng ta tính logarit của cơ số 8. Sự kết luậnPython cung cấp nhiều hàm logarit tích hợp trong mô-đun math, cho phép chúng tôi tính toán nhật ký bằng cách sử dụng một dòng duy nhất. Trong mô-đun toán học, hai vị trí để tính toán các giá trị lôgarit được xác định. Hàm log () trả về logarit tự nhiên của một số, trong khi log10 () tính logarit chuẩn, tức là, với cơ số 10. Python exp ()Trunc Python () (adsbygoogle = window.adsbygoogle || []).push({}); Giá trị tuyệt đối trong PythonPython fabs ()Python expm1 ()Nhật ký Python (x, cơ sở) hàm được sử dụng để tính toán lôgarit tự nhiên (căn e). Nếu 2 đối số được truyền, nó sẽ tính logarit của cơ số mong muốn của đối số a, giá trị số của log (a) / log (Cơ sở). Nhật ký Python (x, cơ sở) là một hàm tích hợp được sử dụng để lấy hàm lôgarit cần thiết. Hàm log () được sử dụng để lấy nhật ký x của một cơ sở cụ thể. Thật không may, hàm log () nằm trong thư viện toán học, vì vậy chúng ta cần nhập thư viện toán học để sử dụng hàm log (). Nhưng hàm log (x, base) ném ra một ngoại lệ ValueError nếu bất kỳ giá trị nào được truyền dưới dạng đối số. Xem đoạn mã sau. Trong chương trình này, chúng tôi khởi tạo giá trị, sau đó tính logarit tự nhiên của một số và ở dòng tiếp theo, chúng ta tính logarit của cơ số 5. Xem đoạn mã sau. Trong chương trình này, chúng tôi đã lấy dữ liệu đầu vào từ người dùng, sau đó tính logarit tự nhiên của một số và ở dòng tiếp theo, chúng ta tính logarit của cơ số 8. Python cung cấp nhiều hàm logarit tích hợp trong mô-đun math, cho phép chúng tôi tính toán nhật ký bằng cách sử dụng một dòng duy nhất. Trong mô-đun toán học, hai vị trí để tính toán các giá trị lôgarit được xác định. Hàm log () trả về logarit tự nhiên của một số, trong khi log10 () tính logarit chuẩn, tức là, với cơ số 10.
Thói quen của mình và có lẽ cũng là thói quen của nhiều người lúc mới học Python cũng như khi viết những script nhỏ để lấy thông tin chương trình lúc runtime đó là sử dụng
Tuy nhiên
khi chương trình lớn dần lên, một vấn đề khá đau đầu nảy sinh đó là thông tin được print ra khá điên loạn, không được phân loại, mất thời gian xác định cũng như giảm hiệu suất của chương trình. Hàm print mặc định sẽ xuất nội dung ra Giải pháp mình muốn giới thiệu trong bài viết này đó là sử dụng module logging. Đây là module tiêu chuẩn (được pack kèm bộ cài mặc định) do cộng đồng Python phát triển, dễ dàng sử dụng và cực kỳ linh hoạt. Logging cung cấp cho lập trình viên những tiện ích như:
Lập trình viên có thể chọn các mức sau khi viết nội dung log, các mức được liệt kê có độ nghiêm trọng lớn dần:
Sử dụng module logging cơ bảnVí dụ đơn giản nhất khi sử dụng logging:
Mặc định, mức thông báo sẽ được đặt ở mức
Bạn cũng có thể log ra file:
Nội dung được in ra sẽ tương tự khi bạn in ra console:
Cần chú ý là
nội dung log mới sẽ ghi nối tiếp vào cùng 1 file với nội dung log cũ (lần chạy trước đó), trong trường hợp nội dung cũ không còn quan trọng nữa, có thể setup để logging luôn tạo log mới bằng cách chỉnh chế độ
Một ví dụ phức tạp hơn về việc dùng hỗn hợp các log với mức độ khác nhau:
Log ra nhiều nguồn cùng lúcViệc sử dụng logger cơ bản chỉ cho phép chúng ta in log ra một nguồn tại một thời điểm, trong ví
dụ trên, khi đặt
Đoạn code trên sẽ tạo file log và in nội dung log vào file đó tương tự như việc bổ xung config
Ngoài In nội dung biếnĐể in nội dung biến, bạn chỉ cần đưa chuỗi format vào sau đó truyền các biến tương ứng với format trong đối số. Xem ví dụ sau để hiểu rõ hơn.
Chú ý là bạn không cần format chuỗi trước khi truyền vào hàm Format nội dung và thêm các thông tin chi tiết về logLogging cho phép thêm các thông tin chi tiết hơn về chương trình khi gọi log như: Vị trí gọi log (dòng code), tên module gọi log, file đang chạy ... Một config đầy đủ có thể như sau:
Thông tin in ra sẽ như sau:
Việc phân loại chi tiết như trên rất hữu ích khi bạn phải phân tích các file log dài, khi đó bạn có thể dùng các chương trình soạn thảo code để filter hoặc search các thông tin tương ứng một cách nhanh chóng. Logging trong exception (in thông tin Traceback)Việc ghi log ra khi có exception là rất cần thiết, tuy nhiên ghi log ra mà không có thông tin chi tiết về exception đó thì không có ý nghĩa lắm. Để bổ xung thông tin khi bắt được exception chúng ta chỉ cần thêm config
Thông tin in ra:
Bạn cũng có thể gọi Sử dụng logging trong nhiều modulechi tiết Nếu phần mềm của bạn có nhiều modules thì đây là một cách đơn giản để setup hệ thống logging xuyên suốt cả phần mềm:
Trong module:
Kết quả:
Kết hợp với việc format nội dung logging như đã nêu trước đó, bạn có thể in ra thông tin log được gọi từ module nào. Trên đây là khái quát một số ví dụ đơn giản sử dụng logging, bạn có thể khám phá thêm một số tính năng phức tạp hơn của logging ở: advanced logging tutorial Tham khảo:
Cover image: opensourcehacker.com |