Hướng dẫn dùng infinite def python

Một lặp lại trong Python là một đối tượng chứa một số giá trị hoặc phần tử có thể đếm được. Bạn có thể sử dụng cái này để Travers tất cả các phần tử đó. Trình lặp Python sử dụng các phương thức đặc biệt được gọi là phương thức __iter __ () và __next __ () để duyệt qua các phần tử đối tượng.

Nội dung chính

  • Ví dụ về trình lặp chuỗi
  • Python Đối với vòng lặp lặp Ví dụ 2
  • Ví dụ về Trình lặp danh sách Python
  • Ví dụ về bộ lặp trong Python
  • Ví dụ Tuple
  • Tạo Trình lặp riêng bằng Python
  • Lớp Python Infinity Iterator

  • Trình lặp lại trong Python Vs lặp lại
    • Ví dụ về trình lặp chuỗi
    • Python Đối với vòng lặp lặp Ví dụ 2
    • Ví dụ về Trình lặp danh sách Python
    • Ví dụ về bộ lặp trong Python
    • Ví dụ Tuple
  • Tạo Trình lặp riêng bằng Python
    • Lớp Python Infinity Iterator

Nếu chúng ta có thể lấy các trình vòng lặp Python từ nó, thì chúng ta gọi đối tượng đó là có thể lặp lại. Cho đến nay, chúng ta đã thấy các đối tượng được gọi là Danh sách, Bộ từ, Bộ và Từ điển. Từ những đối tượng này, bạn có thể gọi Iter. Phần này giải thích cách sử dụng lớp Python này và tạo các trình vòng lặp vô cực và vô cực của riêng chúng tôi với các ví dụ thực tế.

Ví dụ về trình lặp chuỗi

Trong python, chuỗi là đối tượng có thể lặp lại. Ở đây, chúng ta sử dụng vòng lặp for để lặp từng ký tự trong một chuỗi và trả về ký tự đó. Theo mặc định, hoặc nói, vòng lặp For triển khai khái niệm đối tượng Python Iterator mà bạn không biết.

stri = 'graphguide' for x in stri: print(x, end = ' ')t u t o r i a l g a t e w a y

Python Đối với vòng lặp lặp Ví dụ 2

Trong ví dụ này, chúng tôi đã sử dụng cả vòng lặp for và this. Trong ngôn ngữ lập trình python, chúng ta phải sử dụng hàm next () để trả về một phần tử hoặc giá trị từ một trình lặp.

Hãy nhớ rằng, phương thức next () trả về một mục tại một thời điểm. Vì vậy, với n số mục, bạn phải sử dụng n câu lệnh next (). Ở đây, chúng tôi đã sử dụng next () cho một lần. Vì vậy, nó trả về ký tự đầu tiên từ một chuỗi.

stng = 'graphguide' for x in stng: print(x, end = ' ') print("n**** Output *****") itr = iter(stng) print(next(itr))t u t o r i a l g a t e w a y **** Output ***** t

Hãy để tôi sử dụng next () để duyệt qua tất cả các ký tự trong một chuỗi. Lần này, các trình vòng lặp ghi chuỗi đã hoàn thành.

sting = 'graphguide' for x in sting: print(x, end = ' ') print("n**** Example *****") itr = iter(sting) print(next(itr)) print(next(itr)) print(next(itr)) print(next(itr)) print(next(itr)) print(next(itr)) print(next(itr)) print(next(itr))t u t o r i a l **** Example ***** t u t o r i a l

Ví dụ về Trình lặp danh sách Python

Trong ví dụ này, chúng tôi chỉ ra cách duyệt qua các mục Danh sách và in chúng.

numbers = [10, 20, 30, 40, 50] itr = iter(numbers) print(next(itr)) print(next(itr)) print(next(itr)) print(next(itr)) print(next(itr))10
20
30
40
50

Trong ví dụ danh sách này, chúng tôi đã sử dụng phương thức đặc biệt __next __ (). Nếu bạn quan sát câu lệnh cuối cùng, chúng tôi đang cố gắng trả về phần tử tiếp theo không tồn tại. Đó là lý do tại sao Iter gọi StopIteration.

numbers = [10, 20, 30, 40, 50] itr = iter(numbers) print(itr.__next__()) print(itr.__next__()) print(itr.__next__()) print(itr.__next__()) print(itr.__next__()) print(itr.__next__())

