Python có phạm vi vòng lặp không?

Trong Python, các biến có phạm vi toàn hàm, điều đó có nghĩa là nếu hai biến có cùng tên trong cùng một phạm vi, thì thực tế chúng là một biến. Do đó, các vòng lặp lồng nhau trong đó các biến mục tiêu có cùng tên trên thực tế chia sẻ một biến duy nhất. Các vòng lặp như vậy rất khó hiểu vì vòng lặp bên trong sẽ sửa đổi biến mục tiêu của vòng lặp bên ngoài;

Sự giới thiệu¶

Kiểm tra cẩn thận mã và kiểm tra các lỗi có thể xảy ra, đặc biệt xem xét điều gì sẽ xảy ra nếu biến bên trong hoặc bên ngoài được đổi tên

Python cho vòng lặp được sử dụng để lặp qua một lần lặp. Bất kỳ đối tượng nào trả về từng phần tử của nó để được lặp qua vòng lặp for được gọi là Iterable trong Python. Một số ví dụ phổ biến về iterables là List, Tuple và String. Vòng lặp for là khối xây dựng cốt lõi của lập trình python

Triển khai vòng lặp for trong Python

Vòng lặp for trong Python được triển khai bằng từ khóa dành riêng – for. Khối mã for-loop được thực thi cho từng phần tử của iterable

Thoát khỏi vòng lặp

Chúng ta có thể thoát khỏi vòng lặp for bằng câu lệnh break. Điều này sẽ chấm dứt việc thực thi vòng lặp for và khối mã sẽ không được thực thi cho các phần tử còn lại của vòng lặp. Điều này hữu ích khi chúng tôi tìm thấy những gì chúng tôi đang tìm kiếm và không cần xử lý các yếu tố khác của iterable

Bỏ qua Thực thi hiện tại của vòng lặp for

Chúng ta có thể sử dụng câu lệnh continue để bỏ qua phần thực thi hiện tại của vòng lặp for. Điều này hữu ích khi chúng ta chỉ muốn thực thi mã cho một số thành phần cụ thể của iterable

Python cho vòng lặp là một iterator?

Vòng lặp for trong Python khác với các ngôn ngữ lập trình khác vì nó hoạt động giống một trình vòng lặp hơn. Chúng ta có thể sử dụng vòng lặp for để lặp qua Tuple, List, Set hoặc String. Tất cả các đối tượng này là một chuỗi trong Python. Chúng ta có thể lồng các vòng lặp để lặp qua một chuỗi các chuỗi

Python cho cú pháp vòng lặp

Cú pháp vòng lặp for rất đơn giản. Nó sử dụng toán tử “in” để lặp qua các phần tử trong iterable

for element in sequence:
    # for statement code block

Lưu đồ của vòng lặp for

Đối với sơ đồ dòng chảy vòng lặp

Ví dụ về vòng lặp Python

Hãy xem xét một số ví dụ về vòng lặp for với các kiểu lặp khác nhau

1. Chuỗi

Chuỗi Python là một dãy ký tự. Hãy xem xét một chương trình đơn giản để in chỉ mục và ký tự trong một chuỗi

message = "Hello"

count = 0
for character in message:
    print[f'Index:{count}, Character:{character}']
    count += 1

đầu ra

2. Tuple

Giả sử chúng ta có một bộ chuỗi. Chúng tôi muốn chuyển đổi tất cả các phần tử thành chữ thường. Chúng ta có thể viết một hàm tiện ích cho việc này và sử dụng vòng lặp for để lặp qua các phần tử của bộ dữ liệu

def to_lower_case[my_tuple]:
    temp_list = []
    for item in my_tuple:
        temp_list.append[str[item].lower[]]
    return tuple[temp_list]


fruits = ["Apple", "Orange", "BANANA"]
fruits_new = to_lower_case[fruits]
print[fruits_new]

đầu ra.

message = "Hello"

count = 0
for character in message:
    print[f'Index:{count}, Character:{character}']
    count += 1
