Có một toán tử lũy thừa tích hợp **, có thể lấy số nguyên, dấu phẩy động hoặc số phức. Điều này chiếm vị trí thích hợp của nó theo thứ tự hoạt động Show Phân chia tầng và Phân chia thực sự[sửa | sửa mã nguồn]. sửa nguồn]Trong Trăn 3. x, toán tử dấu gạch chéo ("/") thực hiện phép chia đúng cho tất cả các loại kể cả số nguyên và do đó, e. g. >>> print(0.6/0.2) 3.0 >>> print(0.6//0.2) 2.06[1][2]. Kết quả là loại dấu phẩy động ngay cả khi cả hai đầu vào là số nguyên. 4/2 sinh 2. 0 Trong Trăn 3. x và 2 mới nhất. x, phép chia sàn cho cả đối số số nguyên và đối số dấu phẩy động được thực hiện bằng cách sử dụng toán tử dấu gạch chéo kép ("//"). Đối với kết quả âm, điều này không giống phép chia số nguyên trong ngôn ngữ C vì -3 // 2 == -2 trong Python trong khi -3/2 == -1 trong C. C làm tròn kết quả âm về 0 trong khi Python về vô cực âm Xin lưu ý rằng do những hạn chế của số học dấu phẩy động, lỗi làm tròn có thể gây ra kết quả không mong muốn. Ví dụ >>> print(0.6/0.2) 3.0 >>> print(0.6//0.2) 2.0 Đối với Trăn 2. x, chia hai số nguyên hoặc số dài bằng toán tử dấu gạch chéo ("/") sử dụng phép chia sàn (áp dụng hàm sàn sau khi chia) và cho kết quả là số nguyên hoặc số dài. Do đó, 5/2 == 2 và -3/2 == -2. Sử dụng "/" để thực hiện phép chia theo cách này không được dùng nữa; . 2 trở lên). Chia cho hoặc thành một số dấu phẩy động sẽ khiến Python sử dụng phép chia thực. Do đó, để đảm bảo phân chia thực sự trong Python 2. x. >>> print(0.6/0.2) 3.0 >>> print(0.6//0.2) 2.00 liên kết Có thể tìm thấy mô đun (phần dư của phép chia hai toán hạng, thay vì thương số) bằng cách sử dụng toán tử % hoặc bằng hàm dựng sẵn divmod. Hàm divmod trả về một bộ chứa thương và số dư Lưu ý rằng -10 % 7 bằng 4 trong khi bằng -3 trong ngôn ngữ C. Python tính phần còn lại là một sau khi chia sàn trong khi ngôn ngữ C tính phần còn lại sau khi chia số nguyên C, khác với phép chia sàn của Python trên số nguyên. Phép chia số nguyên trong C làm tròn kết quả âm về 0 liên kết Không giống như một số ngôn ngữ khác, các biến có thể được phủ định trực tiếp OperationMeansSố, chuỗi và các loại khác có thể được so sánh về đẳng thức/bất đẳng thức và thứ tự >>> 2 == 3 False >>> 3 == 3 True >>> 3 == '3' False >>> 2 < 3 True >>> "a" < "aa" True Các toán tử >>> print(0.6/0.2) 3.0 >>> print(0.6//0.2) 2.01 và >>> print(0.6/0.2) 3.0 >>> print(0.6//0.2) 2.02 kiểm tra danh tính đối tượng và tương phản với == (bằng). >>> print(0.6/0.2) 3.0 >>> print(0.6//0.2) 2.03 đúng khi và chỉ khi x và y là tham chiếu đến cùng một đối tượng trong bộ nhớ. >>> print(0.6/0.2) 3.0 >>> print(0.6//0.2) 2.04 mang lại giá trị chân lý nghịch đảo. Lưu ý rằng kiểm tra danh tính nghiêm ngặt hơn kiểm tra đẳng thức vì hai đối tượng riêng biệt có thể có cùng giá trị >>> [1,2,3] == [1,2,3] True >>> [1,2,3] is [1,2,3] False Đối với các kiểu dữ liệu bất biến được tích hợp sẵn (như int, str và tuple), Python sử dụng các cơ chế lưu vào bộ nhớ đệm để cải thiện hiệu suất, tôi. e. , trình thông dịch có thể quyết định sử dụng lại một đối tượng bất biến hiện có thay vì tạo một đối tượng mới có cùng giá trị. Các chi tiết của bộ nhớ đệm đối tượng có thể thay đổi giữa các phiên bản Python khác nhau và không được đảm bảo độc lập với hệ thống, do đó, kiểm tra danh tính trên các đối tượng không thay đổi như >>> print(0.6/0.2) 3.0 >>> print(0.6//0.2) 2.05, >>> print(0.6/0.2) 3.0 >>> print(0.6//0.2) 2.06, >>> print(0.6/0.2) 3.0 >>> print(0.6//0.2) 2.07 có thể cho kết quả khác nhau trên các máy khác nhau Trong một số triển khai Python, các kết quả sau đây được áp dụng >>> print(0.6/0.2) 3.0 >>> print(0.6//0.2) 2.01 liên kết Có cách viết tắt để gán đầu ra của một hoạt động cho một trong các đầu vào >>> print(0.6/0.2) 3.0 >>> print(0.6//0.2) 2.02 Các toán tử logic là các toán tử hành động trên các phép toán logic Toán tử hoặc trả về true nếu bất kỳ phép toán luận nào liên quan là đúng. Nếu không có cái nào đúng (nói cách khác, tất cả chúng đều sai), toán tử or trả về false >>> print(0.6/0.2) 3.0 >>> print(0.6//0.2) 2.03 Toán tử and chỉ trả về true nếu tất cả các phép toán luận đều đúng. Nếu bất kỳ một trong số chúng là sai, toán tử and trả về false >>> print(0.6/0.2) 3.0 >>> print(0.6//0.2) 2.04 Toán tử not chỉ hoạt động trên một giá trị boolean và chỉ cần trả về giá trị ngược lại của nó. Vì vậy, đúng biến thành sai và sai thành đúng >>> print(0.6/0.2) 3.0 >>> print(0.6//0.2) 2.05 Thứ tự các thao tác ở đây là. không phải thứ nhất, thứ hai hay thứ ba. Đặc biệt, "Đúng hoặc Đúng và Sai hoặc Sai" trở thành "Đúng hoặc Sai hoặc Sai" là Đúng Cảnh báo, toán tử logic có thể hành động trên những thứ khác ngoài booleans. Chẳng hạn "1 và 6" sẽ trả về 6. Cụ thể, "và" trả về giá trị đầu tiên được coi là sai hoặc giá trị cuối cùng nếu tất cả đều được coi là đúng. "hoặc" trả về giá trị thực đầu tiên hoặc giá trị cuối cùng nếu tất cả được coi là sai Python operators for bitwise arithmetic are like those in the C language. They include & (bitwise and), | (bitwise or), ^ (exclusive or AKA xor), << (shift left), >> (shift right), and ~ (complement). Augmented assignment operators (AKA compound assignment operators) for the bitwise operations include &=, |=, ^=, <<=, and >>=. Bitwise operators apply to integers, even negative ones and very large ones; for the shift operators, the second operand must be non-negative. In the Python internal help, this is covered under the topics of EXPRESSIONS and BITWISE. ví dụ
Ví dụ về toán tử gán tăng cường
Class definitions can overload the operators for the instances of the class; thus, for instance, sets overload the pipe (|) operator to mean set union: {1,2} | {3,4} == {1,2,3,4}. The names of the override methods are __and__ for &, __or__ for |, __xor__ for ^, __invert__ for ~, __lshift__ for <<, __rshift__ for >>, __iand__ for &=, __ior_ for |=, __ixor__ for ^=, __ilshift__ for <<=, and __irshift__ for >>=. Ví dụ về việc sử dụng các hoạt động bitwise bao gồm tính toán CRC và MD5. Phải thừa nhận rằng những điều này thường sẽ được triển khai bằng C thay vì Python để có tốc độ tối đa; . Tuy nhiên, việc triển khai trong Python là có thể và được hiển thị trong các liên kết đến Mã Rosetta bên dưới Phép chia float trong Python là gì?Trong Python 3, "/" hoạt động như một toán tử chia float . Vì vậy, nó luôn trả về kiểu float. 3/10 trả lại 3. 333333 thay vì 3, 6/3 trả về 2. 0 thay vì 2.
Liệu phân chia dẫn đến một float?Phép chia float trả về giá trị gần đúng của dấu phẩy động của kết quả phép chia . Ví dụ,. Chỉ có thể lưu trữ một số giá trị nhất định sau số thập phân, vì vậy không thể lưu trữ biểu diễn nhị phân chính xác của nhiều số dấu phẩy động.
Tại sao phân chia là một float?Thao tác chia float / được được sử dụng khi bạn muốn có kết quả chia chính xác hơn vì nó không làm tròn giá trị thành số nguyên . Cần lưu ý rằng đối với các giá trị thập phân tuần hoàn, có giới hạn về số lượng chữ số mà một biến float có thể lưu trữ, vì vậy không phải lúc nào cũng có thể lưu trữ giá trị chính xác.
Phương thức phân chia được gọi cho các đối tượng float là gì?Toán tử / dấu gạch chéo đơn được gọi là phép chia float , trả về một giá trị dấu phẩy động. |