SỬ DỤNG BIẾN VÀ THAM SỐ
Đối số là một số giá trị (hoặc nhiều giá trị) mà bạn chuyển cho một hàm khi bạn gọi hàm trong mã. Các đối số cho phép một hàm tạo ra các kết quả khác nhau và làm cho mã có thể tái sử dụng. Bạn chỉ cần đặt các đối số trong dấu ngoặc đơn sau tên hàm. Ví dụ: ví dụ này cho thấy cách bạn có thể truyền nhiều đối số số cho hàm max () để hàm này trả về số lớn nhất trong danh sách:
>>>> max(50, 5, 8, 10,1)
50
Mỗi hàm phải xác định cách nó sẽ sử dụng các đối số, sử dụng các tham số để xác định những gì được truyền vào và cách nó được sử dụng. Một tham số chỉ đơn giản là một biến được sử dụng trong định nghĩa hàm cho phép mã bên trong hàm sử dụng dữ liệu được truyền cho nó. Để lấy lại kết quả từ hàm, bạn sử dụng từ khóa trả về và đối tượng bạn muốn trả về. Ví dụ sau đây cho chúng ta thấy cách tạo một hàm từ hai số và lưu trữ kết quả trong một biến cục bộ được gọi là kết quả được trả về khi hàm được gọi:
>>>> def sub(arg1, arg2):
Result = arg1 = arg2
Return result
>>>>sub (10,15)
-5
Kết quả biến là cục bộ, có nghĩa là nó không thể truy cập vào tập lệnh Python chính và nó chỉ được sử dụng trong chính hàm đó. Nếu bạn đã cố gắng gọi kết quả một cách trực tiếp, Python sẽ tạo ra lỗi báo rằng kết quả không được xác định. Tuy nhiên, bạn có thể truy cập các biến toàn cục từ bên trong hàm; bạn có thể làm điều này, ví dụ, để đặt các hằng số hoặc biến chính nhất định mà bất kỳ hàm nào cũng có thể sử dụng (ví dụ: địa chỉ IP). Sự khác biệt về khả năng truy cập giữa biến cục bộ và biến toàn cục là rất quan trọng vì chúng cho phép mã của bạn duy trì sự tách biệt và có thể giữ các hàm của bạn tự động.
Trong ví dụ trước, chúng ta đã thấy cách sử dụng các biến số vị trí. Các biến này phải được truyền cho một hàm theo một thứ tự cụ thể. Từ khóa là một cặp tên /giá trị mà bạn truyền cho một hàm. Thay vì sử dụng vị trí, bạn chỉ định đối số mà hàm sử dụng. Nó giống như gán một giá trị cho một biến. Trong ví dụ trước, arg1 bị trừ khỏi arg2 và nếu vị trí của các đối số này được chuyển đổi, bạn sẽ nhận được một kết quả khác khi trừ các giá trị. Với cách này, thứ tự truyền các biến không quan trọng. Đây là một ví dụ:
>>>>sub (arg2=15, arg1=10)
-5
Điều gì xảy ra nếu bạn không biết tổng đối số đang được chuyển cho một hàm? Khi bạn đọc dữ liệu, bạn có thể không biết có bao nhiêu đối số để mong đợi. Python cho phép bạn sử dụng * và ** (thường được gọi là * args và ** kwargs) để xác định bất kỳ số lượng đối số hoặc đối số từ khóa nào. * và ** cho phép bạn lặp lại qua một danh sách hoặc bộ sưu tập dữ liệu khác, như được hiển thị trong ví dụ này:
>>> def hello(*args):
For arg in args
Print (“Hello”, arg, “!”)
>>> hello (‘Caleb’, ‘Sydney’, ‘Savannah’)
Hello Caleb !
Hello Sydney !
Hello Savannah !
Lưu ý việc sử dụng các mục () trong hàm for câu lệnh để giải nén và lặp qua các giá trị.
LẬP TRÌNH VÀ PYTHON HƯỚNG ĐỐI TƯỢNG
Python được phát triển như một ngôn ngữ lập trình hướng đối tượng (OOP) hiện đại. Lập trình hướng đối tượng là một mô hình lập trình máy tính giúp mô tả các sự vật trong thế giới thực và mối quan hệ của chúng với nhau. Nếu bạn muốn mô tả một bộ định tuyến trong thế giới thực, ví dụ, bạn sẽ liệt kê tất cả các thuộc tính của nó, chẳng hạn như cổng, phiên bản phần mềm, tên và địa chỉ IP. Ngoài ra, bạn có thể liệt kê các khả năng hoặc chức năng khác nhau của bộ định tuyến mà bạn muốn tương tác. OOP nhằm mục đích lập mô hình hóa các loại mối quan hệ này, cho phép bạn tạo một đối tượng mà bạn có thể sử dụng ở bất cứ đâu trong mã của mình bằng cách chỉ định nó cho một biến để khởi tạo nó.
Các đối tượng là trung tâm của Python; trên thực tế, Python thực sự chỉ là một tập hợp các đối tượng tương tác với nhau. Một đối tượng là mã hoặc dữ liệu độc lập và ý tưởng của OOP là chia nhỏ chương trình thành các thành phần nhỏ hơn, dễ hiểu hơn. Cho đến nay, bạn chủ yếu thấy các kỹ thuật lập trình thủ tục, theo cách tiếp cận từ trên xuống và làm theo các hướng dẫn được xác định trước. Mặc dù cách tiếp cận này hoạt động tốt cho các chương trình đơn giản, để viết các ứng dụng phức tạp hơn với khả năng mở rộng tốt hơn, lập trình hướng đối tượng OOP thường là phương pháp được các lập trình viên chuyên nghiệp ưa thích sử dụng. Python rất linh hoạt ở chỗ bạn có thể kết hợp và kết hợp hai cách tiếp cận này khi bạn xây dựng ứng dụng.
Các hàm là một phần quan trọng của các nguyên tắc OOP về khả năng tái sử dụng và cấu trúc hướng đối tượng.