Chủ Nhật, 28 tháng 3, 2021

Published tháng 3 28, 2021 by Chibi with 0 comment

10+ câu hỏi thường gặp nhất về Python mà bạn nên biết


Mục Lục Nội Dung

Chào các bạn, chúng ta đều biết rằng Python hiện đang là ngôn ngữ lập trình đứng TOP 1 về sự phổ biến trên thế giới.

Với sự đơn giản trong cú pháp, nhiều thư viện hỗ trợ, đa dạng trong ứng dụng thì Python ngày càng được sử dụng rộng rãi hơn.

Nhưng liệu Python có thực sự “dễ ăn” như mọi người vẫn nghĩ không? Và để trả lời cho câu hỏi này thì mời các bạn hãy cùng mình tìm hiểu kỹ hơn về loại ngôn ngữ lập trình này thông qua một số câu hỏi bên dưới nhé.

Đọc thêm:

#1. Python làm được những gì?

Thực ra thì bây giờ các ngôn ngữ lập trình như Java, JavaScript… cũng đã làm được rất nhiều thứ rồi chứ không riêng gì Python.

cau-hoi-thuong-gap-ve-python (1)

Nhưng rốt cục Python làm được những gì, và mạnh ở những điểm nào mà nó lại trở nên hót hòn họt như vậy? Vâng, thì bên dưới đây là một số ứng dụng của Python dành cho bạn nào đang tìm hiểu:

  1. Web Development: Một số Framework như Flask, DJango, FastAPI…. giúp xây dựng các ứng dụng Web, Web APIs nhanh và dễ dàng.
  2. Desktop GUI: Chúng ta có thể xây dựng các ưng dụng Desktop với Pythong bằng cách sử dụng PyQt5, Tkinter, Kivy..
  3. Trí tuệ nhân tạo & Máy học (AI & ML): Đây có lẽ là một trong những ứng dụng khiến cho Python trở nên rất “hot” như vậy. Do có nhiều thư viện hỗ trợ nên Python có thể nói là một ngôn ngữ lập trình rất mạnh mẽ trong ngành Trí tuệ nhân tạo và Máy học.
  4. Software Testing/Web Automation: Automation Testing đang ngày càng trở nên phổ biến hơn. Python có thư viện Selenium đang được sử dụng rất nhiều trong lĩnh vực Automation Testing và lấy dữ liệu trên các trang web.
  5. Xử lý hình ảnh, video: Công nghệ xử lý ảnh hiện nay đang ngày càng phát triển với sự hỗ trợ của nhiều thư viện khác nhau. Tiêu biểu nhất phải kể đến các thư viện như OpenCV, và thư viện này cũng hỗ trợ Python rất mạnh.

=> Và đó chính là những ưu điểm nổi bật của ngôn ngữ lập trình Python, ngoài ra còn nhiều ứng dụng nhỏ nhỏ khác nữa. Đặc biệt là trong lĩnh vực AI/ML thì Python có lẽ là số một, bởi số lượng thư viện hỗ trợ lớn, rất phù hợp.

#2. Bạn thích gì ở Python?

cau-hoi-thuong-gap-ve-python (2)

Phải nói Python có rất nhiều ưu điểm để chúng ta phải xem xét việc học Python ngay và luôn. Vậy cụ thể hơn đi, bạn thích gì ở ngôn ngữ lập trình này?

  • Là mã nguồn mở, miễn phí và có nhiều thư viện được cộng đồng xây dựng và phát triển sẵn.
  • Hỗ trợ đa nền tảng, bạn có thể sử dụng Python ngay trên Windows, Linux hoặc là Mac OS
  • Dễ học, dễ tiếp cận do cú pháp đơn giản, gần giống như tiếng anh vậy.
  • Là một ngôn ngữ lập trình bậc cao, với đầy đủ các chức năng như OOP, lập trình hàm…
  • Có thể tích hợp với các ứng dụng, chương trình viết bằng ngôn ngữ khác (khá là linh hoạt).
  • Có đầy đủ các cấu trúc dữ liệu cơ bản và các hàm dựng sẵn => rất tiện lợi trong quá trình sử dụng.

#3. Quản lý bộ nhớ trong Python

cau-hoi-thuong-gap-ve-python (3)

Python sử dụng Private Headspace để quản lý bộ nhớ. Tất cả các đối tượng trong Python và các loại cấu trúc dữ liệu đều được đặt ở đây.

Python cũng có một trình quản lý bộ nhớ để quản lý việc phân bổ các ô nhớ của Private Heapspace.

Ngoài ra thì Python cũng có một bộ thu gom rác tự động (Garbage Collector) giống như Java để thực hiện giải phóng các ô nhớ không sử dụng.

#4. Các kiểu cấu trúc dữ liệu chính trong Python là gì?

cau-hoi-thuong-gap-ve-python (4)

Python có 4 kiểu cấu trúc dữ liệu chính đó là: List, Sets, Dictionary, Tuple. Cụ thể hơn thì như sau:

  • List: Đây là kiểu dữ liệu danh sách, nó cho phép bạn lưu trữ tất cả các loại kiểu dữ liệu khác.
  • Sets: Đây là kiểu dữ liệu danh sách, không cho phép dữ liệu trùng lặp trong Set (nó sẽ tự thực hiện Remove Duplicate).
  • Dictionary: Kiểu dữ liệu key-value (bạn hình dung nó giống map trong Java vậy).
  • Tuple: Đây là kiểu dữ liệu theo từng cặp (2, 3, 4,… phần tử).

Ngoài ra còn kiểu cấu trúc dữ liệu liệu do người dùng định nghĩa dựa trên các kiểu cấu trúc dữ liệu cơ bản đó là: Stack, Queue, Tree, HashMap…

