Bài 16: Hàm Trong Python - Lập Trình Python Cơ Bản - VnCoder

vncoder logo
  • Học lập trình
  • |
  • Bài viết
  • |
  • Tin tức
  • |
  • Tuyển dụng
  • |
  • Liên hệ
  • |
  • Đăng ký
  • |
  • Đăng nhập

PHP

Laravel

Android

Java

HTML5

CSS3

NodeJS

VueJS

Swift

Python

Machine Learning

C/C++

Linux/Server

SQL

Javascript

Game

Phân tích thiết kế hệ thống

Servlet/JSP

AI

  1. Trang chủ
  2. Python
  3. Lập trình Python cơ bản
  4. Hàm trong Python
  • Bài 1: Python là gì? - Giới thiệu ngôn ngữ Python
  • Bài 2: Cài đặt Python - Chạy chương trình đầu tiên
  • Bài 3: Cú pháp cơ bản trong Python
  • Bài 4: Khai báo biến và kiểu dữ liệu trong Python
  • Bài 5: Chuỗi trong Python
  • Bài 6: Các hàm xử lý chuỗi trong Python
  • Bài 7: Số trong Python
  • Bài 8: List trong Python
  • Bài 9: Các hàm xử lý List trong Python
  • Bài 10: Tuple trong Python
  • Bài 11: Dictionary trong Python
  • Bài 12: Toán tử trong Python
  • Bài 13: Câu lệnh rẽ nhánh trong Python
  • Bài 14: Vòng lặp trong Python
  • Bài 15: Đọc ghi file trong Python
  • Bài 16: Hàm trong Python
  • Bài 17: Modules trong Python
  • Bài 18: Exception trong Python
  • Bài 19: Package trong Python
  • Bài 20: Hướng đối tượng trong Python

Bài 16: Hàm trong Python - Lập trình Python cơ bản

Đăng bởi: Admin | Lượt xem: 5872 | Chuyên mục: Python Hàm, là một khối code được tổ chức và có thể tái sử dụng, để thực hiện một hành động nào đó. Trong các chương trước, bạn đã làm quen với một số hàm đã được xây dựng sẵn trong Python, điển hình như hàm print(). Tuy nhiên bạn cũng có thể tạo riêng cho mình một hàm với cách định nghĩa và kiểu giá trị cho riêng bạn. Các hàm này được gọi là user-defined function.

1. Khai báo hàm trong Python

Để khai báo một hàm trong Python thì chúng ta sử dụng keyword def với cú pháp như sau:def ten_ham(param...): #codeTrong đó:
  1. ten_ham là tên của hàm mà bạn muốn đặt. Lưu ý: Tên hàm không được bắt đầu bằng số và không được chứa các ký tự đặc biệt trừ ký tự _
  2. param... là các tham số bạn muốn truyền vào hàm, nếu không có tham số thì để trống trường này.
VD1: Mình sẽ khai báo một hàm in ra chữ "Welcome to toidicode.com!".def say(): print("Welcome to vncoder.vn")VD2: Mình sẽ khai báo một hàm tính tổng của 2 số bất kỳ do người dùng truyền vào.def sum(a, b): print("sum = " + str(a + b))Trong ví dụ này a, b sẽ là tham số mà chúng ta truyền vào khi gọi hàm.

2. Gọi hàm

Để gọi một hàm đã được khai báo rồi, thì chúng ta sử dụng cú pháp sau:ten_ham() #hoặc ten_ham(param...)Trong đó:
  1. ten_ham là tên của hàm là chúng ta muốn gọi.
  2. param... là các tham số chúng ta muốn truyền vào trong hàm.
VD3: Mình sẽ gọi hàm say ở trong VD1.def say(): print("Welcome to vncoder.vn") say() # Ket qua: Welcome to vncoder.vnVD4: Mình sẽ gọi hàm sum ở trong VD2.def sum(a, b): print("sum = " + str(a + b)) # tinh tong 2 so 4,5 sum(4, 5) # Ket qua: sum = 9 # tinh tong 2 so 3,7 sum(3, 7) # Ket qua sum = 10

3. Hàm có kết quả trả về

Trong trường hợp bạn muốn sử dụng kết quả của hàm vừa tính để thực hiện các mục đíc khác. Thì bạn chỉ cần thêm keyword return trước kết quả bạn muốn trả về.VD: Mình sẽ khai báo lại hàm sum ở VD2 thành hàm có kết quả trả về.def sum(a, b): return a+ bBây giờ khi muốn sử dụng kết quả của nó thì ta có thể gán nó vào một biến, hay một đối tượng và sử dụng như bình thường.def sum(a, b): return a+ b c = sum(4, 5); print("Tong cua 4 va 5 = " + str(c))

4. Tham số mặc định cho hàm

