Một số thuật toán cơ bản xung quanh số nguyên tố – Python

Giới thiệu

Trong nội dung bài này, chúng ta cùng nhau tìm hiểu một số kiến thức cơ bản xung quanh số nguyên tố.

Một số tự nhiên p (p > 1) là số nguyên tố nếu p có đúng 02 ước số là 1 và p.

Ví dụ các số nguyên tố: 2, 3, 5, 7, 11, 13, 17, 19, 23, …

Chúng ta cùng nhau thực hiện một số giải thuật cơ bản bằng ngôn ngữ Python để giải quyết các bài toán con sau:

  • Kiểm tra xem một số tự nhiên n có phải là số nguyên tố hay không.
  • Liệt kê các số nguyên tố nằm trong phạm vi [1, n].

Kiểm tra tính nguyên tố

Giải thuật thứ nhất

Ý tưởng giải thuật

Chúng ta kiểm tra xem có tồn tại một số nguyên k (2 ≤ k ≤ n – 1) mà k là ước của n (n chia hết cho k) thì n không phải là số nguyên tố, ngược lại n là số nguyên tố.

Trên thực tế ta chỉ cần kiểm tra k từ 2 đến √n là được.

Bước 1.

Chúng ta tạo một PyDev Project trong Eclipse IDE và đặt tên là PythonAlgorithmBasicProject.

Chúng ta tiếp tục tạo package mainmodule Main.py cùng phương thức main() mặc định.

Bước 2.

Chúng ta tạo package algorithmmodule SoNguyenTo.py.

Chúng ta tiếp tục tạo phương thức kiemTraSNTFirst() với:

  • Tham số cho phương thức này là một số tự nhiên n.
  • Phương thức trả về kết quả: (i) True nếu n là số nguyên tố; (ii) False nếu ngược lại.

Bước 3.

Chúng ta thực hiện giải thuật bằng ngôn ngữ Python như sau:

Những kỹ thuật lập trình cần chú ý:

  • Phương thức để tính căn bậc 2 của một số tự nhiên nmath.sqrt().
  • Phương thức để lấy phần nguyên của một số thập phân là round().
  • Thư viện math định nghĩa các phương thức dùng tính toán các biểu thức toán học cơ bản. Các phương thức này đều là tĩnh nên được gọi trực tiếp bằng cú pháp math.phương_thức().

Bước 4.

Chúng ta thực hiện thử nghiệm phương thức kiemTraSNTFirst() trong module Main.py như sau:

Bước 5.

Chúng ta thực thi toàn bộ project để kiểm tra kết quả thử nghiệm:

Giải thuật thứ hai

Ý tưởng giải thuật

Chúng ta sẽ chỉ kiểm tra các số k có tính chất giống với một trong hai tính chất cơ bản sau của số nguyên tố:

  • Trừ số 2 và các số nguyên tố là số lẻ.
  • Trừ số 2, 3, các số nguyên tố có dạng 6k ± 1 (vì số có dạng 6k ± 2 thì chia hết cho 2, số có dạng 6k ± 3 thì chia hết cho 3).

Bước 1.

Chúng ta thực hiện giải thuật bằng ngôn ngữ Python như sau:

Bước 2.

Chúng ta thực hiện thử nghiệm phương thức kiemTraSNTSecond() trong module Main.py như sau:

Bước 3.

Chúng ta thực thi toàn bộ project để kiểm tra kết quả thử nghiệm:

Liệt kê các số nguyên tố trong đoạn [1, N]

Giải thuật thứ nhất

Ý tưởng giải thuật

Chúng ta lần lượt xem xét các số m trong đoạn [1, n], rồi kiểm tra tính nguyên tố của m.

Bước 1.

Chúng ta thực hiện giải thuật bằng ngôn ngữ Python như sau:

Những kỹ thuật lập trình cần chú ý:

  • Python cung cấp cho chúng ta một số kiểu dữ liệu lưu trữ tập hợp. Chúng ta thường sử dụng một số dạng sau: (i) List để lưu trữ không giới hạn các phần tử có thể trùng nhau; (ii) Tuple để lưu trữ một số lượng cố định các phần tử không trùng nhau; (ii) Dictionary để lưu trữ không giới hạn các phần tử theo từng cặp <từ_khóa, giá_trị>. Chúng ta sẽ dần tìm hiểu cụ thể hơn trong những bài tiếp theo.
  • Khác với những ngôn ngữ khác như Java / Csharp. Python không quy định cứng kiểu dữ liệu cho từng phần tử trong tập hợp. Do vậy chúng ta phải chủ động xác định kiểu dữ liệu cho từng phần tử trong tập hợp.
  • Với tham số là một biến riêng lẻ, giá trị của tham số sẽ không bị thay đổi sau khi thực hiện phương thức.
  • Với tham số là một List hay Dictionary, các phần tử của danh sách có thể bị thay đổi sau khi thực hiện phương thức.