Ví dụ về bộ lặp trong Python

Bạn có thể sử dụng điều này để duyệt qua các mục đã đặt và trả về đối tượng. Chương trình này duyệt các số trong Tập hợp và in từng số trong số chúng.

mySet = {1, 2, 3, 4, 5} ittr = iter(mySet) print(ittr.__next__()) print(ittr.__next__()) print(ittr.__next__()) print(ittr.__next__()) print(ittr.__next__())1 2 3 4 5

Ví dụ Tuple

Đối tượng trình lặp Python cũng có thể cho phép bạn sử dụng trên Tuples. Chương trình này lặp lại các mục Tuple và in từng mục trong một bộ tuple.

fruits = ('Apple', 'Orange', 'Grape', 'Banana', 'Kiwi') fruit_itr = iter(fruits) print(next(fruit_itr)) print(next(fruit_itr)) print(next(fruit_itr)) print(next(fruit_itr)) print(next(fruit_itr))Apple Orange Grape Banana Kiwi

Tạo Trình lặp riêng bằng Python

Nó là một lớp đơn giản được gọi là Counter. Trong ví dụ này, trước tiên, chúng tôi đã khai báo một giá trị lớn nhất trong phương thức __init__. Phương thức __iter__ là khởi tạo giá trị của một đối tượng có thể lặp lại. Hiện tại, chúng tôi đặt số là 0. Điều đó có nghĩa là Iter bắt đầu từ 0.

Phương thức __next__ là để chọn phần tử tiếp theo từ một Đối tượng. Trong phương pháp này, chúng tôi đã sử dụng Câu lệnh If Else để kiểm tra xem số tiếp theo có lớn hơn giá trị lớn nhất hay không. Nếu Đúng, lỗi StopIteration tăng lên. Nếu không, con số sẽ tăng lên.

class Counter: def __init__(self, maximum): self.maximum = maximum def __iter__(self): self.number = 0 return self def __next__(self): number = self.number if number > self.maximum: raise StopIteration else: self.number = number + 1 return number numbers = Counter(10) a = iter(numbers) print(next(a)) print(next(a)) print(next(a))

Hướng dẫn dùng infinite def python

Trình lặp ở trên trong mã python đang hiển thị các số từ 0 đến 2. Đó là vì chúng tôi chỉ sử dụng next (a) trong ba lần. Trong chương trình này, chúng tôi đã sử dụng vòng lặp for để lặp lại lớp Counter có giá trị lớn nhất là 10. Điều này in ra các giá trị từ 0 đến 10. __iter __ () bắt đầu từ 0 và __next __ () in các phần tử lên đến 10.

class Counter: def __init__(self, maximum): self.maximum = maximum def __iter__(self): self.number = 0 return self def __next__(self): number = self.number if number > self.maximum: raise StopIteration else: self.number = number + 1 return number for t in Counter(10): print 0 1 2 3 4 5 6 7 8 9 10

Lớp Python Infinity Iterator

Trong khi bạn tạo iter của riêng mình, bạn phải luôn cẩn thận với các vòng lặp Vô cực. Nếu bạn quên nâng lỗi, thì bạn sẽ có vòng lặp vô cực. Đây là một ví dụ đơn giản về đối tượng vòng lặp vô cực. Nó tương tự như trên, nhưng chúng tôi đã loại bỏ câu lệnh If.

class Counter: def __iter__(self): self.number = 0 return self def __next__(self): number = self.number self.number = number + 1 return number numbers = Counter() a = iter(numbers) print(next(a)) print(next(a)) print(next(a))0 1 2

Mặc dù ví dụ trên là một iter vô hạn, nhưng bạn có thể không nhận thấy nó. Đó là bởi vì chúng tôi đã sử dụng next () chỉ trong ba lần. Vì vậy, hãy để tôi sử dụng vòng lặp for để Ian iter chức năng của lớp Counter. Vui lòng tham khảo bài viết từ điển.

class Counter: def __iter__(self): self.num = 0 return self def __next__(self): num = self.num self.num = num + 1 return num for t in Counter(): print

Bây giờ bạn có thể thấy đối tượng trình lặp vô cực trong Python. Điều này thực hiện liên tục.

267 268 269 270 271 272 273