About Me

header ads

Def trong python và cú pháp tạo hàm (#10)

 Hướng dẫn sử dụng def trong python. Bạn sẽ học được cách sử dụng def để khai báo hàm trong python, cũng như cách gọi hàm trong python đã được khai báo sau bài học này.

def trong python

def trong python là một từ khóa (keyword) dùng để xác định một hàm. Chúng ta sử dụng def khi khai báo hàm trong python.
def trong pythondef trong python

Trong bài viết Hàm trong Python bạn đã biết có 3 loại hàm trong python, trong đó có một loại hàm mà chúng ta có thể tự tạo hàm để sử dụng trong chương trình, đó chính là hàm Python do người dùng định nghĩa.

Khi muốn sử dụng một hàm Python do người dùng định nghĩa, trước hết chúng ta cần khai báo hàm trong python bằng cách sử dụng def trong python với cú pháp hàm như sau:

def tên hàm (tham số 1tham số 2...) :
    Câu lệnh 1 trong hàm
    Câu lệnh 2 trong hàm
    ...

    return giá trị trả về

Trong đó:

  • def là từ khóa dùng để khai báo hàm trong Python
  • tên hàm là một chuỗi ký tự dùng để đặt tên đại diện cho hàm.
  • tham số là các biến sử dụng trong khai báo hàm, cũng như để nhập đối số khi chúng ta sử dụng hàm.
  • return là từ khóa dùng để trả giá trị trả về từ hàm trong Python

Ví dụ, chúng ta sử dụng def để tạo ra một hàm tính tổng hai số và trả về kết quả trong chương trình như sau:

def add(a, b):
x = a + b
return x

Lại nữa, nếu một hàm không cần nhận giá trị truyền vào từ bên ngoài thì chúng ta cũng có thể lược bỏ tham số khi khai báo hàm trong python như sau:

def tên hàm () :
    Câu lệnh 1 trong hàm
    Câu lệnh 2 trong hàm
    …

    return giá trị trả về


Như ở ví dụ sau đây, chúng ta không sử dụng tham số khi khai báo hàm:

def add():
x = 1 + 2
print(x)
return x

Cuối cùng, return là lệnh dùng để trả về giá trị trong python, và hàm chứa lệnh return được gọi là hàm trả về giá trị trong python. Tuy nhiên nếu trong trường hợp không có giá trị nào cần trả về từ hàm thì chúng ta cũng có thể bỏ qua lệnh này. Ví dụ:

def hello():
print('Hello')

Gọi hàm trong python

Sau khi khai báo hàm trong python, chúng ta có thể sử dụng hàm đó nhiều lần trong chương trình bằng cách gọi hàm trong python với cú pháp sau đây:

tên hàm ( đối số 1đối số 2,...)

Chúng ta viết tên hàm, sau đó đặt các đối số (các giá trị truyền vào khi gọi hàm) ở giữa cặp dấu ngoặc đơn () và cách nhau bởi dấu phẩy ,. Các giá trị của đối số sẽ được dùng để truyền tham số trong python.

Ví dụ, chúng ta khai báo và gọi hàm trong python như sau:

def add(a, b):
x = a + b
return(x)

add(1, 2)
add(5, 6)

Lưu ý, chúng ta gọi các biến dùng để khai báo hàm là tham số, còn các giá trị thực truyền vào khi gọi hàm là đối số. Giá trị của các đối số sẽ được các tham số tương ứng nhận và thực hiện các xử lý ở bên trong hàm.
Việc các tham số bên trong hàm nhận các đối số từ bên ngoài hàm được gọi là truyền tham số trong Python. Chi tiết về tham số và đối số trong python bạn có thể xem tại bài viết Hàm trong Python

Sau khi gọi hàm trong python, một giá trị là kết quả của hàm sẽ được trả về. Giá trị trả về từ hàm có thể được gán vào biến để sử dụng như sau:

def add(a, b):
x = a + b
return(x)

ketqua = add(1, 2)
print(ketqua)
#> 3

Trong trường hợp trong hàm được khai báo không chứa tham số, chúng ta cũng không thể truyền tham số vào hàm được. Khi đó chúng ta sẽ chỉ gọi hàm trong python bằng cách lược bỏ đối số đi như sau:

tên hàm ()

Ví dụ:

def hello():
print('Hello')

hello()
#>> Hello

Lại nữa, nếu như trong hàm đã khai báo không phải là hàm trả về giá trị trong python, có nghĩa là nó không chứa câu lệnh trả về giá trị return bên trong hàm, thì về mặc định, giá trị None sẽ được trả về. Ví dụ:

def sample():
x = 1 + 2

a = sample()
print(a)
#> None

Lưu ý cuối cùng khi gọi hàm trong python, nếu như bạn gọi một hàm mà hàm đó vốn chưa được khai báo, lỗi NameError sau đây sẽ xảy ra:

sample2()

>>Traceback (most recent call last):
>> File "Main.py", line 1, in <module>
>> sample2()
>>NameError: name 'sample2' is not defined

Đăng nhận xét

0 Nhận xét