Bước 2.

Chúng ta thực hiện thử nghiệm phương thức lietKeSNTFirst() trong module Main.py như sau:

Bước 3.

Chúng ta thực thi toàn bộ project để kiểm tra kết quả thử nghiệm:

Giải thuật thứ hai

Ý tưởng giải thuật

Chúng ta áp dụng sàng Eratosthenes để tìm các số nguyên tố nhỏ hơn hoặc bằng số tự nhiên n:

  • Bước 1: Tạo 1 danh sách các số tự nhiên liên tiếp từ 2 đến n: (2, 3, 4,…, n).
  • Bước 2: Giả sử tất cả các số trong danh sách đều là số nguyên tố. Trong đó, p = 2 là số nguyên tố đầu tiên.
  • Bước 3: Tất cả các bội số của p: 2p, 3p, 4p,… sẽ bị đánh dấu vì không phải là số nguyên tố.
  • Bước 4: Tìm các số còn lại trong danh sách mà chưa bị đánh dấu và phải lớn hơn p. Nếu không còn số nào, dừng tìm kiếm. Ngược lại, gán cho p giá trị bằng số nguyên tố tiếp theo và quay lại bước 3.

Khi giải thuật kết thúc, tất các số chưa bị đánh dấu trong danh sách là các số nguyên tố cần tìm.

Bước 1.

Chúng ta thực hiện giải thuật bằng ngôn ngữ Python như sau:

Bước 2.

Chúng ta thực hiện thử nghiệm phương thức lietKeSNTSecond() trong module Main.py như sau:

Bước 3.

Chúng ta thực thi toàn bộ project để kiểm tra kết quả thử nghiệm:

Tổng kết

Trong bài này, chúng ta đã cùng nhau tìm hiểu một số giải thuật cơ bản xung quanh số nguyên tố và thực hiện bằng ngôn ngữ Python.

Hy vọng rằng chúng ta có thể áp dụng phù hợp những kỹ thuật và chức năng này cho những bài tiếp theo.

Học kỹ thuật lập trình Python cơ bản qua các ví dụ – Phần 2 – Xây dựng phương thức và Debug trong Eclipse IDE

Giới thiệu

Tiếp theo nội dung của bài trước, trong bài này chúng ta cùng nhau tìm hiểu một số kỹ thuật lập trình cơ bản trong Python đồng thời tìm hiểu một số chức năng cần thiết trong Eclipse IDE.

Chúng ta thực hiện tiếp Yêu cầu 2 và Yêu cầu 3 của bài toán cơ bản thông qua những kỹ thuật về lập trình:

  • Kỹ thuật vòng lặp for kiểu mới.
  • Câu lệnh điều khiển và rẽ nhánh.
  • Các toán tử cơ bản.
  • Định nghĩa và thực thi các phương thức.

Chúng ta cũng tìm hiểu phương pháp debug trong Eclipse IDE để kiểm tra từng câu lệnh cũng như bắt lỗi.

Những kỹ thuật được trình bày sẽ mang tính phổ quát và độc lập ngôn ngữ lập trình. Điều đó có nghĩa rằng chúng ta có thể áp dụng ý tưởng từ các kỹ thuật này khi tìm hiểu các ngôn ngữ khác như PHP / C# / Java.

Xây dựng phương thức trong Python

Một phương thức trong Python là một khối các câu lệnh có tên và có thể được thực thi bằng cách gọi từ một nơi khác trong chương trình.

Cấu trúc cú pháp của một phương thức như sau:

def tên_phương_thức (danh_sách_tham_số) :
  // Thực hiện công việc

Chúng ta có hai dạng phương thức chính:

  • Dạng phương thức không trả về kết quả.
  • Dạng phương thức có trả về kết quả.

Xây dựng phương thức không trả về kết quả

Bước 1.

Chúng ta thực hiện việc tạo một PyDev Project mới trong Eclipse IDE.

Chúng ta tiếp tục thực hiện việc tạo package mainmodule Main.py.

Màn hình giao diện Eclipse IDE hiển thị nội dung của module Main.py hiện ra.

Bước 2.

Chúng ta thực hiện việc tạo package baitapmodule class BaiCoBan.py.

Nội dung về packagemodule class sẽ được thảo luận sâu hơn trong các bài tiếp theo về lập trình hướng đối tượng.

Ở đây chúng ta chỉ cần chú ý tạo theo hướng dẫn, trong đó tên của packagemodule class có thể đặt theo mục đích riêng.

