Hàm BUILT-IN trong Python

1. Hàm Built-in (Hàm tích hợp sẵn trong Python)

Khái niệm

  • Là những hàm được Python cung cấp sẵn.
  • Không cần import, có thể dùng trực tiếp.
  • Mỗi hàm thường:
    • Nhận đầu vào (parameter)
    • Xử lý
    • Trả về đầu ra (return)

2. Các ví dụ về hàm built-in đã sử dụng

2.1 print() – Hàm xuất dữ liệu ra màn hình

Giải thích

  • Hàm print() nhận bất kỳ giá trị nào (chuỗi, số, biến…) và hiển thị ra màn hình.

Ví dụ:

print("Xin chào Python!")
x = 10
print("Giá trị của x là:", x)

Giải thích code

  • print("Xin chào Python!") sẽ in ra dòng chữ.
  • print("Giá trị của x là:", x) cho phép in nhiều giá trị trong cùng một câu.

2.2 input() – Hàm nhận dữ liệu từ người dùng

Giải thích

  • input() hiển thị một lời nhắc (tuỳ chọn) và chờ người dùng nhập dữ liệu → luôn trả về chuỗi.

Ví dụ:

name = input("Nhập tên của bạn: ")
print("Xin chào,", name)

2.3 int() – Chuyển đổi chuỗi thành số nguyên

Ví dụ:

number_str = "123"
number_int = int(number_str)
print(number_int + 10)    # Kết quả: 133

Giải thích

  • int("123") chuyển "123" → 123
  • Nếu nhập ký tự không phải số → lỗi.

2.4 set() – Chuyển list thành set (loại bỏ phần tử trùng)

Ví dụ:

numbers = [1, 2, 2, 3, 3, 3]
unique_numbers = set(numbers)
print(unique_numbers)   # {1, 2, 3}

Giải thích

  • set() giúp loại bỏ trùng lặp, thứ tự không được giữ lại.

3. Hàm do người dùng tự định nghĩa

Ví dụ

def cong_hai_so(a, b):
    return a + b

print(cong_hai_so(5, 7))

Giải thích

  • Hàm nhận a, b → trả về a + b.
  • Dùng return để trả kết quả cho bên ngoài.

4. Hàm gọi trực tiếp trên giá trị (Methods)

Đây là hàm thuộc về từng kiểu dữ liệu.

Bạn gọi bằng cú pháp:

giá_trị.hàm()

4.1 Hàm cho kiểu chuỗi (String Methods)

Các hàm quan trọng:

  • split() – tách chuỗi
  • isdigit() – kiểm tra chuỗi có chứa toàn số
  • upper() – chuyển sang chữ hoa
  • replace() – thay thế ký tự

Ví dụ chi tiết:

4.1.1 split()

text = "Xin chào, Python"
parts = text.split(", ")
print(parts)  # ['Xin chào', 'Python']

4.1.2 isdigit()

s = "123"
print(s.isdigit())   # True

s2 = "12a3"
print(s2.isdigit())  # False

4.1.3 upper()

name = "python"
print(name.upper())   # "PYTHON"

4.1.4 replace()

sentence = "I love Python"
new_sentence = sentence.replace("love", "like")
print(new_sentence)   # "I like Python"

4.2 Hàm cho kiểu danh sách (List Methods)

Các hàm phổ biến:

  • append() – thêm phần tử
  • remove() – xoá phần tử
  • sort() – sắp xếp
  • copy() – sao chép danh sách

Ví dụ:

4.2.1 append()

fruits = ["apple", "banana"]
fruits.append("orange")
print(fruits)

4.2.2 remove()

numbers = [1, 2, 3, 2]
numbers.remove(2)
print(numbers)   # [1, 3, 2]

4.2.3 sort()

scores = [5, 3, 8, 1]
scores.sort()
print(scores)  # [1, 3, 5, 8]

4.2.4 copy()

a = [1, 2, 3]
b = a.copy()
print(b)

5. Tổng kết so sánh 3 loại hàm

Loại hàmVí dụCách gọiĐặc điểm
Built-inprint(), input(), int()tên_hàm()Python cung cấp sẵn
User-defineddef my_function():tên_hàm()Do lập trình viên tự tạo
Methods (hàm của kiểu dữ liệu)"abc".upper()giá_trị.hàm()Phụ thuộc vào kiểu dữ liệu (string, list,…)

