Cách xây dựng chương trình còn trong python

Cách xây dựng chương trình còn trong python
Lập trình Python

1. Tìm hiểu về chương trình con

– Chương trình con trong Python gồm các package, module và các hàm được xây dựng sẵn hoặc do người lập trình tự xây dựng.

– Package là thư mục chứa một hoặc nhiều module hay các package khác nhau

– Module là tập hợp gồm các hàm liên quan như: math, random, pygame,…

– Chương trình con thường gồm 2 loại là hàm và thủ tục, nhưng trong Python không phân biệt hàm và thủ tục, mà chỉ dùng khái niệm hàm. Hàm chỉ được thực hiện khi được gọi

2. Cấu trúc hàm trong Python

a. Khai báo hàm:

def  <tên hàm>([<danh sách tham số>]):
	<dãy các lệnh>
	[return <giá trị>]

b. Hàm ẩn danh:

<tên hàm> = lambda <danh sách tham số>: <biểu thức, giá trị trả về>

c. Ví dụ: Viết hàm tính tổng 3 số bất kỳ

Cách 1: Khai báo hàm tong3

def  tong3(a, b, c):
	t = a + b + c
	return t

Cách 2: Sử dụng hàm ẩn danh

tong3 = lambda a, b, c: a + b + c 

Lưu ý:

Danh sách tham số có thể được khởi tạo giá trị mặc định

Ví dụ:

def  tong3(a=0,b=0,c=0)
        return a + b + c

Lúc đó nếu không truyền tham số cho a, b, c thì a, b, c sẽ có giá trị mặc định là 0.

3. Thực hiện chương trình con

a. Đối với hàm: <tên hàm>([<danh sách tham số thực>])

Ví dụ:

tong = tong3(a, b, c)	#Gán giá trị trả về của hàm tong3 cho biến tong
tong = tong3()		#Lúc đó biến tong sẽ có giá trị là 0, vì a, b, c sẽ nhận mặc định 0
n = math.abs(x) 	#Gán giá trị tuyệt đối của x cho biến n

b. Đối với Module

  import <tên module> hoặc from <tên module> import <tên hàm>

Ví dụ:

import math		#Thêm thư viện Toán học
from math import sqrt	#Thêm hàm sqrt trong thư viện Toán học
from random import *	#Thêm toàn bộ hàm trong thư viện random

c. Đối với Package

  import <tên pagekage>.<tên module>

Ví dụ:

#1
import demopackage.modules  #Thêm modules từ demopackage
demopackage.modules.say_hello()  #Gọi hàm sayhello() trong modules

#2
import demopackage.modules as modules  #Thêm modules từ demopackage
modules.say_hello()  #Gọi hàm sayhello() trong modules

4. Một số ví dụ về chương trình con

dụ 1: Viết chương trình có sử dụng hàm lambda để trả về số giây tương ứng với các tham số giờ, phút, giây tương ứng nhập vào từ bàn phím.

dụ 2: Viết chương trình tính tổng sau: S = 1! + 2! + … + n!, với n là số nguyên dương nhập vào từ bàn phím.

dụ 3: Viết chương trình để in ra màn hình các số nguyên tố từ 1 đến n, với n là số nguyên dương nhập vào từ bàn phím.

dụ 4: Viết chương trình giải bài toán Tháp Hà Nội

Bài toán Tháp Hà Nội (Tower of Hanoi) là một trò chơi toán học bao gồm 3 cột và với số đĩa nhiều hơn 1. Các đĩa có kích cỡ khác nhau và xếp theo tự tự tăng dần về kích cỡ từ trên xuống: đĩa nhỏ hơn ở trên đĩa lớn hơn. Nhiệm vụ của trò chơi là di chuyển các đĩa có kích cỡ khác nhau sang cột khác sao cho vẫn đảm bảo thứ tự ban đầu của các đĩa: đĩa nhỏ nằm trên đĩa lớn.

Xem tiếp Bài 11 – Làm việc với kiểu dữ liệu tệp trong ngôn ngữ lập trình Python

Function (hay còn gọi là Hàm): Là một khối lệnh được đóng gói lại thành một đơn vị độc lập, dùng để thực hiện một tác vụ trong chương trình.

Hàm giúp phân chia chương trình tốt hơn, và cho phép tái sử dụng lại mã nguồn.

Python cung cấp nhiều các hàm dựng sẵn (built-in-function), ngoài ra ta có thể tự định nghĩa các hàm của riêng mình. Những hàm này còn được gọi là user-defined function.

  • Hàm sau khi được định nghĩa sẽ không tự thực thi.
  • Hàm chỉ thực thi khi được gọi đến.

Chú ý!

Khi định nghĩa hàm ta nên đặt tên hàm là một động từ, vì hàm thể hiện một hành động, một tác vụ của chương trình.

