Bước khởi đầu với python

Các ngôn ngữ lập trình ngày càng nhiều, ngày càng có những ngôn ngữ mới, ngắn gọn, mạnh mẽ. Bên cạnh đó có những ngôn ngữ tuy ra đời từ lâu nhưng vẫn khẳng định được vị thế của mình. Bài viết này mình sẽ viết về một cái nhìn tổng quan về python - một ngôn ngữ lập trình không xa lạ với anh em dev, trải qua nhiều năm nhưng vẫn chưa hề hết hot.

1. Python là gì?

Không khó để tìm khái niệm python trên mạng, mình sẽ tóm gọn các ý như sau:

  • Python là ngôn ngữ lập trình cấp cao, mạnh mẽ được tạo ra bởi Guido van Rossum.
  • Phát hành năm 1991.
  • Nó dễ dàng để tìm hiểu và học, là một trong những ngôn ngữ lập trình nhập môn tốt nhất cho người lần đầu tiếp xúc với ngôn ngữ lập trình bên cạnh C, C++...
  • Python hoàn toàn tạo kiểu động và sử dụng cơ chế cấp phát bộ nhớ tự động.
  • Python có cấu trúc dữ liệu cấp cao mạnh mẽ và cách tiếp cận đơn giản nhưng hiệu quả đối với lập trình hướng đối tượng.
  • Cú pháp lệnh của Python ngắn gọn, rõ ràng, dễ hiểu và dễ dàng ứng dụng và phát triển trong nhiều nền tảng ứng dụng.

Vậy là chúng ta đã có một cái nhìn, hiểu sơ sơ python là cái gì rồi!

2. Tại sao nên chọn python?

Vì sao nên chọn python? các bạn hãy xem những lí do dưới đây có đủ thuyết phục để bạn bắt đầu với python không nhé!

  • Mức lương là lí do đầu tiên cần chú ý tới. Các lập trình viên Python tại Mỹ được hưởng một mức lương trung bình là $107k/ năm (thống kê năm 2016). Trong một nghiên cứu khác, các lập trình viên Python có mức tăng lương hàng năm cao nhất (4%) so với các chuyên gia CNTT đi theo công nghệ khác.
  • Ngôn ngữ lập trình đơn giản, dễ học: Python có cú pháp rất đơn giản, rõ ràng. Nó dễ đọc và viết hơn rất nhiều khi so sánh với những ngôn ngữ lập trình khác như C++, Java, C#. Python làm cho việc lập trình trở nên thú vị, cho phép bạn tập trung vào những giải pháp chứ không phải cú pháp, nó cũng sẽ là một bước đệm để bạn đến với ngôn ngữ khác nhanh hơn.
  • Tương lai của trí tuệ nhân tạo: Nhờ tính linh hoạt, cú pháp ngắn ngon, tốc độ xử lí python được sử dụng nhiều trong machine learning, khai thác dữ liệu và deep learning.
  • Cộng đồng hỗ trợ lớn: Một ưu điểm nữa là python có một cộng đồng hỗ trợ rộng lớn, có nhiều diễn đàn giúp bạn có thể giải quyết vấn đề khi gặp khó khăn với python như: https://www.reddit.com/r/learnpython/ https://groups.google.com/forum/#!forum/comp.lang.python https://stackoverflow.com/tags/python

Tiếp theo thì chúng ta sẽ đi tìm hiểu một số framework của python nhé!

3. Một số framework khi lập trình python

a, Django

  • Django là một Python framework với mã nguồn mở hoàn toàn miễn phí.
  • Framework này được tích hợp gần như mọi thư viện, module cần thiết để các lập trình viên có thể đưa ý tưởng trở thành sản phẩm chỉ sau một vài giờ.
  • Django có tính xác thực và bảo mật cao. Bạn sẽ không còn các nỗi lo về các lỗi bảo mật thông thường như SQL Injection, cross-site scripting, cross-site request forgery hay clickjacking nữa. Django cũng cung cấp cả phương pháp để lưu mật khẩu an toàn.
  • Django có tính linh hoạt cao, cung cấp đủ features cho phát triển ứng dụng web như template, form, routing, authentication, basic database administration, and more ...Vì vậy, Django là sự lựa chọn tốt cho những ai đã biết Python trước đó và muốn phát triển ứng dụng một cách nhanh chóng nhất.

b, Flask

  • Flask cũng là một framwork cho ứng dụng web có mã nguồn mở, dễ cài đặt triển khai, nguồn tham khảo phong phú.
  • Flask là một micro web framework. "Micro" không có nghĩa là thiếu chứ năng mà có nghĩa là cung cấp một lõi chức năng súc tích nhất cho ứng dụng web và người dùng có thể mở rộng bất cứ lúc nào.
  • Flask đã xây dựng nên một micro framework với cấu trúc và cách viết cực kỳ đơn giản, dễ tiếp cận, dễ làm quen, dễ đọc, dễ hiểu, dễ định tuyến, dễ mở rộng.
  • Flask phù hợp để bạn xây dựng những ứng dụng nhỏ hơn so với Django. Hay bạn muốn xây dựng theo hệ thống của riêng mình phù hợp với những dev mới.

c, Pyramid

  • Pyramid cũng là một framwork cho ứng dụng web có mã nguồn mở
  • Pyramid được đánh giá cao là bởi nó có thể chạy tốt đối với bất cứ quy mô ứng dụng nào, dù lớn hay nhỏ.
  • Sử dụng Pyramid sẽ giúp lập trình viên có khả năng vận dụng linh hoạt đối với bất cứ dự án nào.

