Hướng dẫn python function with arguments

Mục lục

Nội dung chính

  • Mục lục
  • 1- Python Function
  • 2- Ví dụ với Function
  • 3- Hàm với tham số bắt buộc
  • 4- Hàm với tham số mặc định
  • 5- Hàm có tham số với độ dài thay đổi
  • 6- Hàm nặc danh

Nhóm phát triển của chúng tôi vừa ra mắt website langlearning.net học tiếng Anh, Nga, Đức, Pháp, Việt, Trung, Hàn, Nhật, ... miễn phí cho tất cả mọi người.
Là một website được viết trên công nghệ web Flutter vì vậy hỗ trợ rất tốt cho người học, kể cả những người học khó tính nhất.
Hiện tại website đang tiếp tục được cập nhập nội dung cho phong phú và đầy đủ hơn. Mong các bạn nghé thăm và ủng hộ website mới của chúng tôi.

Hãy theo dõi chúng tôi trên Fanpage để nhận được thông báo mỗi khi có bài viết mới.

Facebook

1- Python Function

Hàm (function) là một khối lệnh đặc biệt, nó được đặt tên, giúp mã chương trình dễ đọc hơn, và có thể gọi để sử dụng ở các nơi khác nhau trong chương trình. Hàm chính là khối lệnh có thể tái sử dụng (reuseable).

Cú pháp:

** function syntax **


def functionName( parameters ):
   "Mô tả ngắn về hàm"
   codes ...
   return [expression]
  • Một hàm bắt đầu bởi từ khóa def (Viết tắt của từ define), theo sau đó là tên của hàm.
  • Tiếp theo là danh sách các tham số nằm trong cặp đấu ngặc ( ) và dấu hai chấm ( : ), hàm có thể có 0, 1 hoặc nhiều tham số, các tham số cách nhau bởi dấu phẩy.
  • Dòng đầu tiên của thân hàm (function body) là một chuỗi mô tả ngắn về hàm (Không bắt buộc).

Lệnh return:

Lệnh return dùng để trả về một giá trị (hoặc một biểu thức), hoặc đơn giản là trả về "không gì cả". Khi lệnh return được thực thi, hàm sẽ kết thúc. return là lệnh không bắt buộc phải có trong thân hàm.

Ví dụ Mô tả
return 3 Hàm trả về một giá trị, và kết thúc
return Hàm trả về không gì cả, và kết thúc

Tham số (Parameter):

Hàm có 0, 1 hoặc nhiều tham số. Ngăn cách nhau bởi dấu phẩy. Tham số có 4 loại:

  1. Tham số bắt buộc
  2. Tham số có mặc định (Default parameter)
  3. Tham số có độ dài biến (Variable-Length Parameter)
  4. Tham số từ khóa (Keyword Parameter)

2- Ví dụ với Function

Ví dụ một hàm có một tham số, và trả về "Không gì cả".

functionExample1.py


# Định nghĩa một hàm:
def sayHello(name)  : 
    # Kiểm tra nếu name là rỗng (empty) hoặc null.
    if not name   : 
        print( "Hello every body!" ) 
    # Nếu name không rỗng và không null.    
    else :          
        print( "Hello " + name)

# Gọi hàm, truyền tham số vào hàm. 
sayHello("") 
sayHello("Python");  
sayHello("Java");

Output:


Hello every body!
Hello Python
Hello Java

Tiếp theo, ví dụ về một hàm có một tham số và có trả về giá trị.

functionExample2.py


# Định nghĩa một hàm: 
def getGreeting(name)  :

    # Kiểm tra nếu name là rỗng hoặc null (None).
    if not name   :
        # Trả về một giá trị.
        # Và hàm sẽ kết thúc ở đây.
        return "Hello every body!"
    
    # Nếu name không rỗng và không null (Không None).
    # đoạn code dưới đây sẽ được thực thi.
    return "Hello " + name

# Gọi hàm, truyền tham số vào hàm.
greeting = getGreeting("") 
print(greeting)  
greeting = getGreeting("Python") 
print(greeting)

Output:


Hello every body!
Hello Python

3- Hàm với tham số bắt buộc

Ví dụ dưới đây định nghĩa hàm showInfo, có 2 tham số, cả hai tham số này đều là bắt buộc. Khi bạn gọi hàm này bạn cần phải truyền 2 tham số vào cho hàm. Ngược lại chương trình sẽ ném ra lỗi.

requiredParameterExample.py


def showInfo(name, gender):
    print ("Name: ", name);
    print ("Gender: ", gender);

