Lập trình Python
Các tác vụ chính:
Soạn thảo mã nguồn:
- Là câu lệnh hoặc tập hợp nhiều dòng lệnh trong tập tin dạng text
- Có thể dùng Notepad hoặc trình soạn thảo chuyên dụng
Gọi trình thông dịch Python:
- Trình thông dịch sẽ chuyển chương trình sang mã máy và máy tính sẽ thực thi chương trình
Dữ liệu và Giải thuật
Quan điểm về chương trình
- Chương trình là tập hợp những chuỗi lệnh được xây dựng bởi các cấu trúc điều khiển để xử lý dữ liệu
Hai yếu tố quan trọng cấu thành chương trình
- Dữ liệu và cấu trúc để tổ chức dữ liệu
- Giải thuật xử lý: cách thức tổ chức, sắp xếp các chuỗi lệnh để thực hiện các tác vụ mong muốn
Hệ thống kiểu dữ liệu trong Python
- Python sử dụng hệ thống kiểu duck typing, còn gọi là latent typing (tự động xác định kiểu). Có nghĩa là, Python không kiểm tra các ràng buộc về kiểu dữ liệu tại thời điểm dịch, mà là tại thời điểm thực thi.
-> Khi thực thi, nếu một thao tác trên một đối tượng bị thất bại, thì có nghĩa là đối tượng đó không sử dụng một kiểu thích hợp.
- Python cũng là một ngôn ngữ định kiểu mạnh.
-> Cấm mọi thao tác không hợp lệ, ví dụ cộng một con số vào chuỗi ký tự.
- Sử dụng Python, không cần phải khai báo biến.
-> Biến được xem là đã khai báo nếu nó được gán một giá trị lần đầu tiên. Căn cứ vào mỗi lần gán, Python sẽ tự động xác định kiểu dữ liệu của biến.
Python có một số kiểu dữ liệu thông dụng sau
- int, long: số nguyên
- float: số thực
- complex: số phức. VD: 5+4j
- list: dãy trong đó các phần tử của nó có thể khác kiểu nhau và có thể thay đổi
VD: [8, 2, ‘b’, -1.5] - tuple: tương tự list nhưng các phần tử của nó không thể thay đổi
- str: chuỗi ký tự, chuỗi ký tự được đặt trong dấu nháy đơn, hoặc nháy kép
- dict: từ điển, còn gọi là “hashtable”: là một cặp các dữ liệu được gắn theo kiểu {từ khóa: giá trị}, trong đó các từ khóa trong một từ điển nhất thiết phải khác nhau.
VD: {1: “Python”, 2: “Pascal”} - set: một tập không xếp theo thứ tự, ở đó, mỗi phần tử chỉ xuất hiện một lần
Kiểu dữ liệu | Mô tả | Ví dụ |
int, long | số nguyên | 1, 6, -250 |
float | số thực | 1.05, -57.0 |
complex | số phức | 5+4j |
list | dãy trong đó các phần tử của nó có thể khác kiểu nhau và có thể thay đổi | [8, 2, ‘b’, -1.5] |
tuple | tương tự list nhưng các phần tử của nó không thể thay đổi | |
str | chuỗi ký tự, chuỗi ký tự được đặt trong dấu nháy đơn, hoặc nháy kép | ‘student’, ’ku20ckt’ |
dict | từ điển, còn gọi là “hashtable”: là một cặp các dữ liệu được gắn theo kiểu {từ khóa: giá trị}, trong đó các từ khóa trong một từ điển nhất thiết phải khác nhau. | {1: “Python”, 2: “Pascal”} |
set | một tập không xếp theo thứ tự, ở đó, mỗi phần tử chỉ xuất hiện một lần |
Giải thuật
Giải thuật là gì?
- Giải thuật là các bước để giải quyết một bài toán
Làm thế nào để có giải thuật tốt?
- Chuẩn bị tốt kế hoạch cho giải thuật
- Một kế hoạch tốt giúp người lập trình:
– Định hướng đúng các bước cần thiết, tổ chức tốt dữ liệu
– iao tiếp tốt với đồng nghiệp khi làm việc chung - Kế hoạch không tốt làm chương trình hoạt động không hiệu quả, kết quả sai, cấu trúc rối rắm như ‘spaghetti code’
Công cụ mô tả giải thuật
Sử dụng sơ đồ (flow chart)
Dùng ‘pseudo code’ (mã giả)
Mã giả là ngôn ngữ nháy (bắt chước) theo một ngôn ngữ lập trình nào đó nhưng không bị ràng buộc bởi quy định nào của cú pháp; gần với ngôn ngữ tự nhiên.
– Không cụ thể với 1 ngôn ngữ lập trình nào.
– Phác thảo được cấu trúc của code
– Người đọc có thể hiểu
VD: if number <= 10 then ouput small number sentence
Dùng chính mã lập trình
- Chỉ nên dùng để trao đổi giữa những người có cùng chuyên môn với nhau
- Có thể chuyển ngữ dễ dàng và có chương trình thực thi ngay
- Không nên dùng mã này để trình bày cho các đối tượng người dùng không chuyên nghiệpKhông cụ thể với 1 ngôn ngữ lập trình nào