1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Giáo trình lập trình python căn bản

166 349 18

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Giáo trình lập trình python căn bản
Tác giả Trần Nhật Quang, Phạm Văn Khoa
Trường học Đại Học Quốc Gia TP. Hồ Chí Minh
Chuyên ngành Lập trình
Thể loại Giáo trình
Năm xuất bản 2023
Thành phố Hồ Chí Minh
Định dạng
Số trang 166
Dung lượng 4,85 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Cấu trúc

  • Chương 1 GIỚI THIỆU VÀ CÀI ĐẶT PYTHON (10)
    • 1.1 Đôi nét về ngôn ngữ lập trình Python (10)
    • 1.2 Lịch sử phát triển Python (11)
    • 1.3 Cài đặt Python (12)
    • 1.4 Một số lời khuyên hữu ích cho những người mới (17)
  • Chương 2 PHÉP TOÁN CƠ BẢN, BIẾN VÀ NHẬP XUẤT TRONG (19)
    • 2.1 Sử dụng VS Code như một máy tính cầm tay (19)
    • 2.2 Các phép toán (20)
    • 2.3 Biến (22)
    • 2.4 Nhập xuất cơ bản (24)
    • 2.5 Lệnh if (27)
  • Chương 3 VÒNG LẶP VÀ CẤU TRÚC DỮ LIỆU MẢNG (36)
    • 3.1 Vòng lặp while (36)
    • 3.2 Cấu trúc dữ liệu mảng (42)
    • 3.3 Vòng lặp for (47)
    • 3.4 Break, continue và pass (50)
  • Chương 4 NUMPY (55)
    • 4.1 Giới thiệu về Numpy (55)
    • 4.2 Cài đặt thư viện numpy (55)
    • 4.3 Numpy arrays (56)
  • Chương 5 SETS VÀ DICTIONARIES (61)
    • 5.1 Sets (61)
    • 5.2 Dictionaries (63)
  • Chương 6 STRINGS (70)
    • 6.1 Khái niệm và khởi tạo strings (70)
    • 6.2 Hàm xử lý strings (72)
  • Chương 7 HÀM (75)
    • 7.1 Khái niệm và cú pháp (75)
    • 7.2 Một số ví dụ (77)
    • 7.3 Biến đoạn code bất kỳ thành hàm (82)
  • Chương 8 LỖI VÀ SỬA LỖI (87)
    • 8.1 Các dạng lỗi trong lập trình (87)
    • 8.2 Xử lý lỗi runtime (88)
    • 8.3 Xử lý lỗi logic (91)
    • 8.4 Các lưu ý khi viết code để hạn chế lỗi (96)
  • Chương 9 VẼ VỚI MATPLOTLIB (100)
    • 9.1 Cách thức vẽ trên màn hình kỹ thuật số (100)
    • 9.2 Vẽ với thư viện matplotlib (101)
    • 9.3 Vẽ đồ thị trong tọa độ cực (107)
    • 9.4 Tùy chỉnh hình vẽ (109)
    • 9.5 Vẽ trên nhiều phân vùng với subplotlib (117)
  • PHỤ LỤC (123)
  • TÀI LIỆU THAM KHẢO (164)

Nội dung

GIỚI THIỆU VÀ CÀI ĐẶT PYTHON

Đôi nét về ngôn ngữ lập trình Python