# Valid  
showInfo("Tran", "Male")  
# Invalid ==> Error!!
showInfo("Tran")  

4- Hàm với tham số mặc định

Hàm có thể có nhiều tham số, bao gồm các tham số bắt buộc và các tham số có giá trị mặc định.

Hàm showInfo dưới đây có 3 tham số (name, gender = "Male", country = "US"):

  1. name là tham số bắt buộc.
  2. gender là tham số có giá trị mặc định "Male".
  3. country là tham số có giá trị mặc định "US".

defaultParameterExample.py


def showInfo(name, gender = "Male", country ="US"):
    print ("Name: ", name)
    print ("Gender: ", gender)
    print ("Country: ", country)

# Valid    
showInfo("Aladdin", "Male", "India")  
print (" ------ ")
# Valid  
showInfo("Tom", "Male")
print (" ------ ")
# Valid  
showInfo("Jerry")
print (" ------ ")
# Valid  
showInfo(name = "Tintin", country ="France")
print (" ------ ")

Output:


Name: Aladdin
Gender: Male
Country: India
 ------
Name: Tom
Gender: Male
Country: US
 ------
Name: Jerry
Gender: Male
Country: US
 ------
Name: Tintin
Gender: Male
Country: France
 ------

5- Hàm có tham số với độ dài thay đổi

Tham số với độ dài thay đổi (Variable-length Parameter) là một tham số đặc biệt. Khi gọi hàm, bạn có thể truyền (pass) 0, 1 hoặc nhiều giá trị ứng với tham số đó.

Chú ý: "Variable-length Parameter" luôn phải là tham số cuối cùng của hàm.

Ví dụ:

Hàm sumValues có 3 tham số:

  • Tham số a, b là bắt buộc.
  • Tham số *others"Variable-Length Parameter".

variableLengthParameterExample.py


def sumValues(a, b, *others): 
    retValue = a + b
    
    # Tham số 'others' giống như một mảng.
    for other in others :
        retValue = retValue + other
        
    return retValue

Cách gọi hàm:

testVariableLengthParameter.py


from variableLengthParameterExample import sumValues

# Truyền vào: *others = []
a = sumValues(10, 20) 
print("sumValues(10, 20) = ", a);

# Truyền vào: *others = [1]
a = sumValues(10, 20, 1);  
print("sumValues(10, 20, 1 ) = ", a);

# Truyền vào: *others = [1,2]
a = sumValues(10, 20, 1, 2);  
print("sumValues(10, 20, 1 , 2) = ", a);

# Truyền vào: *others = [1,2,3,4,5]
a = sumValues(10, 20, 1, 2,3,4,5);  
print("sumValues(10, 20, 1, 2, 3, 4, 5) = ", a);

Output:


sumValues(10, 20) = 30
sumValues(10, 20, 1) = 31
sumValues(10, 20, 1, 2) = 33
sumValues(10, 20, 1, 2, 3, 4, 5) = 45

6- Hàm nặc danh

Các hàm được gọi là nặc danh (anonymous) nếu chúng không được định nghĩa theo cách thông thường bởi từ khóa def, mà sử dụng từ khóa lambda.

  1. Hàm nặc danh có thể có 0 hoặc nhiều tham số, nhưng trong thân hàm chỉ có duy nhất một biểu thức (expression). Giá trị của biểu thức chính là giá trị trả về của hàm. Nhưng không được sử dụng từ khóa 'return' ngay trước biểu thức.
  2. Danh sách các tham số cách nhau bởi dấu phẩy, và không được đặt trong cặp dấu ngặc tròn ( ).
  3. Trong thân của hàm nặc danh, bạn không thể truy cập các biến bên ngoài, bạn chỉ có thể truy cập các tham số của nó.
  4. Hàm nặc danh không thể gọi trực tiếp hàm print, bởi vì lambda đòi hỏi một biểu thức.

Cú pháp:

* syntax *


lambda [arg1 [,arg2,.....argn]]  :  expression

Ví dụ:

lambdaFunctionExample.py


# Khai báo một biến: hello = một hàm nặc danh và không có tham số.
hello = lambda  : "Hello"

# Khai báo một biến: mySum = một hàm nặc danh có 2 tham số.
mySum = lambda a, b : a + b 

a= hello() 
print (a) 

a = mySum(10, 20) 
print (a)

Output:

Có thể bạn quan tâm

Đây là các khóa học trực tuyến bên ngoài website o7planning mà chúng tôi giới thiệu, nó có thể bao gồm các khóa học miễn phí hoặc giảm giá.