Hướng dẫn python multithreading for loop

You can use threading.Thread:

from threading import Thread
from time import sleep
from random import randint

def dosomething(var):
    sleep(randint(1,5))
    print(var)

array = ["a", "b", "c", "d", "e"]
threads = []
for arrayval in array:
    threads.append(Thread(target=dosomething, args=(arrayval,)))
    threads[-1].start()
for thread in threads:
    thread.join()

This outputs in random order within 5 seconds:

e
b
c
a
d

If you want to limit the number of threads you can use multiprocessing.pool.ThreadPool instead. The following example limits the number of worker threads to 2 so it can possibly take as long as 15 seconds to complete (if the workers all happen to take 5 seconds):

from multiprocessing.pool import ThreadPool
from time import sleep
from random import randint

def dosomething(var):
    sleep(randint(1,5))
    print(var)

array = ["a", "b", "c", "d", "e"]
with ThreadPool(processes=2) as pool:
    pool.map(dosomething, array)

Vòng lặp cho phép bạn kiểm soát cấu trúc logic và luồng của các chương trình của bạn. Cụ thể, vòng lặp for cho phép bạn thực thi một khối các hoạt động mã tương tự, lặp đi lặp lại, cho đến khi một điều kiện được đáp ứng. Bạn lặp lại các hướng dẫn mã nhất định cho một tập hợp giá trị bạn xác định và bạn thực hiện các hành động

Nội dung chính

  • Vòng lặp for trong Python là gì?
  • Vòng lặp for hoạt động như thế nào trong các ngôn ngữ lập trình khác?
  • Cú pháp vòng lặp for bằng Python
  • Cách hoạt động của vòng lặp for trong Python
  • Cách sử dụng vòng lặp for cho một dải số
  • Cách sử dụng enumerate () trong Python
  • Kết luận

Vòng lặp cho phép bạn kiểm soát cấu trúc logic và luồng của chương trình của bạn.

Cụ thể, vòng lặp for cho phép bạn thực thi một khối các thao tác mã tương tự lặp đi lặp lại cho đến khi một điều kiện được đáp ứng.

Bạn lặp lại các hướng dẫn mã nhất định cho tập hợp giá trị bạn xác định và bạn thực hiện các hành động trên từng giá trị trong một số lần được xác định trước.

Mục lục

  • Vòng lặp for trong Python là gì?
  • Vòng lặp for hoạt động như thế nào trong các ngôn ngữ lập trình khác?
  • Cú pháp vòng lặp for bằng Python
    • Cách hoạt động của vòng lặp for trong Python
    • Cách sử dụng vòng lặp for cho một dải số
    • Cách sử dụng enumerate () trong Python
  • Kết luận
  • Xem thêm những thông tin liên quan đến chủ đề python for vòng lặp hoạt động như thế nào
    • Vòng lặp for trong Python
    • Cách Sử Dụng Vòng Lặp For Trong Python
    • [Tự học Python]Vòng Lặp For
    • Vòng lặp For trong Python – Phần 1
    • Vòng lặp for thực sự hoạt động như thế nào trong python
    • Song song một vòng lặp for trong Python
    • Vòng Lặp Trong Python

Vòng lặp for trong Python là gì?

Vòng lặp for có thể lặp lại mọi mục trong danh sách hoặc đi qua từng ký tự trong một chuỗi và sẽ không dừng lại cho đến khi đi qua mọi ký tự.

Việc viết các vòng lặp cho giúp giảm sự lặp lại trong mã của bạn, tuân theo nguyên tắc KHÔ (Không lặp lại chính bạn). Bạn không viết cùng một khối mã nhiều lần.

Trong bài viết này, chúng ta sẽ tìm hiểu kiến ​​thức cơ bản về vòng lặp for trong ngôn ngữ lập trình Python bằng các ví dụ khác nhau. Nhưng trước tiên, hãy tìm hiểu một số khái niệm cơ bản về vòng lặp for .

Vòng lặp for hoạt động như thế nào trong các ngôn ngữ lập trình khác?

Vòng lặp trong hầu hết các ngôn ngữ lập trình hiện đại như JavaScript, Java hoặc C trông giống như ví dụ bên dưới.

Các vòng lặp trong JavaScript:

  for (let i = 0; i & lt; 10; i ++) {
  console.log ('Số đếm');
  // in "Số đếm" 10 lần
  // giá trị của tôi từ 0 đến 9
  }
 

Vòng lặp for thường theo dõi ba điều:

  1. Câu lệnh biểu thức khởi tạo được xác định chính xác một lần, let i = 0;
  2. Điều kiện cần được đáp ứng, i & lt; 10; . Điều kiện này được đánh giá là true hoặc false . Nếu false , vòng lặp sẽ bị chấm dứt.
  3. Nếu điều kiện là true , phần thân của vòng lặp sẽ được thực thi và biểu thức được khởi tạo sẽ thực hiện một số hành động. Trong trường hợp này, nó sẽ được tăng thêm 1 ( i ++ ), cho đến khi đáp ứng được bộ điều kiện.