Tham số mặc định là tham số mà cung cấp các giá trị mặc định cho các tham số được truyền trong phần định nghĩa hàm, trong trường hợp mà giá trị không được cung cấp trong lời gọi hàm. Ví dụ:#Phan dinh nghia ham def msg(Id,Ten,Age=21): "In gia tri da truyen" print Id print Ten print Tuoi return #Function call msg(Id=100,Ten='Hoang',Tuoi=20) msg(Id=101,Ten='Thanh')Kết quả là:100 Hoang 20 101 Thanh 21Giải thích:1, Trong trường hợp đầu tiên, khi hàm msg() được gọi đang truyền ba giá trị là 100, Hoang, và 20, thì các giá trị này sẽ được gán tương ứng cho các tham số và do đó chúng được in ra tương ứng.2, Trong trường hợp thứ hai, khi bạn chỉ truyền hai tham số cho hàm msg() được gọi là 101 và Thanh, thì các giá trị này được gán tương ứng cho ID và Ten. Không có giá trị nào được gán cho tham số thứ ba trong lời gọi hàm, và vì thế hàm sẽ lấy giá trị mặc định là 21.

5. Phạm vi của biến trong hàm

Khi một biến được khai báo ở trong hàm thì nó chỉ có thể được sử dụng ở trong hàm đó thôi.VD:def say_hello(): a = "Hello" print(a) print(a) # Lỗi: name 'a' is not definedVà chúng ta cũng không thể nào thay đổi giá trị của biến (biến bình thường) mà tác động ra ngoài hàm được.VD:a = "Hello Guy!" def say(a): a = "vncoder.vn" print(a) say(a) # KQ: vncoder.vn print(a) # KQ: Hello Guy!Nhưng nếu như biến mà có kiểu dữ liệu là list thì chúng ta lại có thể là được điều đó.VD:a = [5, 10, 15] def change(a): a[0] = 1000 print(a) change(a) # KQ: [1000, 10, 15] print(a) # KQ: [1000, 10, 15]

6. Biến Global

Ngoài những cách hoạt động của biến mình đã trình bày ở phần 6 ra thì chúng ta còn có 1 cách nữa để có thể tác động đến các biến bên ngoài hàm khi đang ở trong hàm. Đó là sử dụng global variable - biến toàn cầu, khi một biến là global thì chúng ta có thể gọi và tác động đến nó từ bất kỳ đâu trong chương trình.Để khai báo một biến là global thì chúng ta chỉ cần thêm keyword global trước tên của nó như sau:global tenbienVD: Mình sẽ thay đổi giá trị của biến khi ở trong hàm.a = "Hello Guy!" def say(): global a a = "vncoder.vn" print(a) say() # KQ: vncoder.vn print(a) # KQ: vncoder.vn

7. Truyền vô số tham số vào hàm

Trên thực tế, không phải lúc nào chúng ta cũng biết được chính xác số lượng biến truyền vào trong hàm. Chính vì thế trong Python có cũng cấp cho chúng ta khai báo một param đại diện cho các biến truyền vào hàm bằng cách thêm dấu * vào trước param đó.VD: Mình sẽ khai báo hàm get_sum để tính tổng các tham số truyền vào hàm.def get_sum(*num): tmp = 0 # duyet cac tham so for i in num: tmp += i return tmp result = get_sum(1, 2, 3, 4, 5) print(result) # KQ: 15Như vậy, thông qua bài học này, chúng ta đã cùng nhau tìm hiểu về hàm trong Python. Cảm ơn các bạn đã đọc. Bài tiếp theo: Modules trong Python >> vncoder logo

Theo dõi VnCoder trên Facebook, để cập nhật những bài viết, tin tức và khoá học mới nhất!

Chia sẻ bài viết
  • Bài 1: Python là gì? - Giới thiệu ngôn ngữ Python
  • Bài 2: Cài đặt Python - Chạy chương trình đầu tiên
  • Bài 3: Cú pháp cơ bản trong Python
  • Bài 4: Khai báo biến và kiểu dữ liệu trong Python
  • Bài 5: Chuỗi trong Python
  • Bài 6: Các hàm xử lý chuỗi trong Python
  • Bài 7: Số trong Python
  • Bài 8: List trong Python
  • Bài 9: Các hàm xử lý List trong Python
  • Bài 10: Tuple trong Python
  • Bài 11: Dictionary trong Python
  • Bài 12: Toán tử trong Python
  • Bài 13: Câu lệnh rẽ nhánh trong Python
  • Bài 14: Vòng lặp trong Python
  • Bài 15: Đọc ghi file trong Python
  • Bài 16: Hàm trong Python
  • Bài 17: Modules trong Python
  • Bài 18: Exception trong Python
  • Bài 19: Package trong Python
  • Bài 20: Hướng đối tượng trong Python

Từ khóa » Câu Lệnh Def Trong Python