One major reason for the increasing popularity of Python is that it has many powerful modules and libraries, which may solve numerous professional application problems. For example, the SciPy library and NumPy may solve mathematical problems, while BioPython may solve biological problems. Python has quite convenient toolkits to calculate for some mathematical problems. Like the above mentioned math library or SciPy. Here's a simple case we talked before. Well, let's have a look first. We use the "linspace()" function to generate a dataset, which is an arithmetic progression from –PI to PI. Then, we calculate their sine values and cosine values and use the "plot()" function for plotting, adding some titles and labels as well. Finally,, we get such a plot. Have you got it? It's quite easy. "sin()" and "cos()" are very fundamental functions in math. For more complex operations, say, fast Fourier transform to a dataset, there must be a corresponding function. For example, we can utilize the "fft()" function in SciPy. There are a group of functions for Fourier transform, which can meet our needs. They are just two small examples, Previously, we also mentioned some applications in NumPy and the SciPy library. You guys might still remember that Python well supports various mathematical applications. And of course, math is extensively applied even in the fields of humanities or social sciences. Apart from solving math problems, Python is also capable of solving problems in professional fields like image and audio. Take image processing for example, A common Python image processing library is PIL, which has been replaced by Pillow as well as OpenCV and Skimage. PIL is the most fundamental image processing library in Python. This software package provides very fundamental capabilities of image processing like changing an image size, rotating an image and conversion of image formats, image enhancement etc. OpenCV is an image processing library with better performances. It contains a ton of algorithms and functions. Its Python interface is basically identical to its C language interface. So, if any of you have experience in using OpenCV, recommend OpenCV to you. And Skimage is an image processing toolkit for serving SciPy. It's not frequently used in daily work. Take a fundamental image processing library. Pillow, for example, Look at a very simple example. First, let's import such a module, image, and then use the "open()" function to open an image. This is an image object, The most important class in Pillow is image. Then, we output some of its attributes like the size, format and pattern. Again, we save this image as 2.png and then open the second image. Set a size. What's the effect of the "thumbnail()" function? It's not the fingernail but a reduced-size version of pictures. It is to create a thumbnail of the second image rotate(45) means to rotate for an angle of 45 degrees. Turn it counterclockwise. Next, paste the rotated image onto the first image. This is put at the position of upper left. Can you think of what the effect of this program is? Let's demonstrate the program. Run it. It outputs a series of attributes of the image. Let's look at im1. It adds a watermark of image onto the original image. Is your guess correct? That's all for the basic use of Pillow. How do you feel it? It seems not as difficult as we imagined, right? Apart from in such professional fields as image and audio, Python also owns special libraries in academic fields like biology, medicine and astronomy. Let's look at an bioinformation library: Biopython. Biopython comes from Biopython which is an international association of developers of Python tools for computational molecular biology. Its main capabilities include: analyzing bioinformatics files into data structures utilizable to Python, and, for example, processing common online database codes of bioinformatics, as well as providing some common interfaces for bioinformation programs. Look at an example. The most important object in biology is sequence. We may use the "seq()" function to create a corresponding sequence object. It's also possible, through this attribute to view the attribute of sequence object. The return result shows that, it is a sequence object composed of alphabet. It means, it has yet to be designated to be a DNA or a protein sequence. Then, let's look at what this is. It is called Arabidopsis thaliana, a kind of grass. This is its chromosome arrangement diagram of transfer RNA. All the above information on Biopython comes from its official website. Actually, I didn't quite get it ^_^. Here, we only showed a simple case. If you major in biology, you may give Biopython a try. Sure, for other majors. I believe you can also find some corresponding Python toolkits .