Chúng ta tiếp tục tạo phương thức:

def tinhTong(self):

Những điểm đáng chú ý ở đây:

  • Phương thức trong Python không có quy định kiểu dữ liệu trả về cũng như phạm vi được truy xuất tương tự như trong Java / C#.
  • Chúng ta sẽ tự quyết định về việc có dữ liệu trả về hay không đối với từng phương thức.
  • Tham số self là một từ khóa mặc định, cho biết đây là phương thức bên trong một class. Điều này giúp phân biệt cách thức gọi đến đối với một phương thức bên ngoài class.

Bước 3.

Nội dung đầu tiên bên trong phương thức tinhTong() như sau:

Bước 4.

Nội dung thứ hai bên trong phương thức tinhTong() như sau:

Bước 5.

Nội dung thứ ba bên trong phương thức tinhTong() như sau:

Ở đây chúng ta có một số điểm cần chú ý:

  1. Thứ nhất, kỹ thuật lặp for mới.

Cú pháp cho kỹ thuật lặp for mới như sau:

for phần_tử in danh_sách :
  // Thực hiện công việc

Ý nghĩa của cú pháp trên: hệ thống tự động truy xuất lần lượt từng phần tử trong danh_sách và gán giá trị cho phần_tử.

  1. Thứ hai, câu lệnh điều kiện và rẽ nhánh.

Câu lệnh điều kiện if có cấu trúc cú pháp như sau:

if (điều_kiện_1) :
  // Thực thi công việc nếu điều_kiện_1 là đúng
elif (điều_kiện_2) :
  // Thực thi công việc nếu điều_kiện_2 là đúng
else :
  // Thực thi công việc nếu cả điều_kiện_1 và điều_kiện_2 đều sai

Chú ý rằng tùy trường hợp chúng ta mới cần đến rẽ nhánh elif hoặc else.

  1. Thứ ba, một số toán tử cơ bản.

Chúng ta có thể tham khảo một số toán tử cơ bản trong Python như sau:

  • Toán tử +. Thực hiện phép cộng: x + y.
  • Toán tử . Thực hiện phép trừ: x – y.
  • Toán tử *. Thực hiện phép nhân: x * y.
  • Toán tử /. Thực hiện phép chia: x / y.
  • Toán tử %. Thực hiện phép chia lấy số dư: x % y.

Bước 6.

Nội dung thứ tư bên trong phương thức tinhTong() như sau:

Bước 7.

Chúng ta thực thi phương thức tinhTong() trong module Main.py như sau:

Xây dựng phương thức có trả về kết quả

Bước 1.

Đối với phương thức tinhTong() có trả về kết quả, chúng ta có một số chú ý như sau:

  • Chúng ta có thể cung cấp tham số cho phương thức này. Ở đây chúng ta cung cấp tham số là mảng tapHop để thực hiện việc tính tổng các số tự nhiên.
  • Do là có trả về kết quả nên ở câu lệnh cuối chúng ta sử dụng từ khóa return. Ở đây chúng ta thực hiện return tong.

Bước 2.

Trong phương thức main() của module Main.py, chúng ta thực hiện một số nội dung trước khi thực thi phương thức tinhTongSoChan().

Chúng ta chú ý rằng nên định nghĩa một biến để lưu giá trị được trả về của phương thức tinhTongSoChan().

Bước 3.

Chúng ta thực thi toàn bộ project để thử nghiệm những đoạn mã nguồn Python được xây dựng bên trên:

Thực hiện Debug để kiểm tra các dòng lệnh và bắt lỗi trong Eclipse IDE

Bước 1.

Chúng ta nhấn chuột phải vào cột bên trái dòng lệnh muốn bắt đầu thực hiện debug.

Chúng ta lựa chọn chức năng Add Breakpoint để tạo điểm bắt đầu debug.

Bước 2.

Chúng ta nhận thấy có sự xuất hiện của một chấm nhỏ màu xanh ngay vị trí dòng lệnh này.

Chúng ta nhấn chuột phải vào chấm nhỏ này để tham khảo các chức năng đối với breakpoint.

Bước 3.

Chúng ta chú ý đến nút hình con bọ trên thanh Toolbars và nút mũi tên ngay bên phải.

Chúng ta lựa chọn thực hiện chức năng debug project khi nhấn vào nút mũi tên.

Bước 4.

Màn hình thông báo về việc lựa chọn chuyển sang giao diện debug hiện ra.

Chúng ta lựa chọn nút Switch để chuyển sang giao diện debug.

Bước 5.

Giao diện debug Python của Eclipse IDE hiện ra.

Chúng ta nhận thấy dòng lệnh đầu tiên có đánh dấu chấm nhỏ màu xanh đã được tô đậm màu xanh lá cây.