Một số quy tắc khi định nghĩa hàm trong Python

Trong Python, chúng ta định nghĩa hàm theo quy tắc sau:

  • Định nghĩa hàm sẽ bắt đầu với từ khóa def, sau đó là tên hàm và cặp dấu ngoặc ( )
  • Cặp dấu ( ) sẽ chứa các tham số của hàm (nếu có)
  • Câu lệnh đầu tiên của hàm có thể là một lệnh tùy chọn, để mô tả về hàm (còn gọi là docstring)
  • Thân của hàm sẽ bắt đầu với một dấu : và được thụt lề.
  • Lệnh return dùng để thoát ra khỏi hàm, và trả lại giá trị từ hàm.

Cú pháp định nghĩa hàm trong Python

Ta sử dụng Cú pháp như sau để định nghĩa hàm trong Python:

Cách xây dựng chương trình còn trong python

Cú pháp (Syntax) định nghĩa hàm trong Python

Ví dụ định nghĩa hàm:

Ở đây ta đã định nghĩa ra một hàm có tên là my_function().

Hàm này chỉ đơn giản in ra một chuỗi.

Sau đó ta gọi hàm vừa tạo:

print("Hello from a Function")

my_function()

# Kết Quả

# Hello from a Function
 


Hướng dẫn sử dụng tham số với hàm trong Python

Hàm có thể có các tham số.

Tham số cho phép thay đổi nội dung bên trong hàm, làm cho hàm trở nên linh hoạt hơn, động hơn.

Hàm có thể trả về kết quả khác nhau dựa trên giá trị truyền vào của tham số khác nhau.

Chú ý!

Khi định nghĩa hàm, ta khai báo bao nhiêu tham số, thì khi gọi hàm, ta cần truyền bấy nhiêu giá trị vào hàm.

Ví dụ: Ở đây ta định nghĩa một hàm add() cho phép tính tổng của hai số được truyền từ bên ngoài vào hàm. Sau đó ta nhập hai số vào từ bàn phím, rồi gọi hàm vừa tạo.

def add(ab):

sum = a + b

return sum

# Nhập 2 số vào từ bàn phím

x = int(input("Nhập số thứ nhất:"))

y = int(input("Nhập số thứ hai:"))

# Gọi hàm add() vừa được định nghĩa ở trên

tong = add(xy)

# In ra tổng vừa tính được

print("Tổng là: " + str(tong))
 

> Lưu ý: Trong python, bạn muốn nối giá trị thì phải chúng phải cùng kiểu. Vì thế chúng ta phải chuyển tong thành  str

Sau khi đã viết mã xong, ta sẽ thực thi hàm vừa tạo.

Ta sẽ thấy chương trình hiển thị kết quả đúng như mong muốn.

Cách truyền tham số có giá trị mặc định trong Python

Khi định nghĩa hàm, ta có thể gán giá trị mặc định cho tham số.

Khi gọi hàm, nếu ta không truyền giá trị cho tham số, thì tham số sẽ tự động được gán giá trị mặc định.

Nếu ta có truyền giá trị cho tham số, thì tham số sẽ chứa giá trị được truyền.

Ta truyền giá trị mặc định cho tham số sẽ có lợi, khi ta quên truyền giá trị cho tham số thì sẽ không bị lỗi.

Ví dụ dưới đây có định nghĩa một hàm, có một tham số là country, đồng thời ta truyền giá trị mặc định cho tham số vừa tạo là "Norway".

def my_function(country = "Norway"):

print("I am from " + country)

my_function("Sweden")

my_function("India")

my_function()

my_function("Brazil")
 


Kết quả sau khi gọi hàm có truyền đối số hoặc không truyền đối số:

Để trả về một giá trị từ hàm, ta sử dụng lệnh return.

Lệnh return còn được dùng để thoát ra khỏi hàm, lúc này điều khiển của chương trình sẽ quay về nơi gọi hàm.

Trong ví dụ dưới đây, ta đã định nghĩa hàm my_function, có một tham số x. Hàm này trả về tích của 5 * x.

Sau đó ta gọi hàm vừa tạo.

return 5 * x

print(my_function(3))

print(my_function(5))

print(my_function(9))
 


Kết quả được hiển thị như bên dưới:

Chúc mừng bạn đã biết thêm về Function trong Python

Như vậy là qua bài này bạn đã hiểu về cách tạo Function (hàm) trong Python, cách truyền tham số, gọi hàm và sử dụng tham số mặc định trong Python.

Hàm là xương sống của bất kỳ ngôn ngữ lập trình nào. Chúng ta sẽ sử dụng hàm liên tục trong quá trình HỌC PYTHON.

Hãy ghi nhớ kỹ về hàm để sử dụng trong các bài học tiếp theo.