Hàm trong Python là các chương trình con, giúp giảm thiểu việc lặp lại các khối lệnh trong chương trình. Hàm cho phép người dùng thực hiện các tác vụ khác nhau bằng cách gọi chúng thông qua tên hàm và các tham số cần thiết.
1. Một số hàm thiết kế sẵn của Python
Python cung cấp nhiều hàm sẵn có, cho phép người dùng sử dụng trong các chương trình của mình. Dưới đây là một số ví dụ về các hàm này:
Hàm | Tham số | Ý nghĩa |
---|---|---|
abs() | Số | Trả về giá trị tuyệt đối của số |
len() | Xâu kí tự hoặc danh sách | Trả về độ dài của đối tượng |
range() | Số | Tạo một dãy số |
bool() | Giá trị logic | Chuyển đổi giá trị sang kiểu logic |
float() | Số hoặc xâu kí tự | Chuyển đổi sang số thập phân |
list() | Xâu kí tự hoặc hàm range() | Chuyển đổi sang danh sách |
str() | Số hoặc xâu kí tự | Chuyển đổi sang xâu kí tự |
int() | Xâu kí tự hoặc số | Chuyển đổi sang số nguyên |
print() | Dữ liệu cần in | In dữ liệu ra màn hình |
type() | Biến | Trả về kiểu dữ liệu của biến |
Ví dụ về việc sử dụng các hàm này:
print("Xin chào!")
: In “Xin chào!” ra màn hình.x = int("52")
: Chuyển đổi xâu “52” thành số nguyên 52.y = type(5)
: Trả về kiểu dữ liệu của biến y là số nguyên.
2. Thiết lập các hàm tự định nghĩa
Hàm được định nghĩa bằng từ khóa def
, theo sau là tên hàm và danh sách tham số. Khối lệnh của hàm được viết sau dấu :
và thụt vào.
Cú pháp chung:
def <tên hàm>(<danh sách tham số>):
<khối lệnh>
return <giá trị> # Nếu có giá trị trả lại
Ví dụ 1: Hàm tăng giá trị truyền vào lên 1 đơn vị
def inc(n):
return n + 1
Ví dụ 2: Hàm tính diện tích hình chữ nhật
def dien_tich_chu_nhat(dai, rong):
return dai * rong
Ví dụ 3: Hàm in ra dòng thông báo (không trả lại giá trị)
def thong_bao(msg):
print("Xin chào bạn", msg)
Thực hành
Nhiệm vụ 1: Viết hàm yêu cầu người dùng nhập họ tên rồi đưa lời chào ra màn hình
def meeting():
ten = input("Nhập họ tên của em: ")
print("Xin chào", ten)
meeting() # Gọi hàm
Nhiệm vụ 2: Viết hàm kiểm tra số nguyên tố
Hàm kiểm tra số nguyên tố với tham số là số tự nhiên n
.
def prime(n):
if n < 2:
return False
C = 0
k = 2
while k < n:
if n % k == 0:
return False
k += 1
return True
Luyện tập
1. Viết hàm in các số nguyên tố là ước của số n
:
Sử dụng hàm prime()
đã được định nghĩa.
def in_uoc_so_nt(n):
for k in range(2, n+1):
if n % k == 0 and prime(k):
print(k)
2. Viết hàm đếm số chữ số trong xâu s
def numbers(s):
count = 0
for ch in s:
if ch in "0123456789":
count += 1
return count
Vận dụng
1. Giải thích ý nghĩa của lệnh return trong một hàm
Hàm sau có nhiều lệnh return:
def prime(n):
if n < 2:
return False
k = 2
while k < n:
if n % k == 0:
return False
k += 1
return True
Giải thích:
- Hai lệnh
return False
: dừng ngay nếun<2
hoặc tìm thấyk
là ước củan
. - Lệnh cuối cùng
return True
: trả về kết quả n là số nguyên tố nếu không tìm thấy bất kỳ k nào chia hết n.
→ So với phiên bản trước, cách viết này tối ưu hơn vì không cần kiểm tra tất cả các giá trị k
.
2. Viết chương trình đếm số chữ số cà chữ cái trong xâu
Hàm đếm chữ số:
def numbers(s):
count = 0
for ch in s:
if ch in "0123456789":
count += 1
return count
Hàm đếm số chữ cái tiếng Anh:
def english(s):
count = 0
for ch in s:
if "A" <= ch <= "Z" or "a" <= ch <= "z":
count += 1
return count
Chương trình yêu cầu nhập xâu và thông báo số chữ số và chữ cái:
s = input("Nhập một xâu: ")
print("Số chữ số:", numbers(s))
print("Số chữ cái tiếng Anh:", english(s))