Header ads

Header ads
» » Hàm iter() trong Python

Tiếp tục với chủ đề các hàm tích hợp sẵn trong Python, bài viết sẽ giới thiệu cho các bạn về hàm iter() với cú pháp, cách sử dụng cũng như các ví dụ cụ thể. Mời bạn đọc theo dõi.

Hàm iter() được tích hợp sẵn trong Python, trả về một iterator của đối tượng đã cho.

Đối tượng được tạo ra từ iter() có thể lấy từng phần tử của nó tại mỗi thời điểm nhất định, rất hữu ích khi kết hợp với các vòng lặp for, while.

Cú pháp hàm iter() trong Python:

iter(object[, sentinel])   

Đọc thêm: Đối tượng Iterator trong Python

Các tham số của hàm iter()

Hàm iter() có 2 tham số:

    Tùy thuộc vào tham số được truyền, iter() sẽ có những thuộc tính khác nhau như sau:

    Tham số object Tham số sentinel Mô tả
    Bộ đối tượng (set, tuple)  Không có Tạo iterator cho bộ đối tượng
    Đối tượng do người dùng xác định (Đối tượng tùy chỉnh - Custom object)  Không có

    - thực thi phương thức __iter__() and __next__().
    - thực thi phương thức __getitem __ () với các đối số nguyên bắt đầu từ 0.

    Đối tượng do người dùng xác định (Custom object) không triển khai __iter__(), __next() hoặc __getitem__()  Không có  Sinh ra ngoại lệ TypeError exception
    Đối tượng Callable  Được cung cấp Hàm trả về đối tượng iterator có thể gọi đối tượng không có đối số cho mỗi lần gọi đến phương thức __next __() của nó, nếu Sentinel được tìm thấy, ngoại lệ StopIteration exception sẽ được sinh ra.

    Giá trị trả về từ iter()

    Hàm iter() trả về đối tượng iterator cho tham số được truyền vào, có thể lặp qua từng phần tử của nó tại mỗi thời điểm nhất định

    Trong trường hợp tham số thứ hai sentinel được truyền, hàm trả về đối tượng iterator có thể gọi callable object cho đến khi không tìm thấy ký tự sentinel.

    Ví dụ 1: iter() hoạt động như thế nào?

    # danh sach nguyen am   # viet boi Quantrimang.com   nguyenam = ['a', 'e', 'i', 'o', 'u']      nguyenamIter = iter(nguyenam)      # in ra 'a'   print(next(nguyenamIter))      # in ra 'e'   print(next(nguyenamIter))      # in ra 'i'   print(next(nguyenamIter))      # in ra 'o'   print(next(nguyenamIter))      # in ra 'u'   print(next(nguyenamIter))

    Khi bạn chạy chương trình, output trả về sẽ là:

    a   e   i   o   u

    Ví dụ 2: iter() hoạt động với custom object

    class PrintNumber:       def __init__(self, max):           self.max = max          def __iter__(self):           self.num = 0           return self          def __next__(self):           if(self.num >= self.max):               raise StopIteration           self.num += 1           return self.num      printNum = PrintNumber(3)      printNumIter = iter(printNum)      # in ra '1'   print(next(printNumIter))      # in ra '2'   print(next(printNumIter))      # in ra '3'   print(next(printNumIter))      # sinh ra StopIteration   print(next(printNumIter))

    Chạy chương trình, kết quả trả về là:

    1   2   3   StopIteration

    Ví dụ 3: iter() hoạt động với callable object có sentinel

    with open('mydata.txt') as fp:       for line in iter(fp.readline, ''):           processLine(line)

    Khi bạn chạy chương trình, Python sẽ mở mydata.txt ở chế độ read.

    Sau đó, iter(fp.readline, '') trong vòng lặp for gọi readline (đọc từng dòng trong tệp văn bản) cho đến khi tìm thấy ký tự sentinel '' (chuỗi trống).

    Xem thêm: Các hàm Python tích hợp sẵn


    Khóa đào tạo Power BI phân tích báo cáo để bán hàng thành công

    Khóa học Lập trình Visual Foxpro 9 - Dành cho nhà quản lý và kế toán

    Khóa học hướng dẫn về Moodle chuyên nghiệp và hay
    Xây dựng hệ thống đào tạo trực tuyến chuyên nghiệp tốt nhất hiện nay.


    Khóa học AutoIt dành cho dân IT và Marketing chuyên nghiệp

    Khóa học hướng dẫn sử dụng Powerpoint từ đơn giản đến phức tạp HIỆU QUẢ
    Khóa học Thiết kế, quản lý dữ liệu dự án chuyên nghiệp cho doanh nghiệp bằng Bizagi
     Khoa hoc hay
    Khóa học Phân tích dữ liệu sử dụng Power Query trong Excel
    Khóa học Phân tích dữ liệu sử dụng TableAU - Chìa khóa thành công!
    Nhấn vào đây để bắt đầu khóa học

    Khóa học "Thiết kế bài giảng điện tử", Video, hoạt hình 
    kiếm tiền Youtube bằng phần mềm Camtasia Studio
    Khóa học HƯỚNG DẪN THIẾT KẾ VIDEO CLIP CHO DÂN MARKETING CHUYÊN NGHIỆP
     Xây dựng website​​​​
    HƯỚNG DẪN THIẾT KẾ QUẢNG CÁO VÀ ĐỒ HỌA CHUYÊN NGHIỆP VỚI CANVA
    Hãy tham gia khóa học để trở thành người chuyên nghiệp. Tuyệt HAY!😲👍
     Khoa hoc hay
    MICROSOFT ACCESS



    GOOGLE SPREADSHEETS phê không tưởng
     Khoa hoc hay
    Khóa hoc lập trình bằng Python tại đây

    Hacker mũ trắng




    Hãy tham gia khóa học để biết mọi thứ

    Để tham gia tất cả các bài học, Bạn nhấn vào đây 
    Khóa học sử dụng Adobe Presenter-Tạo bài giảng điện tử
     Khoa hoc hay

    Khóa học sử dụng Edmodo để dạy và học hiện đại để thành công


    Cập nhật công nghệ từ Youtube tại link: http://congnghe.hocviendaotao.com
    Tham gia nhóm Facebook
    Để tham gia khóa học công nghệ truy cập link: http://thuvien.hocviendaotao.com
    Mọi hỗ trợ về công nghệ email: dinhanhtuan68@gmail.com

    About Học viện đào tạo trực tuyến

    Xinh chào bạn. Tôi là Đinh Anh Tuấn - Thạc sĩ CNTT. Email: dinhanhtuan68@gmail.com .
    - Nhận đào tạo trực tuyến lập trình dành cho nhà quản lý, kế toán bằng Foxpro, Access 2010, Excel, Macro Excel, Macro Word, chứng chỉ MOS cao cấp, IC3, tiếng anh, phần mềm, phần cứng .
    - Nhận thiết kế phần mềm quản lý, Web, Web ứng dụng, quản lý, bán hàng,... Nhận Thiết kế bài giảng điện tử, số hóa tài liệu...
    HỌC VIỆN ĐÀO TẠO TRỰC TUYẾN:TẬN TÂM-CHẤT LƯỢNG.
    «
    Next
    Bài đăng Mới hơn
    »
    Previous
    Bài đăng Cũ hơn