Các chức năng của project cũng được thực thi và dừng lại tại dòng lệnh này.

Chúng ta có thể nhận thấy các kết quả thực thi trước dòng lệnh này trong phần màn hình Console ở góc bên dưới.

Trong phần màn hình ở góc bên phải, giá trị của các biến được định nghĩa bên trong phương thức đang được debug sẽ được hiển thị. Chú ý rằng chỉ những biến được định nghĩa trước dòng lệnh đang được debug mới được hiển thị.

Bước 6.

Chúng ta có thể nhấn menu Run trên thanh Toolbars để tham khảo các chức năng cơ bản cho tác vụ debug:

  • Chức năng Terminate với cặp phím Ctrl + F2. Chấm dứt tác vụ debug tại thời điểm hiện tại.
  • Chức năng Step Into với phím F5. Thực hiện lần lượt chuyển đến phương thức gặp phải tại dòng lệnh đang được debug.
  • Chức năng Step Over với phím F6. Thực thi dòng lệnh hiện tại và chuyển tiếp đến dòng lệnh tiếp theo bên dưới.
  • Chức năng Run to Line với cặp phím Ctrl + R. Thực thi các dòng lệnh liên tiếp và chuyển đến dòng lệnh đang đặt con trỏ chuột.

Bước 7.

Chúng ta thực hiện chức năng Step Over với phím F6 tại một số dòng lệnh liên tiếp.

Chúng ta thử dừng lại tại dòng lệnh:

tong += phanTu

Chúng ta chú ý phần màn hình Variables ở góc bên phải.

Giá trị của các biến được định nghĩa trước dòng lệnh hiện tại đã được hiển thị chi tiết.

Bước 8.

Chúng ta thử thực hiện chức năng Terminate với cặp phím Ctrl + F2.

Chúng ta nhận thấy tác vụ debug được dừng lại và chỉ còn phần màn hình Console ở góc bên dưới là hiển thị các thông tin cho đến dòng lệnh hiện tại.

Tổng kết

Trong bài này, chúng ta đã cùng nhau tìm hiểu một số kỹ thuật lập trình cơ bản trong Python đồng thời tìm hiểu một số chức năng cần thiết trong Eclipse IDE.

Hy vọng rằng chúng ta có thể áp dụng phù hợp những kỹ thuật và chức năng này cho những bài tiếp theo.

Học kỹ thuật lập trình Python cơ bản qua các ví dụ – Phần 1

Giới thiệu

Trong chuỗi các bài học về kỹ thuật lập trình Python cơ bản qua các ví dụ, chúng ta sẽ cùng nhau tìm hiểu những kỹ thuật lập trình cơ bản nhất mà có thể áp dụng ngay để xây dựng các chương trình ứng dụng thực tế.

Những kỹ thuật được trình bày sẽ mang tính phổ quát và độc lập ngôn ngữ lập trình. Điều đó có nghĩa rằng chúng ta có thể áp dụng các kỹ thuật này đối với các ngôn ngữ khác như PHP / Java / C#.

Đề bài

Yêu cầu 1: Thiết lập một tập hợp gồm một số lượng nhất định các số tự nhiên ngẫu nhiên.

Yêu cầu 2: Tính tổng các số chẵn trong tập hợp này.

Yêu cầu 3: Hiển thị các số này và tổng ra màn hình Console.

Phân tích và lập trình Yêu cầu 1

Phân tích

Để thực hiện Yêu cầu 1, chúng ta xem xét một số tác vụ nhỏ sau:

  • Tác vụ 1. Xác định một số lượng cố định.
  • Tác vụ 2. Thiết lập một tập hợp với số lượng phần tử được xác định bên trên.
  • Tác vụ 3. Xác định giá trị số tự nhiên cho từng phần tử.

Như vậy chúng ta sẽ cùng tìm hiểu những kỹ thuật lập trình sau để thực hiện lần lượt các tác vụ trên:

  • Kỹ thuật 1. Các kiểu dữ liệu số nguyên cơ bản trong Python.
  • Kỹ thuật 2. Khai báo biến và gán giá trị.
  • Kỹ thuật 3. Kiểu dữ liệu về tập hợp: mảng.
  • Kỹ thuật 4. Sử dụng thư viện toán học cơ bản trong Python 3.
  • Kỹ thuật 5. Kỹ thuật thực hiện vòng lặp để duyệt các phần tử trong tập hợp.

Lập trình với ngôn ngữ Python

Thực hiện Tác vụ 1 – Xác định một số lượng cố định

Chúng ta có thể thực hiện Tác vụ 1 với chuỗi lệnh sau:

n = 10

