59 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
		
		
			
		
	
	
			59 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| 
								 | 
							
								---
							 | 
						||
| 
								 | 
							
								title: Python Complex Numbers
							 | 
						||
| 
								 | 
							
								---
							 | 
						||
| 
								 | 
							
								Complex numbers have a real and an imaginary part, each represented by a floating point number.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The imaginary part of a complex number can be created using an imaginary literal, this results in a complex number with a real part of `0.0`:
							 | 
						||
| 
								 | 
							
								```python
							 | 
						||
| 
								 | 
							
								>>> a = 3.5j
							 | 
						||
| 
								 | 
							
								>>> type(a)
							 | 
						||
| 
								 | 
							
								<class 'complex'>
							 | 
						||
| 
								 | 
							
								>>> print(a)
							 | 
						||
| 
								 | 
							
								3.5j
							 | 
						||
| 
								 | 
							
								>>> a.real
							 | 
						||
| 
								 | 
							
								0.0
							 | 
						||
| 
								 | 
							
								>>> a.imag
							 | 
						||
| 
								 | 
							
								3.5
							 | 
						||
| 
								 | 
							
								```
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								No literal exists for creating a complex number with non-zero real and imaginary parts. To create a non-zero real part complex number, add an imaginary literal to a floating point number:
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								```python
							 | 
						||
| 
								 | 
							
								>>> a = 1.1 + 3.5j
							 | 
						||
| 
								 | 
							
								>>> type(a)
							 | 
						||
| 
								 | 
							
								<class 'complex'>
							 | 
						||
| 
								 | 
							
								>>> print(a)
							 | 
						||
| 
								 | 
							
								(1.1+3.5j)
							 | 
						||
| 
								 | 
							
								>>> a.real
							 | 
						||
| 
								 | 
							
								1.1
							 | 
						||
| 
								 | 
							
								>>> a.imag
							 | 
						||
| 
								 | 
							
								3.5
							 | 
						||
| 
								 | 
							
								```
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Or use the <a href='https://docs.python.org/3/library/functions.html#complex' target='_blank' rel='nofollow'>complex constructor</a>.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								```python
							 | 
						||
| 
								 | 
							
								class complex([real[, imag]])
							 | 
						||
| 
								 | 
							
								```
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The arguments used to call the complex constructor can be of numeric (including `complex`) type for either parameter:
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								```python
							 | 
						||
| 
								 | 
							
								>>> complex(1, 1)
							 | 
						||
| 
								 | 
							
								(1+1j)
							 | 
						||
| 
								 | 
							
								>>> complex(1j, 1j)
							 | 
						||
| 
								 | 
							
								(-1+1j)
							 | 
						||
| 
								 | 
							
								>>> complex(1.1, 3.5)
							 | 
						||
| 
								 | 
							
								(1.1+3.5j)
							 | 
						||
| 
								 | 
							
								>>> complex(1.1)
							 | 
						||
| 
								 | 
							
								(1.1+0j)
							 | 
						||
| 
								 | 
							
								>>> complex(0, 3.5)
							 | 
						||
| 
								 | 
							
								3.5j
							 | 
						||
| 
								 | 
							
								```
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								A `string` can also be used as the argument. No second argument is allowed if a string is used as an argument
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								```python
							 | 
						||
| 
								 | 
							
								>>> complex("1.1+3.5j")
							 | 
						||
| 
								 | 
							
								(1.1+3.5j)
							 | 
						||
| 
								 | 
							
								```
							 |