Một phương thức được gọi theo tên của nó nhưng nó được liên kết với một đối tượng [phụ thuộc]. Nó được chuyển hoàn toàn tới một đối tượng mà nó được gọi. Nó có thể hoặc không thể trả lại bất kỳ dữ liệu nào. Một phương thức có thể vận hành dữ liệu [các biến thể hiện] được chứa bởi lớp tương ứng
Một phương pháp trông như thế nào?
Phương pháp Python cơ bản
class class_name def method_name[]: ………… # method body …………
Ví dụ về phương pháp
class Meth: def method_meth [self]: print ["This is a method_meth of Meth class."] class_ref = Meth[] #object of Meth class class_ref.method_meth[] This is a method_meth of Meth class.
Chức năng
Hàm là một khối mã cũng được gọi theo tên của nó [độc lập]. Một hàm có thể có các tham số khác nhau hoặc có thể không có bất kỳ tham số nào. Nếu bất kỳ dữ liệu [tham số] nào được truyền, chúng sẽ được truyền rõ ràng. Nó có thể hoặc không thể trả lại bất kỳ dữ liệu nào. Hàm không xử lý lớp và khái niệm thể hiện của nó
Làm thế nào để một chức năng trông như thế nào?
def function_name[arg1, arg2, ….]: ………….. #function body …………..
Quy tắc xác định hàm trong Python
- Khối chức năng phải luôn bắt đầu bằng từ khóa 'def, theo sau là tên chức năng và dấu ngoặc đơn
- Chúng ta có thể chuyển bất kỳ số lượng tham số hoặc đối số nào bên trong dấu ngoặc đơn
- Khối mã của mọi chức năng phải bắt đầu bằng dấu hai chấm [. ]
- Câu lệnh 'return' tùy chọn để trả về giá trị từ hàm
Ví dụ về chức năng
def Add [a,b]: return[a+b] print[Add[50,70]] print[Add[150,50]] Output: 120 200
Sự khác biệt giữa Phương thức và Chức năng - Phương thức so với. Hàm số
Cả hàm và phương thức trông giống nhau khi chúng thực hiện theo cách gần như giống nhau, nhưng điểm khác biệt chính là khái niệm 'Lớp và Đối tượng của nó'. Các chức năng chỉ có thể được gọi bằng tên của nó, vì nó được định nghĩa độc lập. Nhưng các phương thức không thể được gọi bằng tên của nó, chúng ta chỉ cần gọi lớp bằng tham chiếu của lớp mà nó được định nghĩa, nghĩa là phương thức được định nghĩa trong một lớp và do đó chúng phụ thuộc vào lớp đó
Hàm trong Python
Hàm là một khối có tổ chức gồm các câu lệnh hoặc mã có thể tái sử dụng được sử dụng để thực hiện một hành động đơn lẻ/có liên quan. Lập trình Python ba loại chức năng
- Chức năng tích hợp/thư viện
- Hàm do người dùng định nghĩa
- chức năng ẩn danh
Các hàm tích hợp trong Python
Tổng cộng có 69 hàm dựng sẵn trong Python. họ đang
abs[] delattr[] hash[] memoryview[] set[] all[ dict[] help[] min[] setattr[] any[] dir[] hex[] next[] slice[] ascii[] divmod[] id[] object[] sorted[] bin[] enumerate[] input[] oct[] staticmethod[] bool[] eval[] int[] open[] str[] breakpoint[] exec[] isinstance[] ord[] sum[] bytearray[] filter[] issubclass[] pow[] super[] bytes[] float[] iter[] print[] tuple[] callable[] format[] len[] property[] type[] chr[] frozenset[] list[] range[] vars[] classmethod[] getattr[] locals[] repr[] zip[] compile[] globals[] map[] reversed[] __import__[] complex[] hasattr[] max[] round[]
Hàm do người dùng định nghĩa trong Python
Có 4 bước trong quá trình xây dựng hàm do người dùng định nghĩa trong Python
- Sử dụng từ khóa “def” để khai báo hàm do người dùng định nghĩa theo sau tên hàm
- Thêm tham số vào hàm và kết thúc dòng bằng dấu hai chấm
- Thêm các câu lệnh mà hàm sẽ thực thi
- Kết thúc một hàm bằng câu lệnh return nếu bạn muốn một hàm sẽ xuất ra thứ gì đó. Nếu bạn không sử dụng câu lệnh return thì hàm sẽ trả về một đối tượng là “none”
Thí dụ
def hello[]: print["Hello World"] return
Hàm ẩn danh trong Python
Các hàm ẩn danh trong python không thể được khai báo theo cách thông thường, điều đó có nghĩa là chúng không được xác định bằng từ khóa “def”. Các hàm này không có phần thân và không bắt buộc phải gọi. Do đó, chúng có thể được khai báo trực tiếp bằng cách sử dụng từ khóa “lambda”. Nó cũng giúp rút ngắn mã. Hàm lambda có thể có n số đối số nhưng có một giá trị trả về duy nhất được biểu thị dưới dạng biểu thức. Hàm lambda không cần lệnh hoặc nhiều biểu thức. Loại chức năng ẩn danh này không thể được gọi trực tiếp cho đầu ra. Là một lập trình viên Python, bạn có thể khởi tạo không gian tên cục bộ của riêng mình và các câu lệnh nội tuyến tương đương với C/C++, mục đích là bỏ qua phân bổ ngăn xếp chức năng
cú pháp
lambda [arg1 [,arg2,.....argn]]:expression
Ví dụ về hàm Lambda
Ví dụ dưới đây sẽ chứng minh chức năng cơ bản khác với Lambda như thế nào
# normal function linear expression def lin[x]: return 3*x + 2 print[lin[2]] # lambda function f = lambda x: 3*x + 2 print[f[2]] Output 8 8
Ví dụ trên cho thấy cách trình bày một hàm bình thường và hàm lambda. Có thể thấy rõ ràng rằng việc đưa ra logic trong một hàm thông thường cần hai bước nhưng đối với các hàm ẩn danh, nó có thể được biểu diễn trong một bước duy nhất
Gọi một hàm trong Python
Gọi một hàm có nghĩa là thực thi một hàm mà bạn đã xác định trực tiếp từ dấu nhắc Python hoặc thông qua một hàm khác [hàm lồng nhau]
Thí dụ
________số 8_______Đối số chức năng
Lập trình Python sử dụng 4 loại đối số hàm
- Đối số bắt buộc
- Đối số từ khóa
- Đối số mặc định
- Đối số có độ dài thay đổi
Đối số bắt buộc
Đây là các đối số được truyền theo thứ tự tuần tự cho một hàm. Quy tắc duy nhất là số lượng đối số được xác định trong hàm phải khớp với định nghĩa hàm
Thí dụ
def addition[a, b]: sum = a+b print["Sum after addition: ",sum] addition[5, 6] Output: Sum after addition: 11
Đối số từ khóa
Khi việc sử dụng các đối số từ khóa được thực hiện trong một lệnh gọi hàm, người gọi sẽ xác định các đối số theo tên đối số
Thí dụ
class Meth: def method_meth [self]: print ["This is a method_meth of Meth class."] class_ref = Meth[] #object of Meth class class_ref.method_meth[] This is a method_meth of Meth class.0
Đối số mặc định
Khi một hàm được gọi mà không có bất kỳ đối số nào, thì nó sẽ sử dụng đối số mặc định
Thí dụ
class Meth: def method_meth [self]: print ["This is a method_meth of Meth class."] class_ref = Meth[] #object of Meth class class_ref.method_meth[] This is a method_meth of Meth class.1
Đối số có độ dài thay đổi
Nếu bạn muốn xử lý nhiều đối số hơn trong một hàm so với những gì bạn đã chỉ định khi xác định hàm, thì có thể sử dụng các loại đối số này
Thí dụ
class Meth: def method_meth [self]: print ["This is a method_meth of Meth class."] class_ref = Meth[] #object of Meth class class_ref.method_meth[] This is a method_meth of Meth class.2
Thời gian thực hiện – Bài tập hàm số
Với bài viết này, bạn đã tìm hiểu về hàm trong Python và sự khác biệt giữa phương thức và hàm. Bây giờ, đã đến lúc bắt tay vào làm với một số ví dụ thực tế để xem xét lại những gì bạn đã học cho đến bây giờ
Viết một hàm python nhận tên của một người và in ra lời chào. Lời chào phải có ít nhất ba dòng và tên của người đó phải có trong mỗi dòng. Sử dụng chức năng của bạn để chào ít nhất ba người khác nhau. [Mẹo. Lưu ba người của bạn vào một danh sách và gọi hàm của bạn từ vòng lặp for]
Viết hàm nhận vào họ và tên, sau đó in ra tên đầy đủ được định dạng đẹp, trong một câu. Câu của bạn có thể đơn giản như, “Xin chào, full_name. ” Gọi hàm của bạn ba lần, với một tên khác nhau mỗi lần
Viết hàm nhận hai số rồi cộng chúng lại với nhau. Làm cho chức năng của bạn in ra một câu hiển thị hai số và kết quả. Gọi hàm của bạn với ba bộ số khác nhau
Sửa đổi Máy tính cộng để hàm của bạn trả về tổng của hai số. Việc in phải nằm ngoài chức năng. Tôi hy vọng bài viết này đã giúp bạn tìm hiểu các nguyên tắc cơ bản của các hàm Python. Tôi hy vọng bạn đã hiểu rõ về chủ đề này và tôi sẽ sớm viết thêm một số blog về python