Chú ý rằng, khác với những ngôn ngữ khác như Java / C# / PHP, trong Python thì không cần có thêm dấu ; ở cuối mỗi dòng lệnh.

Những điểm cơ bản cần chú ý với chuỗi lệnh trên:

  1. Thứ nhất, kiểu dữ liệu và gán giá trị cho một biến.

Python rất linh động trong việc khai báo biến và gán giá trị.

Chúng ta không cần định nghĩa kiểu dữ liệu mà có thể gán giá trị trực tiếp lên biến. Biến được khai báo sẽ tự động nhận về kiểu dữ liệu tương ứng với giá trị được gán.

Tên của biến có thể bao gồm nhiều ký tự viết liền nhau và nên bắt đầu bằng một ký tự in thường.

Ví dụ với Yêu cầu 1 trong bài này, chúng ta có thể đặt tên biến là n hoặc soPhanTu.

  1. Thứ hai, xác định số lượng.

Chúng ta cũng có thể xác định một cách ngẫu nhiên một số lượng trong phạm vi nào đó.

Chúng ta thực hiện ý tưởng trên với chuỗi lệnh sau:

import random
x = random.randint(0, 10)

Python cung cấp cho chúng ta module random để thực hiện tạo ra ngẫu nhiên một giá trị thuộc kiểu dữ liệu nào đó.

Theo Yêu cầu 1, chúng ta sử dụng phương thức randint() để tạo sinh ngẫu nhiên một số tự nhiên trong phạm vi cho trước.

Thực hiện Tác vụ 2 và Tác vụ 3 – Thiết lập một tập hợp bao gồm các số tự nhiên

Những điểm cần chú ý khi thực hiện Tác vụ 2 và Tác vụ 3:

  1. Thứ nhất, khởi tạo mảng và truy xuất từng phần tử trong mảng.

Mặc định, khác với những ngôn ngữ khác, Python không cung cấp một kiểu dữ liệu mảng thuần túy giống như Java hay C#.

Chúng ta có thể sử dụng kiểu dữ liệu List và truy xuất theo phương pháp tương tự như kiểu dữ liệu mảng trong Java hay C#.

Chúng ta có thể khởi tạo mảng với một số phần tử sẵn có như sau:

tapHop = [15, 10, 2, 4]

Chúng ta truy xuất phần tử bắt đầu từ vị trí 0 đến số_lượng – 1.

Như vậy phần tử tapHop[1] có giá trị là 10.

  1. Thứ hai, gán giá trị cho từng phần tử trong mảng bằng phương pháp tự động với kỹ thuật lặp for.

Cú pháp cơ bản cho việc truy xuất các phần tử trong một mảng một chiều với kỹ thuật lặp for như sau:

for biến in range(số_lượng):
  // thực hiện công việc

Python cung cấp phương thức range() để trả về các số tự nhiên trong khoảng từ 0 đến số_lượng – 1.

Ví dụ với mảng tapHop[] gồm có n phần tử là các số tự nhiên. Chúng ta thực hiện gán giá trị như sau:

for i in range(n):
  tapHop[i] = random.randint(0, 100)

  1. Thứ ba, gán giá trị cho từng phần tử trong mảng bằng phương pháp tự động với kỹ thuật lặp while.

Vòng lặp while là câu lệnh vòng lặp cơ bản.

  • Nó lặp lại một câu lệnh hoặc khối trong khi biểu thức kiểm soát của nó là đúng. Điều kiện có thể là bất kỳ biểu thức Boolean nào.
  • Phần thân của vòng lặp sẽ được thực thi miễn là biểu thức điều kiện là đúng.
  • Khi điều kiện trở thành sai, điều khiển chuyển sang dòng mã tiếp theo ngay sau vòng lặp.

Ví dụ với mảng tapHop[] gồm có n phần tử là các số tự nhiên. Chúng ta thực hiện gán giá trị như sau:

i=1
while i < n:
  tapHop[i] = random.randint(0, 100)
  i=i+1

Tổng kết

Trong bài này, chúng ta đã cùng nhau tìm hiểu một số những kỹ thuật lập trình cơ bản đầu tiên trong ngôn ngữ Python.

Trong những bài tiếp theo, chúng ta sẽ tiếp tục tìm hiểu những kỹ thuật lập trình cơ bản khác để hoàn thành bài toán đặt ra ban đầu.

Xây dựng chương trình Python đầu tiên trên Spyder IDE

Giới thiệu

Trong bài này, chúng ta cùng nhau xây dựng chương trình Python đầu tiên trên Spyder IDE.

Tương tự như các chương trình lập trình đầu tiên với các ngôn ngữ khác, nội dung chính của chương trình này:

  • Hiển thị ra màn hình Console câu tiếng Việt “Xin chào thế giới lập trình và ngôn ngữ Python”.

