Một thể hiện Phân số có thể được xây dựng từ một cặp số nguyên, từ một số hữu tỷ khác hoặc từ một chuỗi lớp phân số. Phân số(tử số=0 , mẫu số=1)lớp phân số. Phân số(other_fraction)lớp phân số. Phân số(phao)lớp phân số. Phân số(thập phân)lớp phân số. Phân số(chuỗi)Phiên bản đầu tiên yêu cầu tử số và mẫu số là các thể hiện của và trả về một thể hiện mới có giá trị >>> from fractions import Fraction >>> Fraction(16, -10) Fraction(-8, 5) >>> Fraction(123) Fraction(123, 1) >>> Fraction() Fraction(0, 1) >>> Fraction('3/7') Fraction(3, 7) >>> Fraction(' -3/7 ') Fraction(-3, 7) >>> Fraction('1.414213 \t\n') Fraction(1414213, 1000000) >>> Fraction('-.125') Fraction(-1, 8) >>> Fraction('7e-6') Fraction(7, 1000000) >>> Fraction(2.25) Fraction(9, 4) >>> Fraction(1.1) Fraction(2476979795053773, 2251799813685248) >>> from decimal import Decimal >>> Fraction(Decimal('1.1')) Fraction(11, 10)0, nó sẽ tăng một. Phiên bản thứ hai yêu cầu other_fraction là một phiên bản và trả về một phiên bản có cùng giá trị. Hai phiên bản tiếp theo chấp nhận một hoặc một phiên bản và trả về một phiên bản có cùng giá trị. Lưu ý rằng do các vấn đề thông thường với dấu phẩy động nhị phân (xem ), đối số của >>> from fractions import Fraction >>> Fraction(16, -10) Fraction(-8, 5) >>> Fraction(123) Fraction(123, 1) >>> Fraction() Fraction(0, 1) >>> Fraction('3/7') Fraction(3, 7) >>> Fraction(' -3/7 ') Fraction(-3, 7) >>> Fraction('1.414213 \t\n') Fraction(1414213, 1000000) >>> Fraction('-.125') Fraction(-1, 8) >>> Fraction('7e-6') Fraction(7, 1000000) >>> Fraction(2.25) Fraction(9, 4) >>> Fraction(1.1) Fraction(2476979795053773, 2251799813685248) >>> from decimal import Decimal >>> Fraction(Decimal('1.1')) Fraction(11, 10)7 không chính xác bằng 11/10 và do đó, >>> from fractions import Fraction >>> Fraction(16, -10) Fraction(-8, 5) >>> Fraction(123) Fraction(123, 1) >>> Fraction() Fraction(0, 1) >>> Fraction('3/7') Fraction(3, 7) >>> Fraction(' -3/7 ') Fraction(-3, 7) >>> Fraction('1.414213 \t\n') Fraction(1414213, 1000000) >>> Fraction('-.125') Fraction(-1, 8) >>> Fraction('7e-6') Fraction(7, 1000000) >>> Fraction(2.25) Fraction(9, 4) >>> Fraction(1.1) Fraction(2476979795053773, 2251799813685248) >>> from decimal import Decimal >>> Fraction(Decimal('1.1')) Fraction(11, 10)7 không trả về >>> from fractions import Fraction >>> Fraction(16, -10) Fraction(-8, 5) >>> Fraction(123) Fraction(123, 1) >>> Fraction() Fraction(0, 1) >>> Fraction('3/7') Fraction(3, 7) >>> Fraction(' -3/7 ') Fraction(-3, 7) >>> Fraction('1.414213 \t\n') Fraction(1414213, 1000000) >>> Fraction('-.125') Fraction(-1, 8) >>> Fraction('7e-6') Fraction(7, 1000000) >>> Fraction(2.25) Fraction(9, 4) >>> Fraction(1.1) Fraction(2476979795053773, 2251799813685248) >>> from decimal import Decimal >>> Fraction(Decimal('1.1')) Fraction(11, 10)9 như người ta có thể mong đợi. (Nhưng hãy xem tài liệu về phương pháp bên dưới. ) Phiên bản cuối cùng của hàm tạo mong đợi một phiên bản chuỗi hoặc unicode. Hình thức thông thường cho trường hợp này là [sign] numerator ['/' denominator] trong đó tùy chọn >>> from fractions import Fraction >>> Fraction('3.1415926535897932').limit_denominator(1000) Fraction(355, 113)1 có thể là '+' hoặc '-' và >>> from fractions import Fraction >>> Fraction('3.1415926535897932').limit_denominator(1000) Fraction(355, 113)2 và >>> from fractions import Fraction >>> Fraction('3.1415926535897932').limit_denominator(1000) Fraction(355, 113)3 (nếu có) là chuỗi các chữ số thập phân (có thể sử dụng dấu gạch dưới để phân định các chữ số như với các ký tự nguyên trong mã). Ngoài ra, bất kỳ chuỗi nào đại diện cho một giá trị hữu hạn và được chấp nhận bởi hàm tạo cũng được chấp nhận bởi hàm tạo. Ở cả hai dạng, chuỗi đầu vào cũng có thể có khoảng trắng ở đầu và/hoặc ở cuối. Dưới đây là một số ví dụ >>> from fractions import Fraction >>> Fraction(16, -10) Fraction(-8, 5) >>> Fraction(123) Fraction(123, 1) >>> Fraction() Fraction(0, 1) >>> Fraction('3/7') Fraction(3, 7) >>> Fraction(' -3/7 ') Fraction(-3, 7) >>> Fraction('1.414213 \t\n') Fraction(1414213, 1000000) >>> Fraction('-.125') Fraction(-1, 8) >>> Fraction('7e-6') Fraction(7, 1000000) >>> Fraction(2.25) Fraction(9, 4) >>> Fraction(1.1) Fraction(2476979795053773, 2251799813685248) >>> from decimal import Decimal >>> Fraction(Decimal('1.1')) Fraction(11, 10) Lớp kế thừa từ lớp cơ sở trừu tượng và thực hiện tất cả các phương thức và hoạt động từ lớp đó. các trường hợp có thể băm được và nên được coi là bất biến. Ngoài ra, có các thuộc tính và phương thức sau Đã thay đổi trong phiên bản 3. 2. Hàm khởi tạo hiện chấp nhận và thể hiện. Đã thay đổi trong phiên bản 3. 9. Hàm này hiện được dùng để chuẩn hóa tử số và mẫu số. luôn trả về một loại. Trước đây, loại GCD phụ thuộc vào tử số và mẫu số. Đã thay đổi trong phiên bản 3. 11. Dấu gạch dưới hiện được phép khi tạo một phiên bản từ một chuỗi, tuân theo các quy tắc PEP 515. Đã thay đổi trong phiên bản 3. 11. thực hiện >>> from math import pi, cos >>> Fraction(cos(pi/3)) Fraction(4503599627370497, 9007199254740992) >>> Fraction(cos(pi/3)).limit_denominator() Fraction(1, 2) >>> Fraction(1.1).limit_denominator() Fraction(11, 10)8 ngay bây giờ để đáp ứng kiểm tra phiên bản >>> from math import pi, cos >>> Fraction(cos(pi/3)) Fraction(4503599627370497, 9007199254740992) >>> Fraction(cos(pi/3)).limit_denominator() Fraction(1, 2) >>> Fraction(1.1).limit_denominator() Fraction(11, 10)9. tử số Tử số của Phân số ở số hạng bé nhất mẫu sốMẫu số của Phân số ở số hạng bé nhất as_integer_ratio()Trả về một bộ gồm hai số nguyên, có tỷ lệ bằng Phân số và có mẫu số dương Mới trong phiên bản 3. 8 classmethod from_float(flt)Hàm tạo thay thế chỉ chấp nhận các thể hiện của hoặc. Lưu ý rằng >>> from math import floor >>> floor(Fraction(355, 113)) 32 không cùng giá trị với >>> from math import floor >>> floor(Fraction(355, 113)) 33 Ghi chú Từ Python 3. 2 trở đi, bạn cũng có thể xây dựng một thể hiện trực tiếp từ một phương pháp phân lớp from_decimal(dec)Hàm tạo thay thế chỉ chấp nhận các thể hiện của hoặc Ghi chú Từ Python 3. 2 trở đi, bạn cũng có thể xây dựng một phiên bản trực tiếp từ một phiên bản limit_denominator(max_denominator=1000000)Tìm và trả về giá trị gần nhất với >>> from fractions import Fraction >>> Fraction('3.1415926535897932').limit_denominator(1000) Fraction(355, 113) hoặc để khôi phục một số hữu tỷ được biểu thị dưới dạng số float >>> from math import pi, cos >>> Fraction(cos(pi/3)) Fraction(4503599627370497, 9007199254740992) >>> Fraction(cos(pi/3)).limit_denominator() Fraction(1, 2) >>> Fraction(1.1).limit_denominator() Fraction(11, 10)__floor__() Trả về giá trị lớn nhất >>> from math import floor >>> floor(Fraction(355, 113)) 3__ceil__() Trả về ít nhất Phiên bản đầu tiên trả về giá trị gần nhất với |