Cú pháp vòng lặp for bằng Python

Vòng lặp for trong Python trông khá khác so với các ngôn ngữ lập trình khác.

Python tự hào về khả năng đọc, vì vậy, vòng lặp for của nó rõ ràng hơn, đơn giản hơn và nhỏ gọn hơn.

Cấu trúc cơ bản là sau:

  cho mục theo trình tự:
    thực hiện biểu thức
 

ở đâu:

  • for bắt đầu vòng lặp for .
  • item là một mục riêng lẻ trong mỗi lần lặp lại. Nó được đặt một tên biến trọng tài tạm thời.
  • in phân tách từng mục với (các) mục khác.
  • trình tự là những gì chúng tôi muốn lặp lại.
  • dấu hai chấm : cung cấp hướng dẫn thực thi phần nội dung mã theo sau.
  • Một dòng mới.
  • Mức độ thụt lề. 4 dấu cách trước khi viết phần nội dung của vòng lặp, nếu không chúng ta sẽ nhận được IndentationError .
  • Phần nội dung có các hành động cần được thực hiện và lặp lại (ví dụ: in nội dung nào đó ra bảng điều khiển). Nó nằm ở vị trí của dòng thi hành experssion .

Cách hoạt động của vòng lặp for trong Python

Giả sử chúng ta có một chuỗi, một danh sách các mặt hàng đã lưu trữ mà chúng ta muốn chạy qua – trong trường hợp này là danh sách hàng tạp hóa:

  tạp hóa = ["chuối", "bơ", "pho mát", "kem đánh răng"]
 

Từ khóa in kiểm tra xem một mục có được đưa vào một chuỗi hay không. Khi được kết hợp với từ khóa for , nó chỉ ra việc lặp lại mọi mục trong chuỗi.

Xem Thêm  Đường dẫn tương đối trong Javascript trong tệp bên ngoài – đường dẫn tương đối trong javascript

Nó thực hiện điều gì đó với mọi mục trong danh sách. Trong trường hợp này, nó sẽ in từng mục riêng lẻ vào bảng điều khiển cho đến khi mọi mục được lặp lại.

  cho hàng tạp hóa trong cửa hàng:
    # cho mỗi lần lặp lại in ra giá trị của hàng tạp hóa
    in (tạp hóa)
 

hàng tạp hóa là tên biến tạm thời để chỉ từng mặt hàng trong danh sách.

Đó là một biến iterator , với mỗi lần lặp thành công, giá trị của nó sẽ được đặt thành từng giá trị mà danh sách bao gồm. Về cơ bản, đó là một biến tạm thời có giá trị tạm thời.

Chúng tôi có thể đặt tên cho nó bất cứ thứ gì chúng tôi muốn, chẳng hạn như g hoặc item. Tuy nhiên, tên phải là duy nhất và không giống với bất kỳ biến nào khác trong chương trình của chúng tôi.

Trong lần chạy đầu tiên, phần tử đầu tiên – banana – được lưu trữ trong biến item .

Sau đó, biểu thức print (tạp hóa) , về cơ bản là cách print ("banana") được thực thi.

Trong lần chạy thứ hai, phần tử butter được lưu trữ trong biến item và như trên, nó được in ra bảng điều khiển.

Quá trình này tiếp tục cho đến khi tất cả các mục được lặp lại.

Đây là đầu ra của mã đó:

  chuối
bơ
phô mai
kem đánh răng
 

Cách sử dụng vòng lặp for cho một dải số

Chúng ta có thể sử dụng hàm range () với một phạm vi nhất định để chỉ định số lần liên tiếp mà chúng ta muốn lặp lại vòng lặp for . Điều này đơn giản hóa vòng lặp for .

Hàm range () tạo một chuỗi các số nguyên tùy thuộc vào các đối số mà chúng tôi cung cấp cho nó.

Điều này hoạt động như thế nào?

Hãy xem ví dụ bên dưới:

  cho tôi trong phạm vi (5):
    in (i)
 

Kết quả đầu ra là:

  0
1
2
3
4
 

Nó tạo ra một danh sách các số từ 0 đến 4.

Theo mặc định khi chúng tôi cung cấp cho range () một đối số, phạm vi bắt đầu được tính từ 0 .

Lưu ý rằng 5 không được in ra bảng điều khiển.

Xem Thêm  25+ Ví dụ về Hộp Tìm kiếm CSS Truyền cảm hứng – ví dụ về hộp tìm kiếm css

Trong range (5) , chúng tôi chỉ định rằng 5 là số cao nhất mà chúng tôi muốn, nhưng không bao gồm. Nó không bao gồm nó, nó chỉ là điểm dừng. Nó xác định số lần chúng ta muốn vòng lặp của mình chạy. Chúng tôi thấy nó chạy 5 lần và tạo ra một danh sách gồm 5 mục: 0,1,2,3,4 .