Xây dựng chương trình Python đầu tiên

Bước 1.

Chúng ta chọn chức năng Show Applications ở phía dưới cùng trên thanh Toolbars bên trái màn hình.

Chúng ta nhập chuỗi terminal để lựa chọn ứng dụng thực thi dòng lệnh Terminal.

Hình 1. Lựa chọn ứng dụng Terminal.

Bước 2.

Chúng ta lựa chọn khởi động ứng dụng Anaconda Navigator với chuỗi lệnh:

anaconda-navigator

Hình 2. Chuỗi lệnh để khởi động ứng dụng Anaconda Navigator.

Bước 3.

Màn hình giao diện chính của Anaconda Navigator hiện ra.

Chúng ta lựa chọn mục Home trong phân vùng bên trái.

Chúng ta lựa chọn môi trường Python đã được cài đặt thêm python3.6.

Ví dụ ở đây là môi trường PythonCPU trong mục Applications on trong phân vùng ở giữa.

Chúng ta lựa chọn nút Launch trong ô của Spyder.

Hình 3. Màn hình giao diện chính của Anaconda Navigator.

Bước 4.

Màn hình giao diện chính của Spyder IDE hiện ra với các phân vùng khác nhau.

Chúng ta nhận thấy Spyder IDE đã tạo sẵn một tập tin temp.py làm mẫu.

Chúng ta nhận thấy phiên bản Python 3.6 cũng được thể hiện trong giao diện chính của Spyder IDE.

Hình 4. Màn hình giao diện chính của Spyder IDE.

Bước 5.

Chúng ta nhập đoạn mã nguồn Python để hiển thị câu tiếng Việt như trong hình.

Hình 6. Mã nguồn Python để hiển thị câu tiếng Việt.

Bước 6.

Chúng ta lựa chọn thực thi tập tin bằng cách nhấn phím F5 hoặc nhấn nút mũi tên màu xanh trên thanh Toolbars.

Màn hình Console hiển thị nội dung các câu tiếng Việt trong phân vùng bên phải phía dưới.

Hinh 6. Thực thi chương trình Python.

Tổng kết

Trong bài này chúng ta đã cùng nhau thực hiện những công việc chính sau:

  • Tạo mới tập tin Python trong Spyder IDE.
  • Tìm hiểu một số đoạn mã nguồn Python cơ bản để hiển thị thông tin ra màn hình Console.

Thiết lập các thư viện và nền tảng bằng Anaconda để xây dựng Desktop, Web, Science Applications với Python

Giới thiệu

Trong bài này chúng ta cùng thực hiện việc thiết lập các thư viện và nền tảng cho ngôn ngữ Python.

Các bộ thư viện và nền tảng này hỗ trợ việc phát triển Desktop / Web / Science Applications.

Chúng ta có thể cài đặt các thư viện và nền tảng quen thuộc như sau:

  • tensorflow
  • scikit-learn
  • spacy
  • keras
  • numpy
  • mathplotlib
  • nltk
  • theano
  • pytorch

Thiết lập các thư viện và nền tảng

Bước 1.

Chúng ta thực thi chương trình Anaconda Navigator, là giao diện đồ họa điều khiển, với chuỗi lệnh:

anaconda-navigator

Hình 1. Thực thi ứng dụng Anaconda Navigator.

Bước 2.

Trong màn hình giao diện chính của Anaconda Navigator.

Chúng ta lựa chọn tab Environments.

Chúng ta lựa chọn nút Create để tạo một môi trường Python mới dành cho việc xây dựng phần mềm.

Chúng ta thiết lập các thông tin tương tự như sau:

Name: work

Location: /home/ubuntu/.conda/envs/work

Packages: Python 3.6

Chú ý rằng các thư viện và nền tảng phổ biến hiện nay vẫn thực thi trên nền Python 3.6.

Chúng ta lựa chọn nút Create để tiếp tục.

Hình 2. Tạo môi trường Python mới để làm việc.

Bước 3.

Hệ thống thực hiện thiết lập môi trường work mà chúng ta vừa xác định ở trên.

Hình 3. Hệ thống thiết lập môi trường làm việc mới.

Bước 4.

Trong ô Channels, chúng ta lựa chọn các thư viện và nền tảng cần thiết.

Chúng ta lựa chọn nút Apply để tiến hành cài đặt.

Hình 4. Lựa chọn các thư viện và nền tảng để cài đặt.

Bước 5.

Màn hình tổng hợp các gói sẽ được cài đặt hiện ra.

Chúng ta lựa chọn nút Apply để tiếp tục.