6

Ghi chú. Chúng tôi đang sử dụng một danh sách để thêm các phần tử trong vòng lặp for vì Tuple là bất biến trong Python

3. Danh sách

Hãy xem một ví dụ về lặp qua danh sách các số nguyên và in ra nếu đó là số chẵn hay số lẻ

list_ints = [1, 2, 3, 4, 5]
for i in list_ints:
    if i % 2 == 0:
        print[f'{i} is even.']
    else:
        print[f'{i} is odd.']

đầu ra

4. Bộ

Đây là một ví dụ đơn giản để in các phần tử của một tập hợp bằng vòng lặp for

set_cities = set[]
set_cities.add["New York"]
set_cities.add["New Delhi"]
set_cities.add["Bangalore"]
set_cities.add["London"]
set_cities.add["Bangalore"]  # duplicate item, will be removed from set

for city in set_cities:
    print[city]

đầu ra

Ghi chú. Set là một dãy không có thứ tự trong Python. Vì vậy, đầu ra có thể thay đổi trong mỗi lần thực hiện chương trình

5. Từ điển

Từ điển Python không phải là một chuỗi. Vì vậy, chúng tôi không thể lặp lại trực tiếp các phần tử của nó. Tuy nhiên, nó có một phương thức

message = "Hello"

count = 0
for character in message:
    print[f'Index:{count}, Character:{character}']
    count += 1
7 trả về một chuỗi giống như tập hợp các phần tử của nó. Chúng ta có thể sử dụng phương thức này để lặp lại các phần tử từ điển

my_dict = {"1": "Apple", "2": "Kiwi", "3": "Orange"}

for k, v in my_dict.items[]:
    print[f'Key={k}, Value={v}']

đầu ra

Sử dụng câu lệnh break để thoát khỏi vòng lặp

Chúng ta có thể sử dụng câu lệnh break để thoát khỏi vòng lặp for mà không cần lặp lại tất cả các phần tử

Giả sử chúng ta có một danh sách các thư cần xử lý. Nếu chúng tôi gặp thông báo “Thoát” thì quá trình xử lý sẽ dừng lại. Chúng ta có thể sử dụng câu lệnh break để thực hiện kịch bản này

________số 8

đầu ra

Python for Loop với câu lệnh continue

Đôi khi chúng ta muốn bỏ qua việc xử lý một số phần tử trong dãy. Chúng ta có thể sử dụng câu lệnh continue cho việc này

ints = [1, 2, 3, 4, 5, 6]

# process only odd numbers
for i in ints:
    if i % 2 == 0:
        continue
    print[f'Processing {i}']

đầu ra

Vòng lặp Python for với hàm range[]

Hàm

message = "Hello"

count = 0
for character in message:
    print[f'Index:{count}, Character:{character}']
    count += 1
8 trong Python tạo ra một dãy số. Chúng ta có thể sử dụng điều này với vòng lặp for để thực thi một khối mã trong một số lần cụ thể

Hãy xem cách sử dụng hàm range[] với vòng lặp for để thực thi mã 5 lần

message = "Hello"

count = 0
for character in message:
    print[f'Index:{count}, Character:{character}']
    count += 1
1

đầu ra

Python for Loop với câu lệnh khác

Chúng ta có thể sử dụng câu lệnh khác với vòng lặp for để thực thi một số mã khi vòng lặp for kết thúc

Nó rất hữu ích trong việc ghi nhật ký hoặc gửi thông báo khi quá trình xử lý chuỗi hoàn tất thành công

message = "Hello"

count = 0
for character in message:
    print[f'Index:{count}, Character:{character}']
    count += 1
2

đầu ra

khác với vòng lặp trong Python

Ghi chú. Nếu vòng lặp for gây ra bất kỳ lỗi nào, thì mã khối khác sẽ không được thực thi

message = "Hello"

count = 0
for character in message:
    print[f'Index:{count}, Character:{character}']
    count += 1