Nếu bạn muốn xem những gì range () tạo ra cho mục đích gỡ lỗi, bạn có thể chuyển nó vào hàm list () .

Mở trình bao Python tương tác trong bảng điều khiển của bạn, thường bằng lệnh python3 và nhập:

  show_numbers = list (range (5))

print (show_numbers)
 

Điều gì sẽ xảy ra nếu chúng ta muốn phạm vi của mình bắt đầu từ 1 và sau đó cũng thấy 5 được in vào bảng điều khiển? Thay vào đó, chúng tôi cung cấp cho range () hai đối số khác nhau lần này:

  cho tôi trong phạm vi (1,6):
    in (i)
 

Đầu ra:

  1
2
3
4
5
 

Đối số đầu tiên ( start ) như chúng ta đã thấy trước đó là tùy chọn, là nơi chuỗi sẽ bắt đầu (trong trường hợp này là 1). Đối số này bao hàm và số lượng được bao gồm.

Đối số thứ hai ( stop ) là bắt buộc, là nơi chuỗi phải kết thúc và không bao gồm, như đã đề cập trước đó. Trong trường hợp này là 6.

Cuối cùng, bạn có thể chuyển vào tham số tùy chọn thứ ba: step .

Điều này kiểm soát sự gia tăng giữa hai giá trị trong phạm vi. Giá trị mặc định của step là 1.

Giả sử chúng tôi muốn nhảy hai số một lần và lấy các số lẻ từ một chuỗi. Chúng tôi có thể làm:

  cho tôi trong phạm vi (1,10,2):
    in (i)
 

Đầu ra:

  1
3
5
7
9
 

1 là nơi chúng tôi bắt đầu, 10 cao hơn 1 so với những gì chúng tôi muốn (là 9) và 2 là số tiền chúng tôi muốn nhảy giữa các số (trong trường hợp này, chúng tôi nhảy hai số một lần).

Cách sử dụng enumerate () trong Python

Cho đến nay, chúng tôi đã không sử dụng bất kỳ chỉ mục nào khi lặp lại. Đôi khi, chúng tôi cần truy cập vào chỉ mục của mục mà chúng tôi đang lặp lại và hiển thị nó.

Chúng tôi có thể lặp lại các mục có chỉ mục bằng cách sử dụng enumerate () .

Ví dụ của chúng tôi trước đó:

  tạp hóa = ["chuối", "bơ", "pho mát", "kem đánh răng"]

cho tạp hóa trong cửa hàng tạp hóa:
    in (tạp hóa)
 

Bây giờ có thể được viết như thế này:

  tạp hóa = ["chuối", "bơ", "pho mát", "kem đánh răng"]

cho chỉ mục, tạp hóa trong liệt kê (tạp hóa):
    in (chỉ mục, tạp hóa)
 

Đầu ra:

  0 chuối
1 quả bơ
2 pho mát
3 kem đánh răng
 

Hoặc đối với đầu ra phức tạp hơn một chút:

  tạp hóa = ["chuối", "bơ", "pho mát", "kem đánh răng"]
cho chỉ mục, tạp hóa trong liệt kê (tạp hóa):
    print (f "Cửa hàng tạp hoá: {tạp hoá} ở chỉ mục: {chỉ mục}.")
 

Đầu ra:

  Grocery: chuối ở chỉ mục: 0.
Tạp hóa: bơ ở chỉ số: 1.
Hàng tạp hóa: pho mát ở chỉ số: 2.
Tạp hóa: kem đánh răng ở chỉ số: 3
 
  • Thay vì chỉ viết một biến tạp hóa như trước đây, bây giờ chúng tôi viết hai biến: index, tạp hóa . Trên mỗi lần lặp lại, index chứa chỉ mục của giá trị và hàng tạp hóa giá trị của hàng tạp hóa .
  • index là chỉ số của giá trị đang được lặp lại.
  • Các chỉ mục trong Python bắt đầu đếm ở 0 .
  • hàng tạp hóa là giá trị của mặt hàng ở lần lặp lại hiện tại
  • Dòng liệt kê (hàng tạp hóa) cho phép chúng tôi lặp lại chuỗi và theo dõi chỉ mục của giá trị và chính giá trị đó.

Xem Thêm  Cách thay đổi màu phông chữ HTML – màu phông chữ a href

Kết luận

Tôi hy vọng bạn thích phần giới thiệu cơ bản này về vòng lặp for trong Python.

Chúng ta đã xem qua cú pháp cơ bản tạo nên vòng lặp for và cách hoạt động của nó.

Sau đó, chúng tôi giải thích ngắn gọn hai phương thức python tích hợp sẵn, range () enumerate () , thực hiện trong vòng lặp for .

Cảm ơn bạn đã đọc và chúc bạn viết mã vui vẻ!