Hầu hết các ngôn ngữ lập trình có mục đích chung đều không hỗ trợ hoặc hỗ trợ hạn chế cho các số phức. Các tùy chọn điển hình của bạn là học một số công cụ chuyên dụng như MATLAB hoặc tìm thư viện của bên thứ ba. Python là một ngoại lệ hiếm hoi vì nó đi kèm với các số phức được tích hợp sẵn Show
Mặc dù tên, số phức không phức tạp. Chúng thuận tiện trong việc giải quyết các vấn đề thực tế mà bạn sẽ cảm nhận được trong hướng dẫn này. Bạn sẽ khám phá đồ họa vector và phân tích tần số âm thanh, nhưng các số phức cũng có thể giúp vẽ các fractal, chẳng hạn như tập hợp Mandelbrot Trong hướng dẫn này, bạn sẽ học cách
Nếu bạn cần xem lại nhanh hoặc giới thiệu nhẹ nhàng về lý thuyết số phức, thì bạn có thể xem loạt video của Khan Academy. Để tải xuống mã mẫu được sử dụng trong hướng dẫn này, hãy nhấp vào liên kết bên dưới Nhận mã mẫu. Nhấp vào đây để lấy mã mẫu mà bạn sẽ sử dụng để tìm hiểu về số phức trong Python trong hướng dẫn này Tạo số phức trong PythonTạo và thao tác với các số phức trong Python không khác nhiều so với các kiểu dữ liệu dựng sẵn khác, đặc biệt là các kiểu số. Có thể vì ngôn ngữ coi họ là công dân hạng nhất. Điều này có nghĩa là bạn có thể diễn đạt các công thức toán học liên quan đến các số phức với ít chi phí Python cho phép bạn sử dụng các số phức trong các biểu thức số học và gọi các hàm trên chúng giống như cách bạn làm với các số khác trong Python. Nó dẫn đến cú pháp tao nhã gần giống như một cuốn sách giáo khoa toán học Loại bỏ các quảng cáoSố Phức ChữCách nhanh nhất để xác định một số phức trong Python là gõ trực tiếp chữ của nó vào mã nguồn >>>
Mặc dù điều này trông giống như một công thức đại số, nhưng biểu thức ở bên phải của dấu bằng đã là một giá trị cố định không cần đánh giá thêm. Khi bạn kiểm tra loại của nó, bạn sẽ xác nhận rằng đó thực sự là một số phức >>>
Điều đó khác với phép cộng hai số bằng toán tử cộng như thế nào? . Nếu bạn xóa chữ cái, thay vào đó, bạn sẽ nhận được kết quả số nguyên quen thuộc >>>
Nhân tiện, bạn cũng có thể sử dụng số dấu phẩy động để tạo số phức >>>
Chữ số phức trong Python bắt chước ký hiệu toán học, còn được gọi là dạng chuẩn, dạng đại số hoặc đôi khi là dạng chính tắc của một số phức. Trong Python, bạn có thể sử dụng chữ thường 0 hoặc chữ hoa 2 trong những chữ đóNếu bạn đã học về số phức trong lớp toán, bạn có thể đã thấy chúng được diễn đạt bằng cách sử dụng 3 thay vì 0. Nếu bạn tò mò về lý do Python sử dụng 0 thay vì 3, thì bạn có thể mở rộng phần có thể thu gọn bên dưới để tìm hiểu thêmTại sao lại là Ký hiệu truyền thống cho các số phức sử dụng chữ cái 3 thay vì 0 vì nó là viết tắt của đơn vị ảo. Bạn có thể cảm thấy hơi khó chịu với quy ước của Python nếu bạn có nền tảng toán học. Tuy nhiên, có một vài lý do có thể biện minh cho sự lựa chọn gây tranh cãi của Python
Điều này đã được đưa ra trên trình theo dõi lỗi của Python hơn một thập kỷ trước và chính người tạo ra Python, Guido van Rossum, đã đóng vấn đề bằng nhận xét này
Vì vậy, có bạn có nó. Trừ khi bạn muốn bắt đầu sử dụng MATLAB, nếu không bạn sẽ phải quen với việc sử dụng 0 để biểu thị các số phức của mìnhDạng đại số của số phức tuân theo các quy tắc chuẩn của đại số, thuận tiện khi thực hiện các phép tính số học. Ví dụ, phép cộng có thuộc tính giao hoán, cho phép bạn hoán đổi thứ tự của hai phần của một số phức bằng chữ mà không làm thay đổi giá trị của nó >>>
Tương tự, bạn có thể thay thế phép cộng bằng phép trừ trong một số phức bằng chữ vì dấu trừ chỉ là ký hiệu viết tắt cho một dạng tương đương >>>
Có phải một số phức bằng chữ trong Python luôn phải bao gồm hai số không? . Không có gì đáng ngạc nhiên, nếu bạn chỉ chỉ định một số, không có chữ cái 0, thì bạn sẽ nhận được một số nguyên thông thường hoặc một số có dấu phẩy động>>>
Mặt khác, thêm chữ cái 0 vào một chữ số sẽ ngay lập tức biến nó thành một số phức>>>
Nói một cách chính xác, từ quan điểm toán học, bạn vừa tạo một số ảo thuần túy, nhưng Python không thể biểu diễn nó dưới dạng một kiểu dữ liệu độc lập. Do đó, không có phần còn lại, nó chỉ là một số phức Còn ngược lại thì sao? >>>
Thật vậy, cả hai phần của số phức luôn có. Khi bạn không nhìn thấy một, điều đó có nghĩa là nó có giá trị bằng không. Hãy kiểm tra xem điều gì sẽ xảy ra khi bạn cố gắng thêm nhiều số hạng vào tổng hơn trước đây >>>
Lần này, biểu thức của bạn không còn là chữ vì Python đã đánh giá nó thành một số phức chỉ bao gồm hai phần. Hãy nhớ rằng các quy tắc cơ bản của đại số áp dụng cho các số phức, vì vậy nếu bạn nhóm các số hạng tương tự và áp dụng phép cộng thành phần, thì bạn sẽ có kết quả là 09Lưu ý cách Python hiển thị các số phức theo mặc định. Biểu diễn văn bản của chúng chứa một cặp dấu ngoặc đơn kèm theo, một chữ cái viết thường 0 và không có khoảng trắng. Ngoài ra, phần tưởng tượng đến thứ haiCác số phức cũng là số ảo thuần túy xuất hiện mà không có dấu ngoặc đơn và chỉ tiết lộ phần ảo của chúng >>> 0Điều này giúp phân biệt các số ảo với hầu hết các số phức được tạo thành từ phần thực và phần ảo Loại bỏ các quảng cáo>>> type(z) <class 'complex'> 11 Chức năng của nhà máyPython có một hàm tích hợp, 11, mà bạn có thể sử dụng thay thế cho chữ số phức>>> 1Ở dạng này, nó giống như một bộ hoặc một cặp số thông thường được sắp xếp theo thứ tự. Sự tương tự không quá xa vời. Các số phức có cách diễn giải hình học trong hệ tọa độ Descartes mà bạn sẽ khám phá sau. Bạn có thể coi số phức là hai chiều Sự thật thú vị. Trong toán học, các số phức thường được biểu thị bằng chữ cái 13 vì đây là chữ cái tiếp theo trong bảng chữ cái sau 14 và 15, thường biểu thị tọa độHàm nhà máy số phức chấp nhận hai tham số số. Cái đầu tiên đại diện cho phần thực, trong khi cái thứ hai đại diện cho phần ảo được ký hiệu bằng chữ cái 0 trong chữ mà bạn đã thấy trước đó>>> 2Cả hai tham số đều là tùy chọn, với các giá trị mặc định bằng 0, giúp việc xác định các số phức không có phần ảo hoặc cả phần thực và phần ảo trở nên dễ dàng hơn >>> 3Phiên bản một đối số có thể hữu ích trong việc truyền kiểu. Ví dụ: bạn có thể truyền một giá trị không phải là số như một chuỗi ký tự để nhận đối tượng 17 tương ứng. Tuy nhiên, lưu ý rằng chuỗi không được chứa bất kỳ khoảng trắng nào>>> 4Sau này, bạn sẽ tìm hiểu cách làm cho các lớp của mình tương thích với cơ chế truyền kiểu này. Thật thú vị, khi bạn chuyển một số phức cho 11, bạn sẽ nhận lại được số phức tương tự>>> 5Điều đó phù hợp với cách thức hoạt động của các loại số khác trong Python vì tất cả chúng đều không thay đổi. Để tạo một bản sao khác biệt của một số phức, bạn phải gọi lại hàm có cả hai đối số hoặc khai báo một biến khác có chữ số phức >>> 6Khi bạn cung cấp hai đối số cho hàm, chúng phải luôn là số, chẳng hạn như 19, 20 hoặc 17. Nếu không, bạn sẽ gặp lỗi thời gian chạy. Về mặt kỹ thuật, 22 là một lớp con của 19, vì vậy nó cũng sẽ hoạt động>>> 7Mọi thứ dường như trở nên kỳ lạ hơn khi bạn cung cấp hàm xuất xưởng 11 với các số phức làm đối số. Tuy nhiên, nếu bạn chỉ cung cấp đối số đầu tiên, nó sẽ hoạt động giống như một proxy như trước đây>>> 8Tuy nhiên, khi có hai đối số và ít nhất một trong số chúng là số phức, bạn sẽ nhận được kết quả có thể khó giải thích ngay từ cái nhìn đầu tiên >>> 9Để có câu trả lời, chúng ta hãy xem qua chuỗi tài liệu của chức năng nhà máy hoặc tài liệu trực tuyến, giải thích điều gì đang diễn ra khi bạn gọi 25
Trong phần giải thích này, 26 và 27 là tên của các đối số hàm. Đối số thứ hai được nhân với đơn vị ảo 0 và kết quả được thêm vào đối số đầu tiên. Đừng lo lắng nếu nó vẫn không có ý nghĩa gì. Bạn có thể quay lại phần này khi bạn đã đọc về. Các quy tắc mà bạn sẽ tìm hiểu sẽ làm cho điều này trở nên đơn giảnKhi nào bạn muốn sử dụng hàm nhà máy 11 theo nghĩa đen? Loại bỏ các quảng cáoLàm quen với số phức PythonTrong toán học, số phức là tập hợp siêu của các số thực, nghĩa là mọi số thực cũng là số phức có phần ảo bằng 0. Python mô hình hóa mối quan hệ này thông qua một khái niệm gọi là tháp số, được mô tả trong PEP 3141 >>> 0Mô-đun 30 tích hợp xác định hệ thống phân cấp các loại số thông qua các lớp trừu tượng có thể được sử dụng để kiểm tra loại và phân loại số. Ví dụ: để xác định xem một giá trị có thuộc về một bộ số cụ thể hay không, bạn có thể gọi _____________31 trên đó>>> 1Giá trị dấu phẩy động 32 là một số thực cũng là một số phức nhưng không phải là một số nguyên. Lưu ý rằng bạn không thể sử dụng các loại tích hợp trực tiếp trong thử nghiệm như vậy>>> 2Sự khác biệt giữa 17 và 34 là chúng thuộc về các nhánh riêng biệt trong cây phân cấp kiểu số và cái sau là lớp cơ sở trừu tượng không có bất kỳ triển khai nàoNhập phân cấp cho các số trong PythonCác lớp cơ sở trừu tượng, được biểu thị bằng màu đỏ trong sơ đồ trên, có thể bỏ qua cơ chế kiểm tra kế thừa thông thường bởi các lớp không liên quan như các lớp con ảo của chúng. Đó là lý do tại sao một giá trị dấu chấm động trong ví dụ dường như là một thể hiện của 34 nhưng không phải là 17Truy cập phần thực và phần ảoĐể lấy phần thực và phần ảo của một số phức trong Python, bạn có thể sử dụng các thuộc tính 37 và 38 tương ứng>>> 3Cả hai thuộc tính đều ở dạng chỉ đọc vì số phức là bất biến, do đó, việc cố gắng gán một giá trị mới cho một trong số chúng sẽ không thành công >>> 4Vì mỗi số trong Python là một kiểu cụ thể hơn của số phức, nên các thuộc tính và phương thức được định nghĩa trong 34 cũng có sẵn trong tất cả các kiểu số, bao gồm 19 và 20>>> 5Phần ảo của những con số như vậy luôn bằng không Tính liên hợp của một số phứcSố phức Python chỉ có ba thành viên công khai. Ngoài các thuộc tính 37 và 38, chúng đưa ra phương thức 44, lật dấu của phần ảo>>> 6Đối với những số có phần ảo bằng 0, nó sẽ không có tác dụng gì >>> 7Hoạt động này là nghịch đảo của chính nó, vì vậy gọi nó hai lần sẽ giúp bạn có được số ban đầu mà bạn đã bắt đầu >>> 8Mặc dù có vẻ ít giá trị, nhưng liên hợp phức có một số tính chất số học hữu ích có thể giúp tính toán phép chia hai số phức bằng bút và giấy, trong số nhiều thứ khác Loại bỏ các quảng cáoSố phức Số họcVì 17 là một kiểu dữ liệu gốc trong Python, nên bạn có thể cắm các số phức vào các biểu thức số học và gọi nhiều hàm tích hợp trên chúng. Các hàm nâng cao hơn cho số phức được định nghĩa trong mô-đun 9, là một phần của thư viện chuẩn. Bạn sẽ được giới thiệu về nó trong phần sau của hướng dẫn nàyHiện tại, việc ghi nhớ một quy tắc duy nhất sẽ cho phép bạn áp dụng kiến thức số học ở trường tiểu học để tính các phép tính cơ bản liên quan đến số phức. Quy tắc cần nhớ là định nghĩa của đơn vị ảo, thỏa mãn phương trình sau Có vẻ không đúng khi bạn coi 0 là một số thực, nhưng đừng hoảng sợ. Nếu bạn bỏ qua nó trong giây lát và thay thế mọi lần xuất hiện của 0_______2_______49 bằng 50 như thể nó là một hằng số, thì bạn sẽ bị đặt. Hãy xem nó hoạt động như thế nàoPhép cộngTổng của hai hoặc nhiều số phức tương đương với việc cộng các phần thực và phần ảo của chúng theo từng thành phần >>> 9Trước đó, bạn đã biết rằng các biểu thức đại số bao gồm các số thực và số ảo tuân theo các quy tắc chuẩn của đại số. Khi bạn viết nó ra dưới dạng đại số, bạn sẽ có thể áp dụng thuộc tính phân phối và đơn giản hóa công thức bằng cách loại bỏ và nhóm các thuật ngữ phổ biến Python tự động thăng cấp toán hạng thành kiểu dữ liệu 17 khi bạn thêm giá trị của các kiểu số hỗn hợp>>> 0Điều đó tương tự với việc chuyển đổi ngầm định từ 19 sang 20 mà bạn có thể quen thuộc hơnphép trừTrừ các số phức cũng tương tự như cộng chúng, có nghĩa là bạn cũng có thể áp dụng nó theo từng phần tử >>> 1Tuy nhiên, không giống như tổng, thứ tự của các toán hạng là quan trọng và mang lại các kết quả khác giống như với số thực >>> 2Bạn cũng có thể sử dụng toán tử trừ một ngôi (-) để tạo thành số âm của một số phức >>> 3Điều này đảo ngược cả phần thực và phần ảo của số phức Loại bỏ các quảng cáoPhép nhânTích của hai hay nhiều số phức trở nên thú vị hơn >>> 4Làm thế quái nào mà bạn lại kết thúc với một số âm trong số những số dương duy nhất? Quan sát quan trọng cần thực hiện là 0 lần ____3_______0 cho ____3_______0_______2_______49, có thể được thay thế bằng ____2_______50. Điều này đảo ngược dấu hiệu của một trong các triệu hồi, trong khi phần còn lại của các quy tắc vẫn giống hệt như trước đâyPhân côngViệc chia các số phức có thể trông đáng sợ ngay từ lần gặp đầu tiên >>> 5Dù bạn có tin hay không thì tùy, bạn có thể đạt được kết quả tương tự chỉ bằng bút và giấy. (Được rồi, một máy tính có thể giúp bạn bớt đau đầu. ) Khi cả hai số được biểu thị ở dạng chuẩn của chúng, mẹo là nhân tử số và mẫu số với liên hợp của mẫu số Mẫu số trở thành môđun bình phương của số chia. Bạn sẽ tìm hiểu thêm về mô đun của số phức sau. Khi bạn tiếp tục rút ra công thức, đây là những gì bạn sẽ nhận được Lưu ý rằng số phức không hỗ trợ, còn được gọi là phép chia số nguyên >>> 6Cái này từng hoạt động trong Python 2. x nhưng sau đó đã bị xóa để tránh sự mơ hồ lũy thừaBạn có thể nâng số phức lên lũy thừa bằng cách sử dụng toán tử lũy thừa nhị phân ( 59) hoặc tích hợp sẵn 60 nhưng không phải là toán tử được xác định trong mô-đun 61, vốn chỉ hỗ trợ các giá trị dấu phẩy động>>> 7Cả cơ số và số mũ đều có thể thuộc bất kỳ loại số nào, bao gồm số nguyên, dấu phẩy động, ảo hoặc phức >>> 8Luỹ thừa thủ công các số phức trở nên rất khó khăn khi chúng được biểu thị ở dạng chuẩn. Sẽ thuận tiện hơn nhiều khi viết lại số ở dạng lượng giác và tính lũy thừa bằng một số lượng giác cơ bản. Nếu bạn quan tâm đến toán học liên quan, hãy xem công thức của De Moivre, cho phép bạn làm điều đó Loại bỏ các quảng cáoSử dụng số phức Python làm vectơ 2DBạn có thể hình dung các số phức dưới dạng điểm hoặc vectơ trên mặt phẳng Euclide trong hệ tọa độ Cartesian hoặc hình chữ nhật Trục X trên mặt phẳng phức, còn được gọi là mặt phẳng Gauss hoặc sơ đồ Argand, biểu thị phần thực của một số phức, trong khi trục Y biểu thị phần ảo của nó Thực tế này dẫn đến một trong những tính năng thú vị nhất của kiểu dữ liệu 17 trong Python, thể hiện việc triển khai sơ bộ một vectơ hai chiều miễn phí. Mặc dù không phải tất cả các hoạt động đều hoạt động theo cùng một cách trong cả hai, nhưng vectơ và số phức có nhiều điểm tương đồngLấy tọa độTam giác quỷ Bermuda là một khu vực huyền thoại được biết đến với những hiện tượng huyền bí trải dài qua mũi phía nam của Florida, Puerto Rico và hòn đảo nhỏ Bermuda. Các đỉnh của nó được xác định xấp xỉ bởi ba thành phố lớn có tọa độ địa lý như sau
Sau khi chuyển đổi các tọa độ này thành độ thập phân, bạn sẽ có hai số dấu phẩy động cho mỗi thành phố. Bạn có thể sử dụng kiểu dữ liệu 17 để lưu trữ các cặp số theo thứ tự. Vì vĩ độ là tọa độ dọc và kinh độ là tọa độ nằm ngang, nên có thể thuận tiện hơn khi chuyển đổi chúng xung quanh để tuân theo thứ tự truyền thống của tọa độ Descartes 9Các giá trị kinh độ âm đại diện cho bán cầu tây, trong khi các giá trị vĩ độ dương đại diện cho bán cầu bắc Hãy nhớ rằng đây là các tọa độ hình cầu. Để chiếu chính xác chúng lên một mặt phẳng, bạn cần tính đến độ cong của Trái đất. Một trong những phép chiếu bản đồ đầu tiên được sử dụng trong bản đồ học là phép chiếu Mercator, giúp các thủy thủ điều hướng tàu của họ. Nhưng hãy bỏ qua tất cả những điều đó và giả sử rằng các giá trị đã được biểu thị trong hệ tọa độ hình chữ nhật Khi bạn vẽ các con số trên một mặt phẳng phức tạp, bạn sẽ nhận được một mô tả sơ bộ về Tam giác quỷ Bermuda Trong các tài liệu đi kèm, bạn sẽ tìm thấy Sổ tay Jupyter tương tác vẽ sơ đồ Tam giác Bermuda bằng thư viện Matplotlib. Để tải mã nguồn và tài liệu cho hướng dẫn này, hãy nhấp vào liên kết bên dưới Nhận mã mẫu. Nhấp vào đây để lấy mã mẫu mà bạn sẽ sử dụng để tìm hiểu về số phức trong Python trong hướng dẫn này Nếu bạn không thích gọi hàm xuất xưởng 11, bạn có thể tạo một cái tên phù hợp hơn hoặc sử dụng dạng chữ của một số phức để tiết kiệm một vài lần nhấn phím 0Nếu bạn cần đóng gói nhiều thuộc tính hơn cho một thành phố, bạn có thể sử dụng một bộ có tên hoặc một lớp dữ liệu hoặc tạo một lớp tùy chỉnh Tính độ lớnĐộ lớn, còn được gọi là mô đun hoặc bán kính của một số phức, là độ dài của vectơ mô tả nó trên một mặt phẳng phức Bạn có thể tính nó từ định lý Pytago bằng cách lấy căn bậc hai của tổng bình phương phần thực và bình phương phần ảo Bạn sẽ nghĩ rằng Python sẽ cho phép bạn tính toán độ dài của một vectơ như vậy bằng công cụ tích hợp sẵn 65, nhưng thực tế không phải vậy. Để lấy độ lớn của một số phức, bạn phải gọi một hàm toàn cục khác có tên , hàm này thường được sử dụng để tính giá trị tuyệt đối của một số>>> 1Hàm này xóa dấu khỏi các số nguyên mà bạn nhập vào, nhưng đối với các số phức, hàm này trả về độ lớn hoặc độ dài vectơ >>> 2Bạn có thể nhớ từ phần trước rằng một số phức nhân với liên hợp của nó sẽ tạo ra bình phương độ lớn của nó. Loại bỏ các quảng cáoTìm Khoảng Cách Giữa Hai ĐiểmHãy tìm tâm hình học của Tam giác quỷ Bermuda và khoảng cách đến nó từ ba thành phố tạo nên ranh giới của nó. Trước tiên, bạn cần tính tổng tất cả các tọa độ và chia kết quả cho số lượng của chúng để lấy giá trị trung bình 3Điều này sẽ cung cấp cho bạn một điểm nằm ở Đại Tây Dương, một nơi nào đó trong tam giác Giờ đây, bạn có thể tạo các vectơ neo tại các thành phố và hướng về tâm hình học của tam giác. Các vectơ được tạo bằng cách trừ nguồn khỏi điểm đích 4Vì bạn trừ các số phức, mọi vectơ cũng là một số phức gồm hai phần. Để có được khoảng cách của bạn, hãy tính độ lớn của từng vectơ >>> 5Độ dài vectơ này không phản ánh khoảng cách có ý nghĩa nhưng là giá trị gần đúng cho một ví dụ về đồ chơi như thế này. Để thể hiện kết quả chính xác trong các đơn vị hữu hình, trước tiên bạn phải chuyển đổi tọa độ từ hình cầu sang hình chữ nhật hoặc tính khoảng cách bằng phương pháp vòng tròn lớn thay thế Dịch, lật, thu nhỏ và xoayCó thể làm phiền bạn khi tam giác xuất hiện ở góc phần tư thứ hai của hệ tọa độ Descartes. Hãy di chuyển nó sao cho tâm hình học của nó thẳng hàng với gốc tọa độ. Cả ba đỉnh sẽ được tịnh tiến theo độ dài của vectơ được chỉ định bởi tâm hình học nhưng ngược hướng 6Lưu ý rằng bạn đang cộng hai số phức với nhau, phép cộng này thực hiện phép cộng từng phần tử của chúng. Đây là một phép biến đổi affine vì nó không làm thay đổi hình dạng của tam giác hoặc vị trí tương đối của các đỉnh của nó Sự phản chiếu qua gương của tam giác xung quanh trục thực hoặc ảo yêu cầu đảo ngược thành phần tương ứng trong các đỉnh của nó. Ví dụ: để lật nó theo chiều ngang, bạn sẽ phải sử dụng phần âm của phần thực, tương ứng với hướng nằm ngang. Để lật nó theo chiều dọc, bạn sẽ lấy phần âm của phần ảo 7Cái sau về cơ bản giống như tính toán liên hợp số phức, vì vậy bạn có thể gọi trực tiếp 44 trên mỗi đỉnh để thực hiện công việc khó khăn cho bạn 8Đương nhiên, không có gì ngăn cản bạn áp dụng tính đối xứng theo một trong hai hướng hoặc cả hai hướng cùng một lúc. Trong trường hợp như vậy, bạn có thể sử dụng toán tử trừ một ngôi trước số phức để lật phần thực và phần ảo của nó 9Hãy tiếp tục và tìm hiểu các kết hợp lật khác nhau bằng cách sử dụng Jupyter Notebook tương tác có sẵn trong các tài liệu có thể tải xuống. Đây là hình tam giác sẽ trông như thế nào khi bạn lật nó dọc theo cả hai trục Chia tỷ lệ tương tự như dịch, nhưng thay vì thêm phần bù, bạn sẽ nhân từng đỉnh với một thừa số không đổi, phải là một số thực 0Làm như vậy dẫn đến việc nhân cả hai thành phần của mỗi số phức với cùng một lượng. Nó sẽ kéo dài Tam giác quỷ Bermuda của bạn, làm cho nó trông lớn hơn trên cốt truyện Mặt khác, nhân các đỉnh của tam giác với một số phức khác, có tác dụng xoay nó quanh gốc của hệ tọa độ. Điều đó khác rất nhiều so với cách bạn thường nhân các vectơ với nhau. Ví dụ: tích vô hướng của hai vectơ sẽ tạo ra một vô hướng, trong khi tích chéo của chúng trả về một vectơ mới trong không gian ba chiều, vuông góc với bề mặt mà chúng xác định Ghi chú. Tích của hai số phức không đại diện cho phép nhân véc tơ. Thay vào đó, nó được định nghĩa là phép nhân ma trận trong không gian vectơ hai chiều, với 1 và 0 làm cơ sở chuẩn. Nhân (x1 + y1 0) với (x2 + y2 0) tương ứng với phép nhân ma trận sauĐây là ma trận xoay ở bên trái, làm cho toán học hoạt động tốt Khi bạn nhân các đỉnh với đơn vị ảo, nó sẽ xoay tam giác 90° ngược chiều kim đồng hồ. Nếu bạn cứ lặp đi lặp lại nó, cuối cùng bạn sẽ đến nơi bạn bắt đầu Làm thế nào để bạn tìm thấy một số phức cụ thể sẽ xoay một số phức khác theo bất kỳ góc mong muốn nào khi cả hai được nhân lên? 90° rotationsTotal angleFormulaExponentValue00°z 001190°z × 0 01 02180°z × 0 × 0 02-13270°z × 0 × 0 × 0 03- 04360°z × 0 × 0 × 0 × 0 0415450°z × 0 × 0 × 0 × 0 × 0 05 06540 Khi bạn biểu diễn phép nhân lặp đi lặp lại với 0 theo số mũ nguyên dương, thì một mẫu sẽ xuất hiện. Lưu ý cách nâng đơn vị tưởng tượng lên các lũy thừa tiếp theo làm cho nó lặp đi lặp lại các giá trị giống nhau. Bạn có thể ngoại suy điều này thành các số mũ phân số và mong đợi chúng tương ứng với các góc trung gianVí dụ, số mũ trong nửa vòng quay đầu tiên bằng 0. 5 và biểu thị góc 45° Vì vậy, nếu bạn biết rằng lũy thừa của một đại diện cho góc vuông và bất kỳ thứ gì ở giữa các tỷ lệ theo tỷ lệ, thì bạn có thể rút ra công thức chung này cho các phép quay tùy ý 1Lưu ý rằng phép quay trở nên tự nhiên hơn khi bạn biểu thị các số phức của mình theo tọa độ cực, vốn đã mô tả góc. Sau đó, bạn có thể tận dụng dạng hàm mũ để thực hiện các phép tính đơn giản hơn Xoay theo tọa độ cựcHiển thị/Ẩn Có hai cách để xoay một số bằng tọa độ cực 2Bạn có thể tính tổng các góc hoặc nhân số phức của mình với một vectơ đơn vị Bạn sẽ tìm hiểu thêm về những điều đó trong phần tiếp theo Loại bỏ các quảng cáoKhám phá mô-đun toán học về số phức. >>> z = 3.14 + 0j >>> type(z) <class 'complex'> 9Bạn đã thấy rằng một số hàm dựng sẵn như 66 và 60 chấp nhận số phức, trong khi những hàm khác thì không. Ví dụ: bạn không thể 24 một số phức vì phép toán như vậy không có ý nghĩa>>> 3Nhiều hàm toán học nâng cao như hàm lượng giác, hypebol hoặc logarit có sẵn trong thư viện tiêu chuẩn. Đáng buồn thay, ngay cả khi bạn biết mọi thứ về mô-đun 61 của Python, thì điều đó cũng chẳng ích gì vì không hàm nào của nó hỗ trợ số phức. Bạn sẽ cần kết hợp nó với mô-đun 9, mô-đun xác định các hàm tương ứng cho các số phứcMô-đun 9 xác định lại tất cả các hằng số dấu phẩy động từ 61 để bạn có thể sử dụng chúng mà không cần nhập cả hai mô-đun>>> 4Lưu ý rằng 29 là một giá trị đặc biệt không bao giờ bằng bất kỳ giá trị nào khác, kể cả chính nó. Đó là lý do tại sao bạn thấy một 30 đơn độc trong kết quả ở trên. Ngoài những điều này, 9 cung cấp hai đối tác phức tạp cho NaN (không phải là số) và vô hạn, với cả hai đều có phần thực bằng không>>> 5Có khoảng một nửa số chức năng trong 9 so với trong mô-đun 61 tiêu chuẩn. Hầu hết chúng bắt chước hành vi ban đầu, nhưng một số ít là duy nhất đối với các số phức. Chúng sẽ cho phép bạn thực hiện chuyển đổi giữa hai hệ tọa độ mà bạn sẽ khám phá trong phần nàyTrích xuất gốc của một số phứcĐịnh lý cơ bản của đại số phát biểu rằng đa thức bậc n với hệ số phức có đúng n nghiệm phức. Điều đó khá quan trọng nếu bạn nghĩ về nó, vì vậy hãy để nó chìm sâu trong giây lát Bây giờ, hãy lấy hàm bậc hai x2 + 1 làm ví dụ. Về mặt trực quan, hình parabol này không cắt trục X vì nó nằm phía trên gốc tọa độ một đơn vị. Biệt thức của hàm là âm, điều này xác nhận quan sát này về mặt số học. Đồng thời, nó là đa thức bậc hai nên nó phải có hai nghiệm phức mặc dù nó không có nghiệm thực Để tìm các nghiệm đó, bạn có thể viết lại hàm dưới dạng phương trình bậc hai, sau đó chuyển hằng số sang bên phải và lấy căn bậc hai của cả hai vế Trong miền số thực, căn bậc hai chỉ được xác định cho các giá trị đầu vào không âm. Do đó, gọi hàm này trong Python sẽ đưa ra một ngoại lệ với thông báo lỗi thích hợp >>> 6Tuy nhiên, khi bạn coi √-1 là một số phức và gọi hàm liên quan từ mô-đun 9, thì bạn sẽ nhận được một kết quả có ý nghĩa hơn>>> 7Điều đó có ý nghĩa. Xét cho cùng, dạng trung gian x2 = -1 của phương trình bậc hai chính là định nghĩa của đơn vị ảo. Nhưng, đợi một chút. Gốc phức tạp khác đã đi đâu? Ví dụ, đa thức bậc 4 x4 + 1, có thể viết dưới dạng phương trình x4 = -1, có bốn nghiệm phức này
Nâng mỗi căn lên lũy thừa bậc 4 thì được một số phức bằng -1 + 0 0 hoặc một số thực -1>>> 8Bạn sẽ nhận thấy rằng giá trị kết quả không chính xác là -1 do lỗi làm tròn trong số học dấu phẩy động. Để giải thích cho điều đó, bạn có thể gọi 40 bất cứ khi nào bạn cần biết liệu hai số phức có giá trị gần nhau hay không>>> 9Thật không may, bạn không thể tính các nghiệm phức tạp khác bằng Python thuần túy vì phép lũy thừa thông thường luôn cho một nghiệm >>> 0Đó chỉ là một trong những gốc được liệt kê trước đây. Công thức toán tìm mọi nghiệm phức tận dụng dạng lượng giác của số phức R và φ là tọa độ cực của số phức, trong khi n là bậc của đa thức và k là chỉ số của nghiệm, bắt đầu từ 0. Tin tốt là bạn không cần phải tự tính toán tỉ mỉ những gốc rễ đó. Cách nhanh nhất để tìm thấy chúng là cài đặt thư viện của bên thứ ba như NumPy và nhập nó vào dự án của bạn >>> 1Biết về các dạng số phức khác nhau và hệ tọa độ của chúng có thể hữu ích. Như bạn có thể thấy, nó giúp giải quyết các vấn đề thực tế như tìm nghiệm phức tạp. Vì vậy, trong phần tiếp theo, bạn sẽ đi sâu vào chi tiết hơn Loại bỏ các quảng cáoChuyển đổi giữa tọa độ hình chữ nhật và cựcVề mặt hình học, bạn có thể nhìn vào một số phức gấp đôi. Một mặt, đó là một điểm có khoảng cách theo chiều ngang và chiều dọc từ điểm gốc xác định duy nhất vị trí của nó. Chúng được gọi là tọa độ hình chữ nhật bao gồm các phần thực và phần ảo Mặt khác, bạn có thể mô tả cùng một điểm trong tọa độ cực cũng cho phép bạn tìm thấy nó một cách rõ ràng với hai khoảng cách
Bán kính, còn được gọi là mô đun, tương ứng với độ lớn của số phức hoặc độ dài của vectơ. Góc thường được gọi là pha hoặc đối số của một số phức. Thật hữu ích khi biểu thị góc theo đơn vị radian thay vì theo độ khi làm việc với các hàm lượng giác Đây là mô tả của một số phức trong cả hai hệ tọa độ Do đó, một điểm (3, 2) trong hệ tọa độ Descartes có bán kính xấp xỉ 3. 6 và một góc khoảng 33. 7°, hay đại khái là π trên 5. 4 radian Việc chuyển đổi giữa hai hệ tọa độ có thể thực hiện được nhờ một vài chức năng được tích hợp trong mô-đun 9. Cụ thể, để lấy tọa độ cực của một số phức, bạn phải truyền nó cho 42>>> 2Nó sẽ trả về một bộ, trong đó phần tử đầu tiên là bán kính và phần tử thứ hai là góc tính bằng radian. Lưu ý rằng bán kính có cùng giá trị với độ lớn, bạn có thể tính giá trị này bằng cách gọi số phức của mình là ____2_______66. Ngược lại, nếu bạn chỉ quan tâm đến góc của một số phức, thì bạn có thể gọi 44>>> 3Góc có thể thu được bằng cách sử dụng lượng giác cơ bản vì phần thực, phần ảo và độ lớn cùng nhau tạo thành một tam giác vuông Bạn có thể sử dụng các hàm lượng giác nghịch đảo, chẳng hạn như arcsine, từ 61 hoặc 9, nhưng hàm sau sẽ tạo ra các giá trị phức tạp với phần ảo bằng 0>>> 4Tuy nhiên, có một chi tiết nhỏ cần cẩn thận khi sử dụng hàm arctangent, điều này đã khiến nhiều ngôn ngữ lập trình phát triển một triển khai thay thế có tên là 47. Việc tính toán tỷ lệ giữa phần ảo và phần thực đôi khi có thể tạo ra một điểm kỳ dị do, ví dụ, phép chia cho 0. Hơn nữa, các dấu hiệu riêng của hai giá trị bị mất trong quá trình, khiến cho việc xác định góc một cách chắc chắn là không thể.>>> 5Lưu ý cách 48 không nhận ra hai điểm khác nhau nằm ở các góc phần tư đối diện của hệ tọa độ. Mặt khác, 47 mong đợi hai đối số thay vì một đối số để bảo toàn các dấu hiệu riêng lẻ trước khi chia cho nhau và cũng tránh các vấn đề khácĐể lấy độ thay vì radian, bạn có thể thực hiện chuyển đổi cần thiết bằng cách sử dụng lại mô-đun 61>>> 6Đảo ngược quy trình—nghĩa là chuyển đổi tọa độ cực thành tọa độ vuông góc—dựa vào một chức năng khác. Tuy nhiên, bạn không thể chuyển cùng một bộ dữ liệu mà bạn đã nhận được từ 42 vì 52 mong đợi hai đối số riêng biệt>>> 7Bạn nên giải nén bộ dữ liệu trước khi thực hiện một nhiệm vụ và đặt tên mô tả cho các phần tử đó. Bây giờ bạn có thể gọi chính xác 52>>> 8Bạn có thể gặp phải các lỗi làm tròn trong khi Python thực hiện các phép tính. Đằng sau hậu trường, nó gọi các hàm lượng giác để lấy phần thực và phần ảo >>> 9Một lần nữa, việc bạn sử dụng 61 hay 9 trong trường hợp này không quan trọng vì kết quả sẽ giống hệt nhauLoại bỏ các quảng cáoBiểu diễn số phức theo cách khácBất kể hệ tọa độ là gì, bạn có thể biểu diễn cùng một số phức trong một vài dạng tương đương về mặt toán học
Danh sách này không đầy đủ vì có nhiều biểu diễn hơn, chẳng hạn như số phức Có sự lựa chọn cho phép bạn chọn một cách thuận tiện nhất để giải quyết một vấn đề nhất định. Ví dụ: bạn sẽ cần dạng hàm mũ để tính biến đổi Fourier rời rạc trong phần sắp tới. Sử dụng dạng này cũng phù hợp với phép nhân và phép chia số phức Dưới đây là tóm tắt nhanh về các dạng số phức riêng lẻ và tọa độ của chúng DạngHình chữ nhậtCựcĐại sốz = x + y 0-Hình họcz = (x, y)z = (r, φ)Lượng giácz =. z. (cos(x/. z. ) + 0sin(y/. z. ))z = r(cos(φ) + 0sin(φ))Số mũz =. z. e 59z = r(e 0φ)Dạng đại số có nguồn gốc từ Python khi bạn chỉ định các số phức bằng chữ của chúng. Bạn cũng có thể xem chúng dưới dạng các điểm trên mặt phẳng Euclide trong hệ tọa độ Descartes hoặc cực. Mặc dù không có biểu diễn riêng biệt cho dạng lượng giác hoặc hàm mũ trong Python, nhưng bạn có thể xác minh xem các nguyên tắc toán học có đúng không Ví dụ, thay công thức Euler về dạng lượng giác sẽ biến nó thành dạng mũ. Bạn có thể gọi 62 của mô-đun 9 hoặc nâng hằng số 63 lên một lũy thừa để có được kết quả tương tự>>> 0Tất cả các biểu mẫu thực sự là những cách khác nhau để mã hóa cùng một số. Tuy nhiên, bạn không thể so sánh chúng trực tiếp do lỗi làm tròn số có thể xảy ra trong thời gian chờ đợi. Sử dụng 40 để so sánh an toàn hoặc 65 các số dưới dạng chuỗi một cách thích hợp. Bạn sẽ tìm hiểu cách định dạng các chuỗi như vậy trong phần sắp tớiGiải thích tại sao các dạng khác nhau của một số phức lại tương đương nhau đòi hỏi phải tính toán và vượt xa phạm vi của hướng dẫn này. Tuy nhiên, nếu bạn quan tâm đến toán học, thì bạn sẽ thấy mối liên hệ giữa các lĩnh vực toán học khác nhau được thể hiện bằng các số phức thật hấp dẫn Phân tích một số phức trong PythonBạn đã học được rất nhiều về số phức Python và đã xem các ví dụ sơ bộ. Tuy nhiên, trước khi tiếp tục, bạn nên đề cập đến một số chủ đề cuối cùng. Trong phần này, bạn sẽ xem xét việc so sánh các số phức, định dạng các chuỗi chứa chúng, v.v. Kiểm tra đẳng thức của số phứcVề mặt toán học, hai số phức bằng nhau khi chúng có các giá trị giống hệt nhau bất kể hệ tọa độ được sử dụng. Tuy nhiên, việc chuyển đổi giữa tọa độ cực và tọa độ hình chữ nhật thường gây ra lỗi làm tròn trong Python, vì vậy bạn cần chú ý đến những khác biệt nhỏ khi so sánh chúng Ví dụ: khi bạn xem xét một điểm trên một đường tròn đơn vị có bán kính bằng 1 và nghiêng 60°, thì lượng giác hoạt động độc đáo, giúp việc chuyển đổi bằng bút và giấy trở nên đơn giản >>> 1Mặc dù bạn biết rằng 66 và 67 giống nhau, nhưng Python không thể xác định điều đó do lỗi làm tròn. May mắn thay, tài liệu PEP 485 đã định nghĩa các hàm cho đẳng thức gần đúng, có sẵn trong các mô-đun 61 và 9>>> 2Hãy nhớ luôn sử dụng chúng khi so sánh các số phức. Nếu dung sai mặc định không đủ tốt cho các tính toán của bạn, bạn có thể thay đổi nó bằng cách chỉ định Sắp xếp các số phứcNếu bạn đã quen thuộc với các bộ dữ liệu, thì bạn biết rằng Python có thể sắp xếp chúng >>> 3Theo mặc định, các bộ dữ liệu riêng lẻ được so sánh từ trái sang phải >>> 4Trong trường hợp đầu tiên, số 70 lớn hơn số 71, vì vậy tên hành tinh hoàn toàn không được xem xét. Họ có thể giúp giải quyết một sự ràng buộc, mặc dù. Tuy nhiên, đó không phải là trường hợp của số phức vì chúng không xác định quan hệ thứ tự tự nhiên. Ví dụ: bạn sẽ gặp lỗi nếu cố gắng so sánh hai số phức>>> 5Kích thước tưởng tượng có nên nặng hơn kích thước thực không? . Vì bạn không thể so sánh trực tiếp các số phức nên bạn cần cho Python biết cách sắp xếp chúng bằng cách chỉ định một hàm khóa tùy chỉnh, chẳng hạn như 66>>> 6Điều này sẽ sắp xếp các số phức theo độ lớn của chúng theo thứ tự giảm dần Định dạng số phức dưới dạng chuỗiKhông có bất kỳ định dạng cụ thể nào đối với số phức, nhưng bạn có thể định dạng riêng phần thực và phần ảo của chúng bằng cách sử dụng mã tiêu chuẩn cho số dấu phẩy động. Dưới đây, bạn sẽ tìm thấy một số kỹ thuật chứng minh điều này. Một số trong số chúng sẽ thực sự áp dụng trình xác định định dạng của bạn cho cả phần thực và phần ảo trong một lần Ghi chú. Định dạng chuỗi có thể cho phép bạn bỏ qua lỗi biểu diễn dấu phẩy động và giả vờ như nó không tồn tại >>> 7Chữ cái 73 trong công cụ xác định định dạng là viết tắt của định dạng chung, làm tròn số của bạn đến độ chính xác được yêu cầu. Độ chính xác mặc định là sáu chữ số có nghĩaHãy lấy số phức sau đây làm ví dụ và định dạng nó bằng hai chữ số thập phân trên cả hai phần >>> 8Một cách nhanh chóng để làm điều này là bằng cách gọi 65 với một bộ xác định định dạng số hoặc bằng cách tạo một chuỗi f được định dạng phù hợp>>> 9Ví dụ: nếu bạn muốn kiểm soát nhiều hơn để thêm phần đệm bổ sung xung quanh toán tử dấu cộng, thì chuỗi f sẽ là lựa chọn tốt hơn >>> 0Bạn cũng có thể gọi 75 trên một đối tượng chuỗi và truyền các đối số vị trí hoặc từ khóa cho nó>>> 1Các đối số vị trí cung cấp một chuỗi các giá trị, trong khi các đối số từ khóa cho phép bạn gọi chúng theo tên. Tương tự, bạn có thể sử dụng ( 76) với bộ dữ liệu hoặc từ điển>>> 2Tuy nhiên, điều này sử dụng một cú pháp giữ chỗ khác và hơi lỗi thời Tạo kiểu dữ liệu phức tạp của riêng bạnMô hình dữ liệu Python định nghĩa một tập hợp các phương thức đặc biệt mà bạn có thể triển khai để làm cho các lớp của bạn tương thích với một số kiểu dựng sẵn nhất định. Giả sử bạn đang làm việc với các điểm và vectơ và muốn lấy góc giữa hai vectơ liên kết. Bạn có thể tính tích vô hướng của họ và thực hiện một số phép đo lượng giác. Ngoài ra, bạn có thể tận dụng các số phức Trước tiên hãy xác định các lớp của bạn 3Một 77 có tọa độ 14 và 15, trong khi một 80 nối hai điểm. Bạn có thể nhớ 44, tính toán khoảng cách góc của một số phức. Bây giờ, nếu bạn coi các vectơ của mình là số phức và biết pha của chúng, thì bạn có thể trừ chúng để có được góc mong muốnĐể làm cho Python nhận ra các trường hợp vectơ dưới dạng số phức, bạn phải cung cấp ____________82 trong phần thân của lớp 4Mã bên trong phải luôn trả về một thể hiện của kiểu dữ liệu 17, do đó, mã này thường tạo một số phức mới từ đối tượng của bạn. Ở đây, bạn đang trừ các điểm đầu và điểm cuối để có được các chuyển vị ngang và dọc, đóng vai trò là phần thực và phần ảo. Phương thức này sẽ chạy thông qua ủy quyền khi bạn gọi toàn cầu 11 trên một thể hiện vectơ>>> 5Trong một số trường hợp, bạn không cần phải tự đúc kiểu này. Hãy xem một ví dụ trong thực tế >>> 6Bạn có hai vectơ được xác định bởi bốn điểm phân biệt. Tiếp theo, bạn chuyển chúng trực tiếp tới 44, nó thực hiện việc chuyển đổi thành số phức cho bạn và trả về pha. Độ lệch pha là góc giữa hai vectơĐiều đó không đẹp sao? Tính phép biến đổi Fourier rời rạc với số phứcMặc dù bạn có thể sử dụng các số thực để tính các hệ số sin và cosin của các tần số của hàm tuần hoàn với biến đổi Fourier, nhưng sẽ thuận tiện hơn nếu chỉ xử lý một hệ số phức trên mỗi tần số. Biến đổi Fourier rời rạc trong miền phức tạp được cho bởi công thức sau Đối với mỗi ngăn tần số k, nó đo lường mối tương quan của tín hiệu và một sóng hình sin cụ thể được biểu thị dưới dạng số phức ở dạng hàm mũ. (Cảm ơn Leonhard Euler. ) Tần số góc của sóng có thể được tính bằng cách nhân góc tròn là 2π radian với k trên số mẫu rời rạc Viết mã này bằng Python trông khá gọn gàng khi bạn tận dụng kiểu dữ liệu 17 7Hàm này là phiên âm theo nghĩa đen của các công thức trên. Giờ đây, bạn có thể chạy phân tích tần số trên âm thanh mà bạn tải từ tệp âm thanh bằng mô-đun 87 của Python hoặc bạn tổng hợp từ đầu. Một trong những Máy tính xách tay Jupyter đi kèm với hướng dẫn này cho phép bạn chơi với tổng hợp và phân tích âm thanh một cách tương tácĐể vẽ phổ tần số bằng Matplotlib, bạn phải biết tần số lấy mẫu, tần số này xác định độ phân giải của ngăn tần số cũng như giới hạn Nyquist 8Số lượng ngăn tần số trong quang phổ bằng một nửa số mẫu, trong khi tần số Nyquist giới hạn tần số cao nhất bạn có thể đo được. Biến đổi trả về một số phức có độ lớn tương ứng với biên độ của sóng hình sin ở tần số đã cho, trong khi góc của nó là pha Ghi chú. Để có được các giá trị biên độ chính xác, bạn phải nhân đôi số và chia độ lớn kết quả cho số lượng mẫu. Mặt khác, nếu bạn chỉ quan tâm đến biểu đồ tần số, thì bạn có thể chuẩn hóa độ lớn theo tổng của chúng hoặc tần số tối đa Đây là biểu đồ tần số mẫu của sóng âm bao gồm ba âm—440 Hz, 1. 5 kHz và 5 kHz—có biên độ bằng nhau Biểu đồ phổ tần sốLưu ý rằng đây là một ví dụ học thuật thuần túy vì việc tính toán biến đổi Fourier rời rạc với các phép lặp lồng nhau có O(n2) , khiến nó không thể sử dụng được trong thực tế. Đối với các ứng dụng thực tế, bạn muốn sử dụng thuật toán biến đổi Fourier nhanh (FFT) được triển khai tốt nhất trong thư viện C, chẳng hạn như FFT trong SciPy Phần kết luậnViệc dễ dàng sử dụng các số phức trong Python khiến chúng trở thành một công cụ thiết thực và thú vị một cách đáng ngạc nhiên. Bạn đã thấy các vectơ hai chiều được triển khai thực tế miễn phí và bạn có thể phân tích tần số âm thanh nhờ chúng. Các số phức cho phép bạn diễn đạt các công thức toán học trong mã một cách tao nhã mà không cần nhiều cú pháp soạn sẵn cản trở Trong hướng dẫn này, bạn đã học cách
Cho đến nay, trải nghiệm của bạn với số phức Python là gì? Bạn có thể nhấp vào liên kết bên dưới để lấy mã nguồn đầy đủ cho hướng dẫn này Nhận mã mẫu. Nhấp vào đây để lấy mã mẫu mà bạn sẽ sử dụng để tìm hiểu về số phức trong Python trong hướng dẫn này Đánh dấu là đã hoàn thành 🐍 Thủ thuật Python 💌 Nhận một Thủ thuật Python ngắn và hấp dẫn được gửi đến hộp thư đến của bạn vài ngày một lần. Không có thư rác bao giờ. Hủy đăng ký bất cứ lúc nào. Được quản lý bởi nhóm Real Python Gửi cho tôi thủ thuật Python » Giới thiệu về Bartosz Zaczyński Bartosz là người hướng dẫn bootcamp, tác giả và lập trình viên đa ngôn ngữ yêu thích Python. Anh ấy giúp sinh viên của mình tiếp cận công nghệ phần mềm bằng cách chia sẻ kinh nghiệm thương mại hơn một thập kỷ trong ngành CNTT » Thông tin thêm về BartoszMỗi hướng dẫn tại Real Python được tạo bởi một nhóm các nhà phát triển để nó đáp ứng các tiêu chuẩn chất lượng cao của chúng tôi. Các thành viên trong nhóm đã làm việc trong hướng dẫn này là Aldren David Geir Arne Joanna Gia-cốp Bậc thầy Kỹ năng Python trong thế giới thực Với quyền truy cập không giới hạn vào Python thực Tham gia với chúng tôi và có quyền truy cập vào hàng nghìn hướng dẫn, khóa học video thực hành và cộng đồng các Pythonistas chuyên gia Nâng cao kỹ năng Python của bạn » Chuyên gia Kỹ năng Python trong thế giới thực Tham gia với chúng tôi và có quyền truy cập vào hàng ngàn hướng dẫn, khóa học video thực hành và cộng đồng Pythonistas chuyên gia Nâng cao kỹ năng Python của bạn » Bạn nghĩ sao? Đánh giá bài viết này Tweet Chia sẻ Chia sẻ EmailBài học số 1 hoặc điều yêu thích mà bạn đã học được là gì? Mẹo bình luận. Những nhận xét hữu ích nhất là những nhận xét được viết với mục đích học hỏi hoặc giúp đỡ các sinh viên khác. và nhận câu trả lời cho các câu hỏi phổ biến trong cổng thông tin hỗ trợ của chúng tôi |