0

đầu ra

message = "Hello"

count = 0
for character in message:
    print[f'Index:{count}, Character:{character}']
    count += 1
1

Nếu vòng lặp for bị kết thúc bằng câu lệnh break thì khối lệnh khác không được thực thi

Vòng lặp lồng nhau trong Python

Khi một vòng lặp xuất hiện bên trong một vòng lặp khác, nó được gọi là vòng lặp lồng nhau. Python cho các vòng lặp có thể được lồng vào nhau. Nó rất hữu ích trong việc lặp lại các lần lặp lồng nhau, ví dụ: danh sách các danh sách

message = "Hello"

count = 0
for character in message:
    print[f'Index:{count}, Character:{character}']
    count += 1
2

đầu ra

Vòng lặp lồng nhau trong Python

Lặp lại đảo ngược bằng cách sử dụng chức năng Vòng lặp và đảo ngược []

Vòng lặp for lặp qua các phần tử chuỗi theo thứ tự xuất hiện của chúng. Đôi khi chúng ta phải lặp qua các phần tử theo thứ tự ngược lại. Chúng ta có thể sử dụng hàm Reverse[] với vòng lặp for để đạt được điều này

message = "Hello"

count = 0
for character in message:
    print[f'Index:{count}, Character:{character}']
    count += 1
3

đầu ra

message = "Hello"

count = 0
for character in message:
    print[f'Index:{count}, Character:{character}']
    count += 1
4

Các biến vòng lặp for bị rò rỉ ra phạm vi toàn cầu

Thông thường, các biến được xác định bên trong một không gian tên cục bộ không thể truy cập được bên ngoài. Ngay sau khi khối mã kết thúc quá trình thực thi, không gian tên cục bộ sẽ bị hủy cùng với tất cả các biến của nó. Nhưng, điều đó không đúng với vòng lặp for

Các biến được xác định bên trong vòng lặp for đi trong phạm vi toàn cầu. Chúng ta thậm chí có thể truy cập và thay đổi các giá trị biến không gian tên chung bên trong vòng lặp for. Hãy kiểm tra hành vi này bằng một đoạn mã đơn giản

message = "Hello"

count = 0
for character in message:
    print[f'Index:{count}, Character:{character}']
    count += 1
5

Python cho các biến toàn cục của vòng lặp

Khuyến khích. Không gian tên Python

Tóm lược

Python cho vòng lặp hoạt động như một trình vòng lặp. Chúng ta có thể sử dụng nó để lặp lại các phần tử có thể lặp lại. Chúng ta có thể lồng các vòng lặp để lặp qua một lần lặp của các lần lặp. Có một số chức năng bổ sung – phạm vi[] và đảo ngược[] làm cho nó mạnh hơn

Python có phạm vi không?

Trong Python, khái niệm phạm vi liên quan chặt chẽ với khái niệm không gian tên. Như bạn đã học, phạm vi Python xác định vị trí hiển thị tên trong chương trình của bạn . Phạm vi Python được triển khai dưới dạng từ điển ánh xạ tên cho các đối tượng. Những từ điển này thường được gọi là không gian tên.

Vòng lặp có khả dụng trong Python không?

Một vòng lặp for được sử dụng để lặp qua một chuỗi [đó là danh sách, bộ, từ điển, tập hợp hoặc chuỗi]. Điều này ít giống với từ khóa for trong các ngôn ngữ lập trình khác và hoạt động giống một phương thức lặp hơn như được tìm thấy trong các ngôn ngữ lập trình hướng đối tượng khác.

Vòng lặp for có phạm vi không?

Mọi thứ được khai báo trong vòng lặp đều nằm trong phạm vi vòng lặp đó và không thể truy cập được bên ngoài dấu ngoặc nhọn. Trên thực tế, bạn thậm chí không cần vòng lặp để tạo phạm vi mới. Bạn có thể làm một cái gì đó như. { int x = 1; .

Chủ Đề