Giáo trình Python - Bài 5: Hàm trong Python (Functions)
Bạn đang xem 20 trang mẫu của tài liệu "Giáo trình Python - Bài 5: Hàm trong Python (Functions)", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Tài liệu đính kèm:
giao_trinh_python_bai_5_ham_trong_python_functions.pdf
Nội dung text: Giáo trình Python - Bài 5: Hàm trong Python (Functions)
- BÀI 5: HÀM TRONG PYTHON (FUNCTIONS) Nguyễn Thanh Huyền BM Công nghệ phần mềm, Khoa CNTT, Đại học Sư phạm Hà nội HÀ NỘI, THÁNG 9/2020
- NỘI DUNG CHÍNH § Hiểu được mục đích của hàm trong Python § Biết cách định nghĩa và gọi hàm § Biết cách sử dụng giá trị trả về của hàm § Hiểu cách sử dụng các module và hàm có sẵn trong Python § Nhận biết được các dạng tham số của hàm § Xác định được phạm vi của biến trong Python
- TƯ TƯỞNG SỬ DỤNG LẠI § Hàm là một số câu lệnh được nhóm lại thành một đơn vị và được đặt tên riêng. § Hàm sau khi định nghĩa có thể được các phần khác của chương trình sử dụng thông qua các lời gọi hàm. 3
- TƯ TƯỞNG “SỬ DỤNG LẠI” Ví dụ 5-1: Viết chương trình in ra lời bài hát với trình bày như hình bên dưới 4
- HÀM TRONG PYTHON § Có hai loại hàm trong Python: • Hàm tích hợp sẵn là các hàm viết sẵn, là một phần của thư viện chuẩn Python như print(), input(), type(), float(), int()... • Hàm do người dùng tự định nghĩa § Các hàm tích hợp sẵn được coi như từ khóa “mới” – tức là chúng ta tránh đặt tên biến, tên hàm trùng với những hàm này
- HÀM TÍCH HỢP SẴN TRONG PYTHON
- MỘT SỐ HÀM CÓ SẴN THÔNG DỤNG Hàm Mô tả abs() Trả về giá trị tuyệt đối của một số bin() Chuyển đổi số nguyên sang chuỗi nhị phân bool() Chuyển một giá trị sang Boolean chr() Trả về một ký tự (một chuỗi) từ Integer complex() Tạo một số phức eval() Chạy code Python trong chương trình float() Trả về số thập phân từ số, chuỗi format() Trả về representation được định dạng của giá trị input() Đọc và trả về chuỗi trong một dòng int() Trả về số nguyên từ số hoặc chuỗi len() Trả về độ dài của đối tượng max() Trả về phần tử lớn nhất min() Trả về phần tử nhỏ nhất pow() Trả về x mũ y print() In đối tượng được cung cấp range() Trả về chuỗi số nguyên từ số bắt đầu đến số kết thúc reversed() Trả về iterator đảo ngược của một dãy round() Làm tròn số thập phân str() Chuyển đối tượng đã cho thành chuỗi type() Trả về kiểu đối tượng
- SỬ DỤNG HÀM CÓ SẴN Tham số big = max(‘Hello world') Phép gán >>> big = max('Hello world') 'w' >>> print(big) Kết quả w >>> big = max(5,10) >>> print(big) Tham số >>> big = max(5,10) Phép gán 10 Kết quả
- HÀM TÌM GIÁ TRỊ LỚN NHẤT max() >>> big = max('Hello world') >>> print(big) w def max(inp): blah 'Hello world' blah 'w’ for x in inp: (một xâu kí tự -string) (a string) blah blah Guido viết đoạn mã này
- HÀM print() print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False) print("Hom nay","troi nang", sep='0000’, end="!\n”) print("chang chang",sep='@',end="\n") § Tham số của hàm print(): • objects: đối tượng được in, có thể có nhiều đối tượng. Tất cả các nội dung của đối tượng cần in sẽ được chuyển đổi thành chuỗi trước khi hiển thị ra màn hình. • sep: kí tự dùng để phân tách các đối tượng, giá trị mặc định là một khoảng trắng • end: giá trị cuối cùng được in ra màn hình, mặc định là dấu xuống dòng (enter) • file: mặc định hàm print sẽ ghi nội dung vào file sys.stdout. • flush: giá trị mặc định giá trị là False.
- HÀM ÉP KIỂU § Khi biểu thức có cả số nguyên >>> print(float(99) / 100) 0.99 (integer) và số thực (float), số >>> i = 42 nguyên sẽ tự động được >>> type(i) chuyển thành số thực >>> f = float(i) >>> print(f) § Việc chuyển kiểu này cũng có 42.0 thể do người dùng chủ động >>> type(f) thực hiện bằng các hàm int() >>> print(1 + 2 * float(3) / 4 – 5) và float() -2.5 >>>
- HÀM ÉP KIỂU XÂU KÍ TỰ >>> sval = '123' >>> type(sval) § Các hàm int() và float() để >>> print(sval + 1) chuyển từ string sang int hoặc Traceback (most recent call last): float File " ", line 1, in TypeError: cannot concatenate 'str' and 'int' § Tuy nhiên, các hàm này sẽ lỗi khi >>> ival = int(sval) đầu vào là xâu kí tự không chứa >>> type(ival) kí tự số >>> print(ival + 1) 124 >>> nsv = 'hello bob' >>> niv = int(nsv) Traceback (most recent call last): File " ", line 1, in ValueError: invalid literal for int()
- HÀM NGƯỜI DÙNG TỰ ĐỊNH NGHĨA • Viết hàm mới bằng cách sử dụng từ khóA def theo sau là các tham số ở trong ngoặc • Các lệnh trong thân hàm phải được thụt lề def print_lyrics(): print(”You raise me up") print(“Up on your shoulder”)
- ĐỊNH NGHĨA HÀM Định nghĩa hàm bắt đầu với Tên hàm Tham số từ khóa “def.” def sum(num1,num2): Dấu hai chấm “““Ham nay tinh tong hai so””” total = num1 + num2 return total Chú thích mô tả hàm Thụt lề: Tất cả các câu lệnh trong thân hàm đều thụt lề nhiều hơn so với từ khóa def Từ khóa return để trả về giá trị của đối - Dòng đầu tiên thụt lề ít hơn là dòng tượng gọi hàm ngoài phạm vi của hàm Không cần khai báo kiểu của hàm và kiểu của tham số
- ĐỊNH NGHĨA HÀM § Hàm là đoạn mã nguồn có thể sử dụng lại, nhận đầu vào là các tham số, thực hiện tính toán trên đầu vào và trả kết quả về tên hàm § Định nghĩa hàm sử dụng từ khóa def
- GỌI HÀM § Sau khi được định nghĩa, hàm có thể được gọi từ bất kỳ đâu không giới hạn số lần § Gọi hàm bằng tên hàm kèm tham số thực sự đặt trong cặp dấu ngoặc ()
- THAM SỐ HÌNH THỨC - PARAMETER >>> def greet(lang): § Một tham số hình thức (parameter) ... if lang == 'es': ... print('Hola') là một biến được sử dụng trong định ... elif lang == 'fr': ... print('Bonjour') nghĩa hàm. ... else: ... print('Hello') § Tham số là cơ chế cho phép các câu ... lệnh trong thân hàm truy cập đến các >>> greet('en') Hello giá trị ở bên ngoài >>> greet('es') Hola >>> greet('fr') Bonjour >>>
- THAM SỐ THỰC SỰ - ĐỐI SỐ § Tham số thực sự (Đối số) là giá trị được truyền vào hàm khi gọi, được coi là giá trị đầu vào § Thay đổi đối số để điều khiển hàm thực hiện những nhiều việc khác nhau mỗi lần gọi hàm § Đối số được đặt trong cặp dấu ngoặc sau tên hàm big = max('Hello world') Đối số
- GIÁ TRỊ TRẢ VỀ § Hàm là tập hợp các câu lệnh xử lý dữ liệu với đầu vào là các đối số § Đầu ra của hàm là giá trị mà hàm sẽ trả về trong biểu thức gọi hàm. § Từ khóa return được dùng để đưa ra đầu ra của hàm § Hàm có thể không trả về giá trị def greet(): return "Hello" Hello World Hello Everyone print(greet(), ”World") print(greet(), ”Everyone")
- GIÁ TRỊ TRẢ VỀ § Hàm có kết quả là hàm trả về một giá trị nào đó § Câu lệnh return kết thúc hàm và trả kết quả tính toán trong hàm về cho chương trình § Hàm không có kết quả có thể có lệnh return hoặc không



