Ngôn ngữ lập trình Python3 – P1

Tram Ho


1. Introduction

  • Overview

    • Interpreted: Python được trình thông dịch xử lý trong thời gian chạy.
    • Interactive: Có thể tương tác trực tiếp với trình thông dịch thông qua command line shell
    • Object-Oriented: Hỗ trợ lập trình hướng đối tượng
    • Beginner’s Language: dễ học ngay cả với người mới bắt đầu lập trình
  • Environment setup (Ubuntu)

    • Nên cài đặt python version > 3.5 (để sau đó học luôn framework Django 3.0)
    • Trên Ubuntu Linux, python3 được cài chỉ bằng 1 command line: sudo apt-get install python3.7 (python 3.6 có sẵn trên ubuntu 18.04).
    • Chú ý khi cài python3.7 trên máy ubuntu sẽ có nhiều version của python2, python3.6, để mặc định sử dung version 3.7 cần tìm hiểu sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.6 1, sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.7 2, mặc định sẽ tự động chọn 3.7 khi dùng lệnh python3. Tương tự nếu muốn lệnh python mặc định là 3.7 cần sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.7 1
    • Để có thể cài đặt thêm các thư viện cho python3, cần cài thêm package manager là pip3: sudo apt install -y python3-pip
    • Vậy là đã có thể lập trình python3, muốn sử dụng package nào chỉ cần cài vào là xong theo format: pip3 install package_name
  • “Hello, World” Program

    • sudo pip3.7 install virtualenv: Cài đặt package này giúp tạo môi trường ảo. Từ đây, tất cả những packages được cài đặt mới sẽ đặt nằm trong thư mục mới thay vì /usr/lib/python3/package_name .
    • sau khi tạo thư mục bạn muốn(thư mục để code python), virtualenv -p python3.7 venv sẽ tạo thư mục môi trường venv, sẽ không phải lo lắng vấn đề môi trường và chỉ cần tập trung vào ngôn ngữ python.
    • activate môi trường: source venv/bin/activate.

2. Basic Syntax

  • Cú pháp dễ đọc: print ("Hello, Python!")
  • Có thể tương tác trực tiếp bằng command line hoặc chạy file execute có đuôi *.py, vd: python test.py
  • python sử dụng Indentation để xác định block code, tất cả các câu lệnh trong cùng một khối phải được thụt vào cùng một lượng.
  • Dòng tiêu đề cho các câu lệnh ghép, chẳng hạn như if, while, def và class nên được kết thúc bằng dấu hai chấm (?
  • Dấu chấm phẩy ; là tùy chọn ở cuối câu lệnh. import sys; x = 'foo'; sys.stdout.write(x + 'n')
  • comment bằng dấu # hoặc cặp ''' '''


3. Datatypes and Objects

  • Number gồm số nguyên, số thực và số phức:
    • import math; x = 16; print(math.sqrt(x)) # => 4
    • import math; y = 4; print(math.pow(y, 2)) # => 16
    • print(complex(2,3)) # => (2 + 3j)
  • String:

Truy xuất

Cập nhật: chuỗi là immutable, nên ko thể thay đổi, được bao bởi nháy đơn ', nháy kép " hoặc nháy 3 '''

  • List: Tương tự kiểu dữ liệu mảng trong các ngôn ngữ khác

  • Tuple: Tương tự cấu trúc list chỉ khác khai báo trong () và immutable (giống string). (khá giống .freeze trong ruby)

  • Dictionary: Tương tự mảng kết hợp trong php, java, hay hash trong ruby

  • I/O: input và output với python shell interface


4. Expressions and Operators

  • Basic Operators
    Các kiểu toán tử trong python3:

    • Toán tử số học +, -, *, /, % chia lấy dư, ** luỹ thừa, // chia làm tròn
    • Toán tử so sánh (quan hệ): ==, !=, <, >, <=, >=
    • Toán tử gán: +=, -=, *=, /=, %=, **=, //=
    • Toán tử logic and, or, not
    • Toán tử thao tác bit.
    • Toán Tử thành viên: print(1 in [1,2,3,4]) # True
    • Toán tử nhận định (con trỏ): is, is not

  • Regular Expressions
    • Cú pháp sử dụng biểu thức chính quy trong python có dạng: re.match(pattern, string, flags = 0), string là chuỗi cần xử lý, pattern là biểu thức chính quy dùng để so khớp.
    • Các phương thức cơ bản: match, search, subsplit

1. Macth: so khớp

kết quả là:

2. match vs search: so khớp và tìm kiếm

kết quả là:

3. Search and Replace: tìm kiếm và thay thế

kết quả là:

3. Split: Tách chuỗi

kết quả


5. Statements and Control Structures

  • Condition – Decision Making

Cú pháp tổng quát

Ví dụ

kết quả:


  • Loop

Cú pháp
Với for:

Với while:

Ví dụ

kết quả:

Ví dụ 2: với range


6. Functions

khai báo và sử dụng

kết quả:


Sử dụng tham số

VD 1

kết quả:

VD 2

kết qủa:


Hàm nặc danh
* Hàm lamda không có tên, nó sẽ gọi đến thêm 1 hàm khác. Các biểu mẫu Lambda có thể nhận bất kỳ số lượng đối số nào nhưng chỉ trả về một giá trị dưới dạng biểu thức. Chúng không thể chứa các lệnh hoặc nhiều biểu thức.
* Một hàm ẩn danh không thể gọi trực tiếp print vì lambda yêu cầu một biểu thức.

  • Cú phaps: lambda [arg1 [,arg2,.....argn]]:expression
  • Ví dụ:

kết qủa:

Global vs. Local variables

kết quả:


7. Modules

Đơn giản, một module là một file bao gồm code Python. Một module có thể định nghĩa các function, các clas và các variable (mọi thứ trong python đều là đối tượng). Một module cũng có thể chạy như một scripts;
VD, với file có tên fibo.py:

thì cách sử dụng module như sau:

Với việc kiểm tra biến global __name__ ở cuối module, có thể tương tác trực tiếp với file fibo.py để thực thi shell scripts:

Ubuntu/environments$ python fibo.py 10 cho kết quả:

Có thể kiểm tra các function và biến toàn cụ hay cục bộ dir(), global(), local():
với module fibo.py như sau:

kết quả:


Gộp các submodule lại thành Packages:
Giẳ sử có thư mục Phone với cấu trúc module như sau:

  • Phone/Pots.py:

  • Phone/Isdn.py: tương tự Pots
  • Phone/G3.py: tương tự Pots
  • Phone/__init__.py:

  • hello.py:

hoặc

kết qủa: python hello.py


continue P2:

    1. Classes
    1. File Handling
    1. Exceptions Handling
    1. Thematic
Chia sẻ bài viết ngay

Nguồn bài viết : Viblo