Hình 5. Màn hình tổng hợp các gói sẽ được cài đặt.

Bước 6.

Hệ thống tiến hành download và cài đặt các thư viện và nền tảng được lựa chọn.

Hình 6. Hệ thống tiến hành download và cài đặt các thư viện và nền tảng được lựa chọn.

Bước 7.

Hệ thống hoàn thành việc cài đặt các thư viện và nền tảng được lựa chọn.

Hình 7. Hệ thống hoàn thành cài đặt các thư viện và nền tảng được lựa chọn.

Bước 8.

Chúng ta lựa chọn tab Home.

Chúng ta lựa chọn môi trường work trong ô Channels.

Chúng ta lựa chọn nút Install tại ô Notebook để cài đặt ứng dụng IDE này.

Hình 8. Cài đặt ứng dụng Jupyter Notebook.

Bước 9.

Hệ thống thực hiện download và cài đặt Jupyter Notebook.

Hình 9. Hệ thống thực hiện download và cài đặt Jupyter Notebook.

Bước 10.

Chúng ta lựa chọn nút Install tại ô Spyder để cài đặt ứng dụng IDE này.

Hình 10. Cài đặt ứng dụng Spyder.

Bước 11.

Hệ thống thực hiện download và cài đặt Spyder.

Hình 11. Hệ thống thực hiện download và cài đặt Spyder.

Tổng kết

Trong bài này chúng ta đã cùng nhau thực hiện thiết lập các thư viện và nền tảng bằng Anaconda để phát triển Desktop / Web / Science Applications với Python.

Thiết lập Anaconda trên Ubuntu 18.04 x64 LTS – Phần 2 – Cài đặt Anaconda cho Python 3.7

Giới thiệu

Anaconda Distribution là trình quản lý gói, quản lý môi trường và phân phối Python miễn phí, dễ cài đặt với bộ sưu tập hơn 1000 gói nguồn mở với sự hỗ trợ cộng đồng miễn phí.

Anaconda là độc lập nền tảng, vì vậy chúng ta có thể sử dụng trên Windows, macOS hay Linux.

Trong bài này chúng ta thực hiện nội dung thứ hai là cài đặt Anaconda cho Python 3.7 trên Ubuntu 18.04 x64 LTS.

Các bước cài đặt Anaconda cho Python 3.7

Bước 1.

Chúng ta thực hiện download Anaconda cho Python 3.7 trên Linux tại website:

https://www.anaconda.com/distribution/

Chúng ta chú ý lựa chọn phiên bản dành cho Python 3.7.

Hình 1. Download anaconda.

Bước 2.

Chúng ta chọn chức năng Show Applications ở phía dưới cùng trên thanh Toolbars bên trái màn hình.

Chúng ta nhập chuỗi terminal để lựa chọn ứng dụng thực thi dòng lệnh Terminal.

Hình 2. Lựa chọn chức năng Terminal.

Bước 3.

Chúng ta thực hiện chuyển đến thư mục chứa tập tin được download về, giả sử ở đây là thư mục Downloads:

cd Downloads

Chúng ta thực hiện kiểm tra mã hóa với chuỗi lệnh:

sudo md5sum Anaconda3-2019.03-Linux-x86_64.sh

Chúng ta tập mật khẩu vì thực hiện chuỗi lệnh với tài khoản root.

Hình 3. Kiểm tra mã hóa.

Bước 4.

Chúng ta thực hiện cài đặt Anaconda với chuỗi lệnh:

sudo bash ~/Downloads/Anaconda3-2019.03-Linux-x86_64.sh

Hình 4. Chuỗi cài đặt anaconda.

Bước 5.

Trong quá trình cài đặt, hệ thống yêu cầu lựa chọn phím Enter để xem bản quyền.

Chúng ta lựa chọn phím Enter để tiếp tục.

Hình 5. Lựa chọn phím Enter để xem bản quyền.

Bước 6.

Chúng ta liên tục lựa chọn phím Enter để xem bản quyền.

Hình 6. Lựa chọn phím Enter liên tục để xem bản quyền.

Bước 7.

Sau khi xem hết bản quyền, hệ thống yêu cầu nhập yes để chấp nhận.

Chúng ta nhập yes để chấp nhận bản quyền.

Hình 7. Nhập “yes” để chấp nhận bản quyền.

Bước 8.

Hệ thống tiếp tục thông báo về thư mục mặc định để cài đặt Anaconda.

Chúng ta lựa chọn phím Enter để chấp nhận thư mục mặc định.

Hình 8. Lựa chọn Enter để chấp nhận thư mục cài đặt mặc định.

Bước 9.

Hệ thống thực hiện cài đặt Anaconda.

Hình 9. Hệ thống thực hiện cài đặt Anaconda.