Python là một ngôn ngữ lập trình cấp cao và đa dụng, được phát triển bởi Guido van Rossum và lần đầu tiên ra mắt vào năm 1991 Tên gọi của nó được lấy cảm hứng từ chương trình hài Monty Python của Anh, thể hiện triết lý thiết kế của Python là một ngôn ngữ lập trình thú vị và dễ sử dụng. -Khám phá giải pháp học và phát triển nội dung Python hiệu quả với [Talkpal](https://pollinations.ai/redirect/2699274) ngay hôm nay!

Triết lý của ngôn ngữ lập trình Python được mô tả bằng những cách ngôn trong tài liệu The Zen of Python (PEP 20) như:

▪ Simple is better than complex (tạm dịch: Đơn giản tốt hơn phức tạp).

▪ Complex is better than complicated (tạm dịch: Phức hợp tốt hơn phức tạp).

▪ Explicit is better than implicit (tạm dịch: Tường minh tốt hơn là ngầm định).

▪ Readability counts (tạm dịch: Lưu tâm đến sự dễ đọc hiểu).

Python nổi bật với triết lý hướng tới sự đơn giản và mã ngắn gọn, giúp lập trình viên viết mã dễ hiểu và tối ưu hơn Khi bắt đầu học lập trình Python, bạn sẽ cảm nhận rõ điều này so với các ngôn ngữ như C/C++ hay Java hiện nay, Python được phân thành hai nhóm phiên bản chính là Python 2.x và Python 3.x, trong đó Python 2.x đã ngừng hỗ trợ kể từ ngày 1/1/2020 Phiên bản mới nhất của Python là Python 3.10, được phát hành vào ngày 4/10/2021, mang lại nhiều cải tiến về hiệu suất và tính năng mới.

Lịch sử phát triển Python

Python được bắt đầu phát triển vào cuối những năm 1980 bởi Guido van Rossum tại Centrum Wiskunde & Informatica (CWI), Hà Lan, như một ngôn ngữ lập trình kế thừa của ABC với khả năng xử lý ngoại lệ và giao tiếp với hệ điều hành Amoeba.

Python bắt đầu được phát triển vào tháng 12 năm 1989 bởi van Rossum, người là nhà phát triển chính duy nhất của dự án cho đến ngày 12 tháng 7 năm 2018 Vào tháng 1 năm 2019, các nhà phát triển cốt lõi của Python đã thành lập Hội đồng chỉ đạo gồm năm thành viên để lãnh đạo dự án, đánh dấu bước chuyển mình trong quản trị dự án Python.

Python 2.0 được phát hành vào ngày 16 tháng 10 năm 2000, với nhiều tính năng mới Python 3.0, được phát hành vào ngày 3 tháng 12 năm

Năm 2008, Python tiếp tục hỗ trợ ngược cho các phiên bản Python 2.6.x và 2.7.x, đảm bảo tính ổn định và khả năng tương thích Các bản phát hành của Python 3 tích hợp công cụ tự động dịch mã 2to3, giúp chuyển đổi mã nguồn từ Python 2 sang Python 3 một cách dễ dàng và hiệu quả.

Python 2.7 ban đầu được chỉ định sẽ chấm dứt hoạt động vào năm 2015, nhưng sau đó bị hoãn lại đến năm 2020 vì những lo ngại về việc chuyển đổi các code Python 2 hiện có sang Python 3 Từ thời điểm đó, Python 2 không nhận được thêm bất kỳ bản vá bảo mật hoặc cải tiến nào nữa

Sau khi Python 2 bị ngừng hỗ trợ, chỉ còn các phiên bản Python 3.6.x trở lên được duy trì Tuy nhiên, Python 3.6 cũng đã ngừng hỗ trợ vào năm 2021, khiến cộng đồng phát triển tập trung vào các phiên bản mới hơn như Python 3.8.8 và 3.9.2 Các phiên bản Python cũ, kể cả Python 2.7, gặp phải các vấn đề về bảo mật nghiêm trọng có thể dẫn đến nguy cơ máy tính bị thực thi mã từ xa hoặc nhiễm độc bộ nhớ cache web Để đảm bảo an toàn và tối ưu hiệu suất, người dùng cần nâng cấp hệ thống lên các phiên bản Python mới nhất được hỗ trợ.

Vào năm 2022, Python 3.10.4 và 3.9.12 được phát triển và các bản cũ hơn bao gồm 3.8.13 và 3.7.13 được cập nhật vì nhiều vấn đề bảo mật

1 Theo PEP 373 Python 2.7 Release Schedule

2 Theo PEP 619 Python 3.10 Release Schedule

3 Theo https://en.wikipedia.org/wiki/Python_(programming_language)

Cài đặt Python

Có nhiều cách khác nhau để lập trình với Python phù hợp với các nhóm người dùng có điều kiện thiết bị khác nhau Trong bài viết này, chúng tôi giới thiệu ba phương pháp lập trình Python linh hoạt, giúp người dùng dễ dàng chọn lựa phương án phù hợp với nhu cầu và thiết bị của mình.

Cách 1 Lập trình Python trên máy tính sử dụng VS Code

Nếu bạn sở hữu một máy tính cá nhân thì nên dùng cách này để tận dụng được đầy đủ chức năng của Python một cách thuận tiện

Đầu tiên, bạn cần cài đặt trình biên dịch Python (Python interpreter), nên chọn phiên bản Python 3.7 trở lên để đảm bảo khả năng tương thích Khi cài đặt, hãy nhớ tích vào ô “Add Python to PATH” trong cửa sổ cài đặt ban đầu để dễ dàng truy cập Python từ dòng lệnh và nâng cao trải nghiệm sử dụng (xem Hình 1-2).

Sau khi đã cài đặt xong trình biên dịch Python, bạn nên cài đặt một editor (trình soạn thảo) hoặc một IDE (Integrated Development

Để lập trình Python dễ dàng hơn, có nhiều editor và IDE khác nhau hỗ trợ lĩnh vực này Trong giáo trình này, chúng tôi đề xuất sử dụng Visual Studio Code (VS Code) bởi các ưu điểm vượt trội của nó, giúp lập trình viên làm việc hiệu quả và thuận tiện hơn.

▪ Miễn phí, mã nguồn mở, hỗ trợ nhiều nền tảng (Windows, Linux, Mac)

▪ IntelliSense: giúp viết code nhanh chóng hơn bằng cách đưa ra các lựa chọn tự động hoàn thành code cho bạn

▪ Hỗ trợ tìm và sửa lỗi (debug) hiệu quả

▪ Nhiều extension hữu ích: như kết nối với Git, đọc file Jupyter Notebook (.ipynb), hỗ trợ Docker

1 Download Python phiên bản mới nhất tại https://www.python.org/downloads/ Với những phiên bản cũ, download tại https://www.python.org/ftp/python/

Hình 1-2 Lưu ý: Khi cài đặt Python nên tick vào ô Add Python to PATH để thuận tiện chạy các Scripts Python về sau

Hình 1-3 Giao diện của Visual Studio Code

Sau khi cài đặt VS Code, bạn nên tạo một file code Python đầu tiên để bắt đầu lập trình Đồng thời, đây là bước quan trọng giúp hoàn tất quá trình cài đặt các extension hỗ trợ lập trình Python trong VS Code.

2 Tạo mới hoặc chọn một thư mục rồi nhấn Select Folder Lưu ý: đối với máy tính sử dụng Windows, bạn nên chọn một thư mục trong ổ D: hoặc một ổ đĩa mà bạn có đầy đủ quyền chạy các mã lệnh Không dùng các thư mục có tên “python” hoặc “code” vì có thể gây lỗi về sau Tên và đường dẫn thư mục tốt nhất là không chứa khoảng trắng và không chứa dấu tiếng Việt

3 Nhấn vào biểu tượng và nhập tên file

Lưu ý quan trọng khi đặt tên file Python là phải đặt phần mở rộng là py để tránh lỗi khi chạy mã Không sử dụng các tên file như python.py hoặc code.py để đảm bảo quá trình thực thi diễn ra suôn sẻ Nên đặt tên file không chứa khoảng trắng hoặc ký tự tiếng Việt để tránh sự cố không mong muốn trong quá trình lập trình Việc đặt tên rõ ràng và phù hợp giúp quản lý mã nguồn dễ dàng hơn và tăng hiệu quả trong quá trình phát triển phần mềm.

4 Sau khi tạo file xong, VS Code có thể hỏi bạn có muốn cài đặt extension cho Python không Hãy chọn Install

5 Nhập nội dung sau đây vào file vừa tạo:

6 Nhấn Shift-Enter để chạy

Lưu ý: Lúc này VS Code có thể hỏi bạn muốn cài đặt các extension hỗ trợ không, hãy chọn Install

7 Nếu kết quả hiện ra như hình sau tức là bạn đã hoàn thành cài đặt và chạy thành công đoạn lệnh Python đầu tiên

8 Chọn File > Auto Save để VS Code tự động lưu code

Lưu ý: Nếu không dùng Auto Save thì phải lưu (Save) file code thủ công bằng cách nhấn Ctrl-S mỗi khi muốn lưu

Cách 2 Lập trình Python trên máy tính sử dụng trình duyệt web

Nếu bạn sử dụng máy tính công cộng hoặc máy tính không thể cài đặt Python, bạn vẫn có thể lập trình Python dễ dàng bằng trình duyệt web có kết nối internet Truy cập vào địa chỉ https://www.onlinegdb.com/online_python_compiler để viết và chạy mã Python trực tiếp trên trình duyệt mà không cần cài đặt phần mềm Đây là giải pháp tiện lợi cho người học và lập trình viên khi làm việc trên các thiết bị hạn chế cài đặt phần mềm.

Lưu ý: Cách này không đảm bảo hỗ trợ đầy đủ chức năng của

Python Chỉ nên dùng khi không thể cài đặt Python và VS Code như cách 1

Hình 1-4 Giao diện trang OnlineGDB

Cách 3 Lập trình Python sử dụng smartphone

Trong trường hợp không có máy tính, bạn vẫn có thể lập trình Python bằng cách sử dụng smartphone và cài đặt ứng dụng Pydroid 3

(hoặc một ứng dụng tương tự)

Lưu ý rằng phương pháp này không được khuyên dùng vì không hỗ trợ đầy đủ các tính năng của Python Chỉ nên sử dụng tạm thời trong thời gian ngắn khi không thể truy cập vào máy tính để đảm bảo hiệu quả và tránh gây ra các lỗi không mong muốn.

Hình 1-5 Ứng dụng Pydroid 3 trên Google Play.

Một số lời khuyên hữu ích cho những người mới

Lập trình là một kỹ năng Vì vậy nếu muốn lập trình tốt không có cách nào khác ngoài thực hành Tự mình thực hành càng nhiều càng tốt!

Một số kinh nghiệm khi luyện lập trình:

Bắt đầu học về một khái niệm hoặc kỹ năng lập trình có thể khiến bạn cảm thấy không hiểu rõ ban đầu, nhưng điều này hoàn toàn bình thường Để nâng cao kiến thức, hãy dành thêm thời gian xem lại các nội dung đã học nhiều lần và tự thực hành lập trình bằng cách viết code dựa trên những gì đã tiếp thu Thực hành đều đặn sẽ giúp bạn dần dần hiểu rõ và nắm vững kiến thức lập trình một cách tự tin hơn.

Đôi khi, dù bạn đã cố gắng hết sức, vẫn cảm thấy khó hiểu mọi thứ Tuy nhiên, não bộ tự động tổng hợp và lưu giữ kiến thức mà nó từng tiếp nhận Sau một thời gian học tập, chẳng hạn như một học kỳ hoặc vài tháng, bạn sẽ ngạc nhiên khi gặp lại những kiến thức trước đó mà ban đầu gặp khó khăn; lúc này, bạn hiểu rõ chúng một cách rất rõ ràng.

Vì vậy, đừng ngại khi học qua một lần mà chưa hiểu rõ

Những lần đầu lập trình thường giống như việc học thuộc lòng và sao chép code mẫu, khi bạn xem rồi gõ lại giống như vậy Đây là quá trình hoàn toàn bình thường và là bước quan trọng trong việc thu nhận kiến thức lập trình ban đầu.

Đừng ngại ngồi gõ lại code mẫu vì việc này giúp bạn trải nghiệm thực tế lập trình, khác xa việc chỉ nhìn và nghĩ rằng đã hiểu Khi tự mình gõ và chạy code, bạn sẽ ghi nhớ kiến thức, nâng cao tư duy lập trình, đồng thời phát hiện lỗi và các vấn đề trong đoạn lệnh Quá trình này giúp hiểu rõ từng phần của mã nguồn và từ từ phát triển khả năng viết code theo ý muốn của chính bạn.

Internet là nguồn tài nguyên hữu ích khi bạn gặp các lỗi khó hiểu trong lập trình hoặc gặp khó khăn trong việc tìm cách giải quyết một vấn đề Chỉ cần thực hiện tìm kiếm trên Google, bạn có thể dễ dàng tìm thấy các diễn đàn, bài viết về lập trình cung cấp lời giải và hướng dẫn chi tiết, giúp bạn vượt qua các thử thách lập trình một cách nhanh chóng và hiệu quả.

Đừng lạm dụng việc tra Google hoặc sao chép mã mà không hiểu rõ nội dung Luôn tự mình tìm hiểu và nắm vững kiến thức trước khi thực hiện, vì điều này sẽ giúp bạn tránh những hậu quả tiêu cực và phát triển kỹ năng lập trình hiệu quả hơn.

Bạn cần chú ý đến vấn đề đạo văn (plagiarism) khi sử dụng mã nguồn của người khác Hãy tìm hiểu kỹ về các quy định bản quyền liên quan đến đoạn code bạn định sử dụng và luôn nhớ ghi rõ nguồn gốc để đảm bảo tuân thủ luật pháp và giữ gìn uy tín của bạn trong quá trình sáng tạo nội dung.

▪ Thực hành càng nhiều càng tốt!

PHÉP TOÁN CƠ BẢN, BIẾN VÀ NHẬP XUẤT TRONG

Sử dụng VS Code như một máy tính cầm tay

Trong phần này, chúng tôi sẽ demo một số cách thực thi lệnh Python với VS Code, giúp bạn dễ dàng chạy mã Python trực tiếp từ trình chỉnh sửa này Bạn có thể tận dụng các phương pháp này để biến VS Code thành một công cụ tính toán như máy tính bỏ túi, giúp thực hiện các phép tính nhanh chóng và chính xác hơn Việc chạy lệnh Python trong VS Code không chỉ tiện lợi mà còn nâng cao hiệu suất làm việc của bạn khi lập trình và xử lý dữ liệu.

Lưu ý: Trước khi có thể chạy code Python trong VS Code, bạn cần

Cài đặt Python (xem mục 1.3 Cài đặt Python)

Sau đây giới thiệu ba cách thực thi lệnh Python trong VS Code

Bạn có thể tạo và thực thi cell trong môi trường lập trình bằng cách sử dụng cú pháp #%% để đánh dấu bắt đầu cell, ví dụ như "#%% Tên gợi nhớ cho cell" Để chạy cell, đặt con nháy vào bất kỳ dòng nào trong cell nằm giữa hai đường kẻ màu xanh và nhấn nút "Run Cell" hoặc sử dụng phím tắt Shift-Enter.

Khi chạy cell lần đầu tiên trong VS Code, trình thông dịch Python được tải vào bộ nhớ trước khi thực thi mã, khiến quá trình này mất một chút thời gian Tuy nhiên, từ lần chạy thứ hai trở đi, mã sẽ được thực thi ngay lập tức vì Python interpreter đã sẵn sàng trong bộ nhớ, giúp tiết kiệm thời gian và nâng cao hiệu quả làm việc.

Bạn cần chạy ít nhất một cell theo cách 1 để VS Code tải Python interpreter và khởi tạo cửa sổ interactive Điều này là bước thiết yếu để có thể thực thi code trong cửa sổ interactive, giúp quá trình thử nghiệm và chỉnh sửa mã trở nên dễ dàng hơn.

In the interactive window, you can input code directly into the command line located at the bottom of the window, which instructs you to "Type 'python' code here and press Shift+Enter to run" (as shown in the image) Once you have entered your code, simply press Shift+Enter to execute it.

Shift+Enter để thực thi.

Các phép toán

Python hỗ trợ các phép toán cơ bản như mô tả trong bảng sau

Phép toán Cú pháp Code mẫu Kết quả

Trị tuyệt đối abs() abs(-2) 2

Nếu bạn muốn tính những hàm toán học khác như khai căn, lượng giác, thì cần sử dụng package math Cú pháp như sau: import math math.cos(3.14)

Một số hàm toán học được liệt kê trong bảng bên dưới 1 :

Phép toán Cú pháp Code mẫu Kết quả

Số π math.pi math.pi 3.1415…

Vô cùng math.inf math.inf inf

Cosine math.cos() math.cos(3.14) -0.9999

Sine math.sin() math.sin(2*3.14) -0.0031

Arc cosine math.acos() math.acos(1) 0

Arc sine math.asin() math.asin(-1) -1.5707

Tangent math.tan() math.tan(5) -3.3805

Trị tuyệt đối math.fabs() math.fabs(-5.6) 5.6 Ước chung lớn nhất math.gcd() math.gcd(20, 90) 10

Hàm mũ math.exp() math.exp(5) 148.4131

Hàm log math.log() math.log(8) math.log(8, 2)

3 Căn bậc 2 math.sqrt() math.sqrt(9) 3

Bạn có thể tra cứu thông tin của một hàm trong tài liệu Python bằng cách sử dụng cú pháp với dấu chấm hỏi, ví dụ như `math.log?`, để xem mô tả và các tham số của hàm log Đây là cách nhanh chóng và tiện dụng giúp bạn nắm bắt các chức năng của hàm một cách dễ dàng Phương pháp này rất hữu ích khi cần tìm hiểu chi tiết về các hàm trong thư viện chuẩn hoặc các module khác mà không cần phải mở tài liệu dài dòng.

1 Xem bảng liệt kê đầy đủ tại https://docs.python.org/3/library/math.html

Biến

Biến (variables) là một trong những khái niệm nền tảng trong lập trình, đóng vai trò như các nơi lưu trữ dữ liệu dùng để thực hiện các tác vụ lập trình Ví dụ, khi viết chương trình vẽ đồ thị hàm số bậc hai y = ax² + bx + c, các biến giúp lưu trữ giá trị của các hệ số a, b và c một cách dễ dàng Để tạo biến trong Python, bạn cần tuân thủ các quy tắc cú pháp (syntax) cụ thể nhằm đảm bảo mã nguồn hoạt động chính xác Việc hiểu rõ cách khai báo và sử dụng biến là bước quan trọng để viết mã Python hiệu quả và tối ưu.

1 Để tạo biến trong Python, bạn chỉ cần ghi tên biến và gán giá trị cho nó, ví dụ các dòng sau lệnh (chú ý mỗi dòng lệnh phải nằm trên một hàng riêng, dùng phím Enter để xuống dòng): so1 = 4 so2 = 15 đã tạo ra 2 biến có tên so1, so2 với các giá trị là 4, 15 tương ứng

Python không yêu cầu khai báo kiểu dữ liệu cho biến, vì khi gán giá trị cho biến, ngôn ngữ này sẽ tự động xác định kiểu dữ liệu phù hợp Điều này giúp lập trình trở nên đơn giản và nhanh chóng hơn so với các ngôn ngữ như C hoặc C++.

2 Tên biến phải bắt đầu bằng chữ cái hoặc dấu _ (dấu dash tạo ra bằng cách nhấn tổ hợp phím Shift -)

Ví dụ: các biến so1, _so1 và _1so là hợp lệ, nhưng biến 1so là không hợp lệ vì bắt đầu bằng chữ số 1

3 Tên biến không được chứa khoảng trắng hoặc ký tự đặc biệt

(ký tự đặc biệt là các ký tự không phải chữ cái và chữ số (ngoại trừ dấu dash _), ví dụ @, &, ! là một số ký tự đặc biệt)

Ví dụ: các biến phuongtrinh1 và phuong_trinh_1 là hợp lệ, nhưng biến phuong trinh1, phuongtrinh-1, phuongtrinh#1 là không hợp lệ

4 Tên biến phải khác keywords của Python Trong Python, cũng như các ngôn ngữ lập trình khác, một số từ đã được dành riêng cho các chức năng của ngôn ngữ, ví dụ if, for, while Vì vậy bạn không được dùng nhũng từ này đặt tên biến

Các biến có tên như if, for, break, import không hợp lệ để đặt làm tên biến vì chúng là từ khóa trong lập trình Tuy nhiên, các biến như if1, for_, hay break_A vẫn hợp lệ vì chứa ký tự khác ngoài từ khóa, do đó không còn là các từ khóa cần tránh Việc đặt tên biến đúng quy tắc giúp mã nguồn rõ ràng, dễ hiểu và tuân thủ các tiêu chuẩn lập trình tốt Chọn tên biến phù hợp, mô tả đúng chức năng, góp phần nâng cao khả năng bảo trì và phát triển của dự án lập trình.

Để nhận biết một từ có phải là keyword hay không, bạn cần quan sát màu sắc của nó trong VS Code, bởi vì VS Code sẽ tự chuyển đổi từ đó thành màu xanh da trời nếu là keyword Bạn có thể tham khảo danh sách các keywords trong phần Phụ lục để dễ dàng xác định Việc nhận diện đúng keywords giúp tối ưu hóa quá trình viết và chỉnh sửa mã nguồn, đồng thời nâng cao hiệu quả công việc lập trình của bạn.

5 Tên biến có phân biệt chữ hoa và chữ thường

Ví dụ: biến so1 và So1 là 2 biến khác nhau

Trong lập trình, mặc dù có thể tạo ra các biến như so1 và So1 trong cùng một chương trình, nhưng để viết mã hiệu quả và tránh lỗi, bạn nên tránh đặt tên biến quá giống nhau vì dễ gây nhầm lẫn Việc đặt tên biến rõ ràng, khác biệt giúp mã dễ đọc và giảm thiểu khả năng mắc lỗi khi lập trình Như vậy, việc chú ý đến cách đặt tên biến là một yếu tố quan trọng để duy trì mã nguồn rõ ràng và dễ kiểm tra.

Khi lập trình, ngoài việc tuân theo các quy định cú pháp bắt buộc, bạn nên áp dụng các kinh nghiệm đặt tên biến hợp lý để mã nguồn trở nên chuyên nghiệp hơn và ít xảy ra lỗi hơn Việc đặt tên biến rõ ràng, mô tả chính xác chức năng sẽ giúp quá trình phát triển và bảo trì code dễ dàng hơn Đồng thời, sử dụng quy tắc nhất quán về cách đặt tên và tránh đặt tên quá ngắn hoặc quá chung chung sẽ nâng cao khả năng đọc hiểu và hiệu quả làm việc của lập trình viên.

1 Tránh đặt tên biến trùng với tên hàm cài sẵn (built-in functions) Hàm cài sẵn là các hàm được cung cấp mặc định trong Python hoặc các packages (xem mục 4.2), ví dụ hàm print, input Việc đặt tên biến trùng với tên hàm cài sẵn sẽ làm chương trình có thể gặp lỗi khi bạn gọi các hàm này sau khi đã tạo biến Bạn có thể chạy thử dòng code sau: print("Xin chao")

Khi chạy đoạn mã `print = 5`, biến `print` đã bị gán giá trị 5, gây lỗi khi gọi hàm in Để khắc phục, bạn cần sử dụng lệnh `del print` để xóa biến `print` khỏi bộ nhớ và khôi phục chức năng của hàm in Điều này giúp mã hoạt động bình thường trở lại.

Trong VS Code, để xác định xem một từ có trùng tên hàm cài sẵn hay không, bạn chỉ cần nhấn tổ hợp phím Ctrl-Space (thanh cách) Khi thực hiện thao tác này, nếu đó là hàm cài sẵn, một bảng thông tin sẽ xuất hiện, giúp bạn dễ dàng kiểm tra và nắm bắt thông tin chính xác về hàm đó Việc sử dụng phím tắt này là cách nhanh chóng và hiệu quả để làm việc hiệu quả trong quá trình lập trình.

2 Đặt tên biến có ý nghĩa Kinh nghiệm đơn giản này đã được chứng minh trong thực tế có thể giúp cải thiện đáng kể code của bạn: dễ đọc, dễ bảo trì, sửa lỗi và dễ phát triển hơn Điều này đặc biệt cần thiết khi bạn viết những chương trình phức tạp và code được viết bởi một nhóm nhiều người Đừng ngại các tên dài, chỉ ngại các tên khó hiểu!

Việc đặt tên biến rõ ràng như he_so_a, so_thiet_bi, ham_loc_du_lieu, ham_phan_tich không những giúp mã nguồn dễ đọc mà còn nâng cao khả năng bảo trì và phát triển phần mềm Thay vì sử dụng các tên biến ngắn gọn như a, N, f, g, hãy chọn các tên mô tả rõ chức năng của biến hoặc hàm để code của bạn trở nên dễ hiểu hơn cho đồng nghiệp và chính bản thân trong quá trình làm việc lâu dài Viết mã theo hướng này sẽ tối ưu hóa khả năng đọc hiểu và giảm thiểu lỗi trong quá trình lập trình.

Ghi chú: Để liệt kê các tên bạn đã tạo, dùng lệnh whos Để xóa một biến, dùng lệnh del ten_bien, ví dụ del he_so_a.

Nhập xuất cơ bản

Chương trình có thể nhận dữ liệu thông qua nhiều phương thức, bao gồm gán trực tiếp vào biến, nhập từ bàn phím, từ các thiết bị cảm biến hoặc camera, và từ file dữ liệu Trong đó, nhập dữ liệu từ bàn phím là phương pháp phổ biến, sử dụng hàm input() để lấy dữ liệu người dùng cung cấp Các ví dụ minh họa về cách sử dụng hàm input() giúp người học dễ dàng thực hành và áp dụng trong các bài programming cơ bản.

#%% Ví dụ 1: nhập chữ ho_ten = input('Xin nhap ho ten:')

#%% Ví dụ 2: nhập số nguyên so_thiet_bi = int(input('Nhap so thiet bi:'))

#%% Ví dụ 3: nhập số thực diem_trung_binh = int(input('Nhap diem trung binh:'))

Trong ví dụ 1, khi chạy lệnh nhập, ô nhập liệu sẽ xuất hiện ở phía trên cùng của cửa sổ VS Code, yêu cầu người dùng nhập tên để tiếp tục.

Sau khi người dùng nhập tên và nhấn Enter thì tên được nhập sẽ được lưu vào biến ho_ten

Trong ví dụ 2, hàm int() có tác dụng kiểm tra và chuyển đổi dữ liệu nhập thành kiểu số nguyên, giúp đảm bảo dữ liệu đúng định dạng để xử lý Khi chạy chương trình này, người dùng sẽ thấy ô nhập dữ liệu xuất hiện tương tự như ví dụ trước, tuy nhiên cần nhập số nguyên chính xác, còn nếu nhập sai định dạng sẽ dẫn đến lỗi chương trình Việc sử dụng hàm int() là bước quan trọng để đảm bảo tính chính xác và ổn định của chương trình trong xử lý dữ liệu đầu vào.

Trong ví dụ 3, đoạn lệnh nhập tương tự ví dụ 2, chỉ khác ở hàm float() thay cho hàm int() Hàm float() đổi dữ liệu được nhập về kiểu số thực

Khi không sử dụng các hàm chuyển đổi kiểu dữ liệu như int() hay float(), dữ liệu trả về từ hàm input() sẽ ở dạng chuỗi (string), khiến bạn không thể thực hiện các phép tính số học Việc này cần lưu ý để xử lý dữ liệu đúng cách trong lập trình Python, đảm bảo các phép toán số học hoạt động chính xác CEO các nhà phát triển khuyến khích sử dụng hàm chuyển đổi kiểu dữ liệu phù hợp để tránh lỗi và đảm bảo tính logic của chương trình.

Việc xuất dữ liệu trong lập trình Python có nhiều phương pháp, từ gán trực tiếp vào biến để sử dụng sau trong chương trình, in chữ, vẽ hình lên màn hình, truyền tới các thiết bị xuất như loa hoặc máy in, đến lưu dữ liệu xuống file Trong đó, cách đơn giản và phổ biến nhất là in dữ liệu ra màn hình bằng hàm print() Hàm print() giúp hiển thị thông tin dễ dàng, thuận tiện cho quá trình debug và kiểm tra kết quả chương trình.

#%% Ví dụ 1: in trực tiếp văn bản print("Xin chao")

#%% Ví dụ 2: in nội dung 1 biến ho_ten = "Tran An" print(ho_ten)

#%% Ví dụ 3: in nội dung 1 biến kèm thông báo print("Ho ten cua ban:", ho_ten)

#%% Ví dụ 4: in nội dung nhiều biến x1 = 15.3456 x2 = 26.1234 print("Nghiem 1:", x1, " Nghiem 2:", x2)

#%% Ví dụ 5: định dạng biến kiểu số thực print("Nghiem 1: %.2f Nghiem 2: %.2f" % (x1,x2)) # chỉ lấy 2 chữ số thập phân

Khi thực thi ví dụ 1, dòng chữ Xin chao! sẽ được in ra màn hình

Khi thực thi ví dụ 2, dòng chữ Tran An (nội dung của biến ho_ten) sẽ được in ra màn hình

Khi thực thi ví dụ 3, dòng chữ Ho ten cua ban: Tran An sẽ được in ra màn hình

Khi thực thi ví dụ 4, dòng chữ Nghiem 1: 15.3456 Nghiem 2: 26.1234 sẽ được in ra màn hình

Khi thực thi ví dụ 5, màn hình sẽ hiển thị dòng chữ "Nghiem 1: 15.35 Nghiem 2: 26.12", trong đó giá trị của x1 và x2 chỉ in ra hai chữ số thập phân Đoạn mã in ra kết quả là `print("Nghiem 1: %.2f Nghiem 2: %.2f" % (x1,x2))`, trong đó `%.2f` dùng để định dạng số thực với 2 chữ số thập phân Nếu muốn in ra với 3 chữ số thập phân, bạn chỉ cần thay đổi thành `%.3f`.

Các biến cần in được đặt trong đoạn mã `%()`, ví dụ như `% (x1, x2)`, sẽ xuất ra giá trị của các biến x1 và x2 theo đúng thứ tự đã liệt kê trong đoạn mã này Lưu ý rằng việc in các biến phải tuân thủ chính xác thứ tự đã định để đảm bảo kết quả đúng với mong muốn Đây là cách đơn giản và hiệu quả để hiển thị dữ liệu trong lập trình, giúp dễ dàng kiểm tra và theo dõi giá trị biến trong quá trình thực thi Sử dụng cú pháp này đúng quy trình sẽ giúp bạn kiểm soát chính xác các giá trị cần in ra trong mã của mình, đảm bảo tính chính xác và thuận tiện trong quá trình phát triển phần mềm.

Trong ví dụ 5, dấu # được sử dụng để đánh dấu các đoạn ghi chú (comments) trong mã Python Mọi nội dung sau dấu # sẽ bị bỏ qua và không được thực thi, giúp người lập trình ghi chú các phần quan trọng của đoạn code hoặc giải thích chức năng của hàm và đoạn lệnh phức tạp Viết comments rõ ràng, ngắn gọn là cần thiết để giữ cho mã dễ hiểu, tránh ghi quá nhiều comments cho các đoạn code đơn giản để không gây rườm rà, khó đọc.

Lệnh if

Lệnh if trong Python là cấu trúc rẽ nhánh giúp chọn chạy một trong nhiều lệnh dựa trên điều kiện Ví dụ, khi giải phương trình bậc 2, nếu giá trị biệt số delta ≥ 0 thì thực hiện tính nghiệm, còn nếu delta < 0 thì in ra thông báo phương trình vô nghiệm Lệnh if thể hiện ý nghĩa "nếu" trong lập trình, giúp điều hướng luồng điều khiển dựa trên các điều kiện cụ thể Để sử dụng lệnh if hiệu quả, cần nắm vững cú pháp của nó trong Python, gồm các câu lệnh như: if điều_khiện_1:, elif điều_khiện_2:, và else:, giúp quản lý các tình huống khác nhau một cách rõ ràng và mạch lạc.

Luồng hoạt động của khối lệnh if trên được mô tả trong lưu đồ ở Hình 2-1 Một cách cụ thể, trong cú pháp if trên,

▪ if, elif, else là các từ khóa (bắt buộc viết chính xác như vậy)

Lưu ý rằng khối if là bắt buộc phải có trong cấu trúc điều kiện, trong khi khối elif và else có thể xuất hiện hoặc không tùy theo nhu cầu của lập trình viên Cụ thể, khối elif không bắt buộc và có thể bỏ qua nếu không cần thiết, giúp tối ưu hóa cú pháp và lợi ích trong việc kiểm tra nhiều điều kiện khác nhau Điều này giúp xây dựng các câu điều kiện linh hoạt và dễ dàng mở rộng code một cách hợp lý, đảm bảo tính rõ ràng và chính xác trong quá trình lập trình Python.

1 lần hoặc nhiều lần, còn khối else có thể không xuất hiện hoặc xuất hiện

Trong lập trình, cú pháp câu lệnh if giúp kiểm tra các điều kiện và thực thi các khối lệnh phù hợp Ví dụ, bạn có thể viết câu lệnh if đơn giản như "if điều kiện 1: thực thi khối lệnh 1" hoặc dùng câu lệnh if-else để xử lý các trường hợp khác nhau, ví dụ "if điều kiện 1: thực thi khối lệnh 1, còn ngược lại thực thi khối lệnh N." Ngoài ra, cấu trúc if còn cho phép sử dụng câu lệnh elif để kiểm tra nhiều điều kiện liên tiếp, giúp viết mã linh hoạt và rõ ràng trong các ứng dụng lập trình.

Các điều kiện, như dieu_kien_1, dieu_kien_2, dieu_kien_3, , dieu_kien_N, đều là các mệnh đề logic có thể có giá trị True hoặc False khi chạy code Ví dụ, mệnh đề 1 > 2 là sai (False), trong khi 5 < 6 là đúng (True) Giá trị của các mệnh đề này phụ thuộc vào dữ liệu và biến khi thực thi chương trình, như điều kiện N < 10, sẽ đúng hoặc sai tùy thuộc vào giá trị của biến N tại thời điểm chạy code.

N = 9 thì mệnh đề đúng (9 5>2 True

So sánh nhỏ hơn < 5= 5>=2 True

So sánh nhỏ hơn hoặc bằng 0, giúp bạn hiểu rõ hơn về cách xác định dấu của tích hai số thực Thực hiện thao tác này để nắm vững cách chương trình xử lý các trường hợp khác nhau của hai số thực nhập vào.

Ví dụ 2.3: Nhập 3 số thực và tìm số lớn nhất trong 3 số này

Để tìm số lớn nhất trong ba số, người dùng sẽ nhập từng số thứ tự qua câu lệnh input Sau đó, chương trình sẽ so sánh các số với nhau để xác định số lớn nhất, bắt đầu bằng việc gán số đầu tiên làm số lớn nhất tạm thời Tiếp theo, chương trình so sánh số lớn nhất tạm thời với số thứ hai, và cập nhật nếu số thứ hai lớn hơn; sau đó, tiếp tục so sánh với số thứ ba và cập nhật nếu cần thiết Cuối cùng, chương trình in ra kết quả là số lớn nhất trong ba số đã nhập, giúp người dùng dễ dàng xác định giá trị lớn nhất nhanh chóng.

Hãy thực hành bằng cách gõ lại đoạn mã phía trên và chạy thử (Shift-Enter), sau đó nhập các bộ số thực khác nhau để xem kết quả in ra Chú ý rằng đoạn mã sử dụng hai khối lệnh if liên tiếp nhau, giúp bạn hiểu rõ hoạt động của chương trình Thực hành này giúp nâng cao kỹ năng lập trình và làm quen với cách xử lý dữ liệu trong mã nguồn.

Bạn hãy nhập đoạn mã sau vào file có tên if_else_demo.py, sau đó thực thi và kiểm tra kết quả in ra màn hình.

# if-else a = 10 b = 30 print('demo if-elif-else') if (a > 10) or (b > 10):

# do something print('(a > 10) or (b > 10)') elif (a != 5) and (b 20): if b < 50: print('nested-if') else: print('else-nested-if') else: print('if-else')

Bài tập có lời giải 1

VÒNG LẶP VÀ CẤU TRÚC DỮ LIỆU MẢNG

Vòng lặp while

Cú pháp của vòng lặp while như sau: while dieu_kien: khoi_lenh_lap khoi_lenh_sau_while

Luồng hoạt động của vòng lặp while được mô tả trong lưu đồ ở Hình 3-1

Hình 3-1 Lưu đồ hoạt động của vòng lặp while

Khối lệnh while có cú pháp giống với khối if tối giản, nhưng hoạt động theo cách lặp lại khi điều kiện còn đúng (True) Khi điều kiện đúng, khối lệnh lặp sẽ được thực thi nhiều lần; ngược lại, khi điều kiện sai (False), chương trình sẽ thoát khỏi vòng lặp và chạy các câu lệnh sau while Để dễ hiểu hơn, chúng ta sẽ xem xét một ví dụ minh họa cụ thể.

Ví dụ 3.1: Viết code yêu cầu nhập số N dương Nếu nhập sai thì cho nhập lại đến khi đúng

N = int(input('Xin nhap so nguyen duong:')) print('So duoc nhap N =', N)

Lưu ý: Để vòng lặp while hoạt động được cần thỏa mãn hai điểm sau:

1 Điều kiện dieu_kien phải được khởi tạo trước Tức là mọi biến trong dieu_kien phải được gán giá trị sẵn Thông thường ta sẽ khởi tạo biến sao cho dieu_kien có giá trị True ở lần chạy đầu tiên

2 Khối lệnh khoi_lenh_lap phải có ít nhất 1 dòng lệnh làm thay đổi điều kiện dieu_kien Nếu không vòng lặp sẽ chạy không bao giờ dừng (do dieu_kien không bị thay đổi, nó sẽ đúng (True) mãi mãi nên vòng lặp sẽ lặp mãi mãi)

Trong ví dụ trên, lệnh N = -1 giúp khởi tạo giá trị cho biến N, tránh lỗi khi điều kiện N

Ngày đăng: 23/08/2023, 15:04

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Kong, Q., Siauw, T., &amp; Bayen, A. M. (2021). Python Programming and Numerical Methods - A Guide for Engineers and Scientists. Elsevier Inc Sách, tạp chí
Tiêu đề: Python Programming and Numerical Methods - A Guide for Engineers and Scientists
Tác giả: Kong, Q., Siauw, T., Bayen, A. M
Nhà XB: Elsevier Inc
Năm: 2021
[2] Swaroop, H. (2019). A Byte of Python Sách, tạp chí
Tiêu đề: A Byte of Python
Tác giả: Swaroop, H
Năm: 2019
[3] Python Software Foundation. (2022). Python documentation. https://docs.python.org/3/ Sách, tạp chí
Tiêu đề: Python documentation
Tác giả: Python Software Foundation
Năm: 2022
[4] Hill, C. (2020). Learning scientific programming with Python. Cambridge University Press Sách, tạp chí
Tiêu đề: Learning scientific programming with Python
Tác giả: C. Hill
Nhà XB: Cambridge University Press
Năm: 2020
[5] Stephenson, B. (2019). The Python Workbook 2 nd . Springer Sách, tạp chí
Tiêu đề: The Python Workbook 2nd
Tác giả: Stephenson, B
Nhà XB: Springer
Năm: 2019
[6] Pine, D. J. (2019). Introduction to Python for science and engineering. CRC Press Sách, tạp chí
Tiêu đề: Introduction to Python for science and engineering
Tác giả: D. J. Pine
Nhà XB: CRC Press
Năm: 2019
[7] NumPy Developers. (2022). NumPy manual. https://numpy.org/doc/stable/reference/ Sách, tạp chí
Tiêu đề: NumPy manual
Tác giả: NumPy Developers
Năm: 2022
[8] Kurniawan, A. (2015). Python Programming by Example. PE Press Sách, tạp chí
Tiêu đề: Python Programming by Example
Tác giả: Kurniawan, A
Nhà XB: PE Press
Năm: 2015

HÌNH ẢNH LIÊN QUAN

Hình 1-2 Lưu ý: Khi  cài đặt Python  nên tick vào ô Add Python ... to PATH để - Giáo trình lập trình python căn bản
Hình 1 2 Lưu ý: Khi cài đặt Python nên tick vào ô Add Python ... to PATH để (Trang 13)
Hình 1-3 Giao diện của Visual Studio Code. - Giáo trình lập trình python căn bản
Hình 1 3 Giao diện của Visual Studio Code (Trang 13)
Hình 1-4. Giao diện trang OnlineGDB. - Giáo trình lập trình python căn bản
Hình 1 4. Giao diện trang OnlineGDB (Trang 17)
Hình 2-1 Lưu đồ của khối lệnh if. - Giáo trình lập trình python căn bản
Hình 2 1 Lưu đồ của khối lệnh if (Trang 29)
Hình 3-1 Lưu đồ hoạt động của vòng lặp while. - Giáo trình lập trình python căn bản
Hình 3 1 Lưu đồ hoạt động của vòng lặp while (Trang 36)

TỪ KHÓA LIÊN QUAN