#5. Các lệnh break, continue và pass khác gì nhau?

cau-hoi-thuong-gap-ve-python (1)

  • Break: Được sử dụng để kết thúc vòng lặp khi một điều kiện được thỏa mãn.
  • Continue: Ngưng thực hiện các câu lệnh phía dưới nó, vòng lặp sẽ quay lại để nạp giá trị mới.
  • Pass: Bỏ qua thực thi các câu lệnh ở phía sau.

#6. Làm sao cải thiện tốc độ thực thi của Python?

cau-hoi-thuong-gap-ve-python (2)

Python thực chất là ngôn ngữ lập trình thông dịch nên mặc dù Python có cú pháp dễ học, dễ sử dụng nhưng tốc độ thực thi khá là chậm (do không biên dịch trực tiếp ra mã máy)

Vì vậy mà chúng ta cần một trình thông dịch trung gian đó là Cython để thông dịch Source code Python thành định dạng trung gian là *.pyc file (pycache) => rồi sau đó mới thực hiện biên dịch PYC file đó sang mã máy.

Ngoài ra thì bạn cũng có thể thực hiện thay đổi trong source code:

  • Tối ưu thuật toán, tối ưu chương trình, cấu hình thiết bị.
  • Sử dụng các thư viện và hàm có sẵn để nâng cao hiệu năng thay vì viết lại và tự tối ưu chương trình.
  • Hạn chế các đoạn code thừa, code bẩn hoặc tạo ra các vòng lặp vô nghĩa.

#7. Phân biệt biến toàn cục và cục bộ trong Python

cau-hoi-thuong-gap-ve-python (1)

  • Biến toàn cục (Global Variable) : Được khai báo ở bên ngoài hàm hoặc trong phạm vi toàn chương trình. Chúng ta có thể truy cập tới những biến này ở bất cứ đâu tùy thích trong chương trình.
  • Biến cục bộ (Local Variable): Đây là những biến được khai báo bên trong một hàm nào đó. Những biến này chỉ có sẵn trong một phạm vi nhất định thay vì ở phạm vi toàn cục như các biến Global.

#8. Tham chiếu và tham trị trong Python

cau-hoi-thuong-gap-ve-python (5)

Với Python, mọi thứ đều là một object và tất cả các biến đều tham chiếu tới các đối tượng. Các giá trị tham chiếu sẽ được trỏ tới các hàm.

Vì vậy ta không thể thay đổi giá trị của kiểu dữ liệu này. Nhưng chúng ta lại có thể thay đổi một đối tượng vì chúng là kiểu dữ liệu Mutable (có thể thay đổi).

Ngoài ra, chúng ta cũng có thể sắp xếp các đối số bằng cách sử dụng các chỉ định *** trong danh sách các tham số của hàm khi muốn truyền tham số tùy chọn hoặc từ khóa từ hàm này sang hàm khác.

#9. Namespace trong Python là gì?

cau-hoi-thuong-gap-ve-python (3)

Namespace trong Python là một hệ thống có một tên duy nhất cho mỗi đối tượng trong Python. Một đối tượng có thể là một biến hoặc một phương thức.

Bản thân Python duy trì một Namespace dưới dạng từ điển Python. Python có nhiều loại Namespace khác nhau.

Khi người dùng tạo một module thì một Namespace toàn cục sẽ được khởi tạo việc tạo các hàm cục bộ sau đó sẽ tạo ra Namespace cục bộ.

Namespace tích hợp sẵn bao gồm Namespace toàn cục và Namespace toàn cục bao gồm Namespace cục bộ.

#10. Sự khác nhau giữa List và Tuple trong Python là gì?

cau-hoi-thuong-gap-ve-python (4)

Danh sách (List): Một List là kiểu dữ liệu đa năng có thể thay đổi được với cú pháp được hiển thị bằng dấu ngoặc vuông []. List có thể có độ dài thay đổi được và nó làm việc chậm hơn so với Tuple.

Cú pháp ví dụ như sau: my_list = [22, ‘coding’, ‘learning’, ’19’, ‘python’].

Bộ Dữ Liệu (Tuple): Một Tuple là một chuỗi các đối tượng bất biến (hay nói cách khác, Tuple không thể chỉnh sửa được).

Với cú pháp cho Tuple được hiển thị bằng dấu ngoặc đơn (). Không giống với List, Tuple có chiều dài cố định và thường làm việc nhanh hơn.

Cú pháp ví dụ như sau: my_tup = (22, ‘coding’, ‘learning’, ’19’, ‘python’)

#11. Kết luận

Vâng, trên đây là 10 câu hỏi thường gặp nhất về Python mà khi mới làm quen với ngôn ngữ lập trình này thì có thể bạn sẽ gặp phải.

Những câu hỏi mà mình vừa liệt kê ra là những câu hỏi mang tính lý thuyết, thực tế sẽ có nhiều câu hỏi mang tính thực hành hơn. Nhưng những câu hỏi lý thuyết này rất quan trọng, bạn phải nắm chắc được thì mới có thể làm được các ví dụ thực tế.

Hi vọng là bài viết này sẽ giúp bạn hiểu hơn về Python và một vài ưu điểm nổi bật của nó. Hẹn gặp lại các bạn trong các bài viết tiếp theo nha !

CTV: Nguyễn Đức Cảnh – Blogchiasekienthuc.com

Note: Bài viết này hữu ích với bạn chứ? Đừng quên đánh giá bài viết, like và chia sẻ cho bạn bè và người thân của bạn nhé !

Let's block ads! (Why?)


Xem Them Chi Tiet

Nhung Mon Do Cong Nghe Duoc Yeu Thich

Do Cong Nghe Phu Kien
      edit

0 nhận xét:

Đăng nhận xét