Bước 10.

Trong quá trình cài đặt, hệ thống hỏi có khởi tạo chức năng conda không.

Chúng ta nhập yes để chấp nhận thực hiện.

Hình 10. Lựa chọn “yes” để khởi tạo ứng dụng conda.

Bước 11.

Hệ thống hoàn thành cài đặt Anaconda.

Hình 11. Hệ thống hoàn thành cài đặt Anaconda.

Bước 12.

Chúng ta tắt và khởi động lại chức năng Terminal để hoàn tất cài đặt.

Chúng ta thực thi chương trình Anaconda Navigator, là giao diện đồ họa điều khiển, với chuỗi lệnh:

anaconda-navigator

Hình 12. Thực thi chương trình Anaconda Navigator.

Bước 13.

Màn hình chào mừng Anaconda Navigator.

Chúng ta có thể để mặc định hoặc bỏ qua màn hình chào này cho mỗi lần khởi động sau.

Hình 13. Màn hình chào mừng Anaconda Navigator.

Bước 14.

Màn hình giao diện chính của Anaconda Navigator.

Hình 14. Màn hình giao diện chính Anaconda Navigator.

Tổng kết

Trong bài này chúng ta đã cùng nhau thực hiện cài đặt Anaconda cho Python 3.7.

Thiết lập Plugin PyDev trong Eclipse IDE để phát triển Desktop và Web Applications bằng ngôn ngữ Python

Giới thiệu

PyDev (https://www.pydev.org/) là một trình cắm thêm của bên thứ ba cho Eclipse.

PyDev là một Môi trường phát triển tích hợp được sử dụng để lập trình trong Python hỗ trợ tái cấu trúc mã, gỡ lỗi đồ họa, phân tích mã trong số các tính năng khác.

PyDev là một IDE Python cho Eclipse, có thể được sử dụng trong phát triển Python, Jython và IronPython.

Những chức năng chính của PyDev:

  • Django integration
  • Code completion
  • Code completion with auto import
  • Type hinting
  • Code analysis
  • Go to definition
  • Refactoring
  • Debugger
  • Remote debugger
  • Find Referrers in Debugger
  • Tokens browser
  • Interactive console
  • Unittest integration
  • Code coverage
  • PyLint integration
  • Find References (Ctrl+Shift+G)

Thiết lập Eclipse IDE

Bước 1.

Chúng ta lựa chọn Help → Install New Software.

Hình 1. Lựa chọn chức năng Install New Software.

Bước 2.

Màn hình cài đặt plugin mới hiện ra.

Chúng ta lựa chọn nút Add để thực hiện thêm plugin mới.

Hình 2. Màn hình cài đặt plugin mới.

Bước 3.

Màn hình thêm plugin mới hiện ra.

Chúng ta nhập các thông tin:

Name: PyDev

Location: http://www.pydev.org/updates

Chúng ta lựa chọn nút Add để thực thi việc thêm plugin PyDev.

Hình 3. Nhập thông tin plugin PyDev.

Bước 4.

Màn hình lựa chọn các chức năng sẽ được cài đặt hiện ra.

Chúng ta lựa chọn các chức năng:

PyDev

PyDev Mylyn Integration (optional)

Chúng ta lựa chọn nút Next > để tiếp tục.

Hình 4. Lựa chọn chức năng để cài đặt.

Bước 5.

Màn hình tổng hợp các chức năng sẽ được cài đặt.

Chúng ta lựa chọn nút Next > để tiếp tục.

Hình 5. Màn hình tổng hợp các chức năng được cài đặt.

Bước 6.

Màn hình yêu cầu chấp nhận bản quyền hiện ra.

Chúng ta lựa chọn I accept the terms of the license agreement.

Chúng ta lựa chọn nút Finish để thực hiện cài đặt.

Hình 6. Màn hình yêu cầu chấp nhận bản quyền.

Bước 7.

Trong quá trình cài đặt PyDev.

Hệ thống cảnh báo chúng ta cài đặt một số chức năng chưa được xác nhận.

Chúng ta lựa chọn nút Install Anyway để tiếp tục.

Hình 7. Màn hình yêu cầu xác nhận cài đặt.

Bước 8.

Sau khi việc cài đặt PyDev được hoàn tất.

Eclipse yêu cầu được khởi động lại để áp dụng.

Chúng ta lựa chọn nút Restart Now để khởi động lại Eclipse.

Hình 8. Màn hình yêu cầu khởi động lại Eclipse để áp dụng.

Tổng kết

Trong bài này chúng ta đã cùng nhau thực hiện thiết lập Eclipse IDE để phát triển Desktop và Web Applications bằng ngôn ngữ Python.