d, Bottle

  • Bottle cũng là một micro framework, là một web framework nhỏ và nhẹ, nhưng cũng khá nhanh.
  • Bottle không phải phụ thuộc vào yếu tố gì trừ các thư viện Python chuẩn. Bằng việc lập trình với Bottle, bạn có thể tiếp cận tới CTM nhanh hơn bất cứ full-stack framework nào.
  • Sử dụng Bottle là giải pháp tuyệt vời để bạn phát triển thuật toán, học các cấu trúc của web framework và tạo ra các ứng dụng cá nhân đơn giản.

Một trong những lí do mà python được nhiều lập trình viên lựa chọn và là ngôn ngữ phát triển mạnh đó là do python có nhiều thư viện hỗ trợ mạnh mẽ cho data science. Tiếp theo chúng ta sẽ cùng tìm hiểu một số thư viện phổ biến của python trong lĩnh vực data science.

4. Python và Data science

a, NumPy

Numpy là một thư viện toán học rất phổ biến của python, nó giống với mathlab. Numpy được viết bằng Python nhằm phục vụ cho việc tính toán khoa học. Trong gói phần mềm này gồm một số thứ cơ bản sau:

  • Tập các mảng đa nhiều mạnh mẽ

  • Tập các hàm tính toán tinh vi

  • Có thể tích hợp với C/C++ và Fortran

  • Thuận tiện khi làm việc với đại số tuyến tính

  • Hỗ trợ biến đổi Fourier

  • Khả năng tạo các số ngẫu nhiên mạnh mẽ

NumPy đặt biệt làm việc hiệu quả với ma trận, tính toán trên ma trận cũng là thư viện được sử dụng phổ biến nhất hiện nay để làm việc với các phép toán khoa học. Với lĩnh vực học máy, các gói phần mềm nền để xây dựng các bài toán học máy hầu hết được viết bằng Python và có sử dụng Numpy. Numpy còn có nhiều kiểu dữ liệu đa chiều giúp cho việc tính toán, lập trình, làm việc với các hệ cơ sở dữ liệu cực kì thuận tiện. Nên ngoài tính toán khoa học ra, việc sử dụng chúng khi lập trình cũng rất hữu ích.

b, Pandas

Thư viện pandas trong python là một thư viện mã nguồn mở, hỗ trợ đắc lực trong thao tác dữ liệu, được cộng đồng đánh giá là high-performance, việc xử lý dữ liệu, tính toán sẽ dễ dàng hơn rất nhiều cách truyền thống. Thư viện này được sử dụng rộng rãi trong cả nghiên cứu lẫn phát triển các ứng dụng về khoa học dữ liệu. Các tính năng chính của pandas:

  • DataFrame đem lại sự linh hoạt và hiệu quả trong thao tác dữ liệu và lập chỉ mục;
  • Là một công cụ cho phép đọc/ ghi dữ liệu giữa bộ nhớ và nhiều định dạng file: csv, text, excel, sql database, hdf5
  • Liên kết dữ liệu thông minh, xử lý được trường hợp dữ liệu bị thiếu. Tự động đưa dữ liệu lộn xộn về dạng có cấu trúc
  • Dễ dàng thay đổi bố cục của dữ liệu
  • Tích hợp cơ chế trượt, lập chỉ mục, lấy ra tập con từ tập dữ liệu lớn
  • Tập hợp hoặc thay đổi dữ liệu với group by cho phép bạn thực hiện các toán tử trên tập dữ liệu
  • Lập chỉ mục theo các chiều của dữ liệu giúp thao tác giữa dữ liệu cao chiều và dữ liệu thấp chiều
  • Hiệu quả cao trong trộn và kết hợp các tập dữ liệu;
  • Tối ưu về hiệu năng, được sử dụng rộng rãi trong cả học thuật và thương mại. Bao gồm thống kê, thương mại, phân tích, quảng cáo,…

c, SciPy

SciPy là viết tắt của Science Python, nó là một thư viện mã nguồn mở các thuật toán và các công cụ toán học cho Python. SciPy cung cấp khá nhiều module tính toán từ đại số tuyến tính, tích phân, vi phân, nội suy đến xử lý ảnh, fourier transform blabla… Chức năng của nó tương tự như MathLab, Octave. Scilab, R… nhưng nó được sử dụng khá rộng rãi do có hệ thống thư viện tính toán mạnh, mã nguồn mở và cộng đồng đang dần lớn mạnh từng ngày.

Các tính năng chính của pandas:

  • Rõ ràng, dễ hiểu, gần gũi với ngôn ngữ tự nhiên
  • Thao tác với ma trận cực kì đơn giản
  • Vẽ các đồ thị, tạo ra các mô hình tính toán, mô phỏng hoạt động truyền tin giữa các host trong mạng...

Vậy là mình đã viết xong overview về python cho các bạn bắt đầu tìm hiểu về ngôn ngữ này, các link tham khảo:

https://itviec.com/blog/tai-lieu-lap-trinh-python/

https://quantrimang.com/python-la-gi-tai-sao-nen-chon-python-140518

http://itplus-academy.edu.vn/framework-nao-hoan-hao-cho-lap-trinh-python-1944.html

https://dominhhai.github.io/vi/2017/09/matrix-op/

https://nguyenvanhieu.vn/thu-vien-pandas-python/#Tai-sao-lai-dung-thu-vien-pandas