BÀI TẬP PHẦN HÀM BUILT-IN & METHODS

Phần A – Bài tập cơ bản

Bài 1:

Viết chương trình yêu cầu người dùng nhập tuổi.

  • Dùng input() để lấy tuổi
  • Dùng int() để chuyển chuỗi nhập vào thành số
  • In ra: "Tuổi của bạn là: X"

Lời giải

age_str = input("Nhập tuổi của bạn: ")
age = int(age_str)
print("Tuổi của bạn là:", age)

Bài 2:

Cho list:

numbers = [1, 1, 2, 3, 3, 4]

Hãy dùng set() để loại phần tử trùng và in kết quả.

Lời giải

numbers = [1, 1, 2, 3, 3, 4]
unique_numbers = set(numbers)
print(unique_numbers)   # {1, 2, 3, 4}

Bài 3:

Dùng hàm upper() để chuyển chuỗi "python cơ bản" thành chữ in hoa.

Lời giải

text = "python cơ bản"
print(text.upper())   # "PYTHON CƠ BẢN"

Phần B – Bài tập trung bình

Bài 4:

Cho chuỗi: "Táo, Cam, Nho, Xoài"

  • Dùng split() tách thành list
  • In ra list kết quả

Lời giải

fruits = "Táo, Cam, Nho, Xoài"
result = fruits.split(", ")
print(result)
# ['Táo', 'Cam', 'Nho', 'Xoài']

Bài 5:

Cho danh sách:

scores = [10, 5, 8, 3]
  • Thêm điểm 7 vào cuối danh sách bằng append()
  • Sắp xếp danh sách tăng dần bằng sort()
  • In ra kết quả cuối cùng

Lời giải

scores = [10, 5, 8, 3]
scores.append(7)
scores.sort()
print(scores)   # [3, 5, 7, 8, 10]

Bài 6:

Viết hàm người dùng tự định nghĩa tong(a, b) trả về tổng của hai số.

Gọi hàm với tham số 49.

Lời giải

def tong(a, b):
    return a + b

print(tong(4, 9))   # 13

Phần C – Bài tập nâng cao (áp dụng kiến thức)

Bài 7:

Viết chương trình:

  • Nhập chuỗi từ người dùng
  • Kiểm tra xem chuỗi đó có phải toàn chữ số không bằng isdigit()
  • Nếu đúng → in "Chuỗi là số"
  • Nếu sai → in "Chuỗi KHÔNG phải số"

Lời giải

text = input("Nhập chuỗi: ")

if text.isdigit():
    print("Chuỗi là số")
else:
    print("Chuỗi KHÔNG phải số")

Bài 8:

Cho danh sách:

items = ["ghế", "bàn", "tủ", "kệ"]
  • Tạo bản sao của danh sách bằng copy()
  • Xóa phần tử "tủ" khỏi bản sao bằng remove()
  • In ra cả hai danh sách để thấy sự khác nhau

Lời giải

items = ["ghế", "bàn", "tủ", "kệ"]
copy_items = items.copy()

copy_items.remove("tủ")

print("Danh sách gốc:", items)
print("Danh sách đã sửa:", copy_items)

Bài 9:

Viết chương trình tách họ và tên từ chuỗi "Nguyễn Văn A" bằng split().

  • In họ
  • In tên

Lời giải

fullname = "Nguyễn Văn A"
parts = fullname.split(" ")

print("Họ:", parts[0])
print("Tên:", parts[-1])

Bài 10 – Tổng hợp:

Viết chương trình:

  1. Nhập danh sách số dạng chuỗi (ví dụ: "1, 3, 5, 2")
  1. Tách chuỗi thành list bằng split()
  1. Dùng int() để chuyển tất cả phần tử thành số nguyên
  1. Sắp xếp list tăng dần (sort())
  1. In kết quả

Lời giải

data = input("Nhập danh sách số (ví dụ: 1, 3, 5, 2): ")

str_list = data.split(", ")         # Tách thành chuỗi
num_list = []                       # Danh sách số

for item in str_list:
    num_list.append(int(item))      # Chuyển sang số

num_list.sort()

print("Danh sách sau khi sắp xếp:", num_list)