Hướng dẫn does python allow simultaneous assignment statements? - python có cho phép các câu lệnh gán đồng thời không?

Một tính năng rất thú vị của Python là nó cho phép gán đồng thời. Cú pháp như sau:

var_name1, var_name2 = value1, value2

Điều này có thể hữu ích như một lối tắt để gán một số giá trị cùng một lúc, như thế này:

smart_1, cute_1, funny_1, quiet_1 = "John","Paul","Ringo","George"

Nhưng việc gán đồng thời thực sự hữu ích trong một kịch bản như hình dưới đây.

  1. Đầu tiên, chúng ta hãy xem xét một phương pháp không hoạt động:
    a=5
    b=10
    a=b
    b=a
    print("ATTEMPT 1. The Wrong Way.")
    print(a)
    print(b)
  2. Tiếp theo, chúng ta hãy xem một phương pháp hoạt động, nhưng không phải là Pythonic:
    a=5
    b=10
    temp=a
    a=b
    b=temp
    print("ATTEMPT 2. A Non-Pythonic Way that Works.")
    print(a)
    print(b)
  3. Cuối cùng, chúng ta hãy xem cách Pythonic, đó là sử dụng phép gán đồng thời:
    a=5
    b=10
    a,b = b,a
    print("ATTEMPT 3. The Python Way.")
    print(a)
    print(b)

Đầu ra sẽ trông như thế này:

Hướng dẫn does python allow simultaneous assignment statements? - python có cho phép các câu lệnh gán đồng thời không?

Mã chứng minh rằng sự gán đồng thời thực sự là đồng thời. Giá trị cho

smart_1, cute_1, funny_1, quiet_1 = "John","Paul","Ringo","George"
6 không thay đổi trước giá trị của
smart_1, cute_1, funny_1, quiet_1 = "John","Paul","Ringo","George"
7, do đó
smart_1, cute_1, funny_1, quiet_1 = "John","Paul","Ringo","George"
7 nhận được giá trị ban đầu là
smart_1, cute_1, funny_1, quiet_1 = "John","Paul","Ringo","George"
6 và chúng ta có thể chuyển đổi các giá trị mà không cần sử dụng bước tạm thời để tạo biến tạm thời (và không có gì vô dụng).

Trong Python, sử dụng toán tử

a=5
b=10
a=b
b=a
print("ATTEMPT 1. The Wrong Way.")
print(a)
print(b)
0 để gán các giá trị cho các biến.

a = 100
b = 200

print(a)
# 100

print(b)
# 200

Bạn có thể gán các giá trị cho nhiều biến trên một dòng.

Bài viết này mô tả hai trường hợp sau đây.

  • Gán nhiều giá trị cho nhiều biến
  • Gán cùng một giá trị cho nhiều biến

Gán nhiều giá trị cho nhiều biến

Bạn có thể gán nhiều giá trị cho nhiều biến bằng cách tách các biến và giá trị bằng dấu phẩy

a=5
b=10
a=b
b=a
print("ATTEMPT 1. The Wrong Way.")
print(a)
print(b)
1.

a, b = 100, 200

print(a)
# 100

print(b)
# 200

Bạn có thể gán cho nhiều hơn ba biến. Cũng có thể gán cho các loại khác nhau.

a, b, c = 0.1, 100, 'string'

print(a)
# 0.1

print(b)
# 100

print(c)
# string

Nếu có một biến ở phía bên trái, nó được gán dưới dạng tuple.

a = 100, 200

print(a)
print(type(a))
# (100, 200)
# 

Nếu số lượng biến ở bên trái và số lượng giá trị bên phải không khớp, sẽ xảy ra

a=5
b=10
a=b
b=a
print("ATTEMPT 1. The Wrong Way.")
print(a)
print(b)
2, nhưng bạn có thể gán phần còn lại làm danh sách bằng cách nối lại
a=5
b=10
a=b
b=a
print("ATTEMPT 1. The Wrong Way.")
print(a)
print(b)
3 cho tên biến.

# a, b = 100, 200, 300
# ValueError: too many values to unpack (expected 2)

# a, b, c = 100, 200
# ValueError: not enough values to unpack (expected 3, got 2)

a, *b = 100, 200, 300

print(a)
print(type(a))
# 100
# 

print(b)
print(type(b))
# [200, 300]
# 

*a, b = 100, 200, 300

print(a)
print(type(a))
# [100, 200]
# 

print(b)
print(type(b))
# 300
# 

Để biết thêm thông tin về

a=5
b=10
a=b
b=a
print("ATTEMPT 1. The Wrong Way.")
print(a)
print(b)
3 và cách gán các yếu tố của tuple và liệt kê cho nhiều biến, hãy xem bài viết sau.

  • Giải nén một tuple và danh sách trong Python

Cũng có thể trao đổi các giá trị của nhiều biến theo cùng một cách. Xem bài viết dưới đây.

  • Giá trị hoán đổi trong danh sách hoặc giá trị của các biến trong Python

Gán cùng một giá trị cho nhiều biến

Bạn có thể gán cùng một giá trị cho nhiều biến bằng cách sử dụng

a=5
b=10
a=b
b=a
print("ATTEMPT 1. The Wrong Way.")
print(a)
print(b)
0 liên tiếp.

Điều này rất hữu ích, ví dụ, khi khởi tạo nhiều biến thành cùng một giá trị.

smart_1, cute_1, funny_1, quiet_1 = "John","Paul","Ringo","George"
0

Cũng có thể gán một giá trị khác thành một sau khi gán cùng một giá trị. Như được mô tả sau, phải cẩn thận khi gán các đối tượng có thể thay đổi như danh sách hoặc từ điển.

smart_1, cute_1, funny_1, quiet_1 = "John","Paul","Ringo","George"
1

Ngay cả ba hoặc nhiều hơn có thể được viết theo cùng một cách.

smart_1, cute_1, funny_1, quiet_1 = "John","Paul","Ringo","George"
2

Hãy cẩn thận khi gán các đối tượng có thể thay đổi như

a=5
b=10
a=b
b=a
print("ATTEMPT 1. The Wrong Way.")
print(a)
print(b)
6 hoặc
a=5
b=10
a=b
b=a
print("ATTEMPT 1. The Wrong Way.")
print(a)
print(b)
7 thay vì các đối tượng bất biến như
a=5
b=10
a=b
b=a
print("ATTEMPT 1. The Wrong Way.")
print(a)
print(b)
8,
a=5
b=10
a=b
b=a
print("ATTEMPT 1. The Wrong Way.")
print(a)
print(b)
9 hoặc
a=5
b=10
temp=a
a=b
b=temp
print("ATTEMPT 2. A Non-Pythonic Way that Works.")
print(a)
print(b)
0.

Nếu bạn sử dụng

a=5
b=10
a=b
b=a
print("ATTEMPT 1. The Wrong Way.")
print(a)
print(b)
0 liên tiếp, cùng một đối tượng được gán cho tất cả các biến, vì vậy nếu bạn thay đổi giá trị của phần tử hoặc thêm phần tử mới, thì khác cũng sẽ thay đổi.

smart_1, cute_1, funny_1, quiet_1 = "John","Paul","Ringo","George"
3

Giống như dưới đây.

smart_1, cute_1, funny_1, quiet_1 = "John","Paul","Ringo","George"
4

Nếu bạn muốn xử lý chúng một cách riêng biệt, bạn cần phải gán chúng cho từng.

Sau

a=5
b=10
temp=a
a=b
b=temp
print("ATTEMPT 2. A Non-Pythonic Way that Works.")
print(a)
print(b)
2,
a=5
b=10
temp=a
a=b
b=temp
print("ATTEMPT 2. A Non-Pythonic Way that Works.")
print(a)
print(b)
3 và
a=5
b=10
temp=a
a=b
b=temp
print("ATTEMPT 2. A Non-Pythonic Way that Works.")
print(a)
print(b)
4 được đảm bảo để chỉ hai danh sách trống khác nhau, duy nhất, mới được tạo ra. (Lưu ý rằng
a=5
b=10
temp=a
a=b
b=temp
print("ATTEMPT 2. A Non-Pythonic Way that Works.")
print(a)
print(b)
5 gán cùng một đối tượng cho cả
a=5
b=10
temp=a
a=b
b=temp
print("ATTEMPT 2. A Non-Pythonic Way that Works.")
print(a)
print(b)
3 và
a=5
b=10
temp=a
a=b
b=temp
print("ATTEMPT 2. A Non-Pythonic Way that Works.")
print(a)
print(b)
4.) 3. Mô hình dữ liệu - Tài liệu Python 3.8.0

smart_1, cute_1, funny_1, quiet_1 = "John","Paul","Ringo","George"
5

Bạn cũng có thể sử dụng

a=5
b=10
temp=a
a=b
b=temp
print("ATTEMPT 2. A Non-Pythonic Way that Works.")
print(a)
print(b)
8 hoặc
a=5
b=10
temp=a
a=b
b=temp
print("ATTEMPT 2. A Non-Pythonic Way that Works.")
print(a)
print(b)
9 của mô -đun sao chép để tạo các bản sao nông và sâu. Xem bài viết sau đây.

  • Bản sao nông và sâu trong Python: Copy (), DeepCopy ()

Python có hỗ trợ nhiều câu lệnh gán không?

Nhiều gán trong Python: gán nhiều giá trị hoặc cùng một giá trị cho nhiều biến. Trong Python, sử dụng toán tử = để gán các giá trị cho các biến. Bạn có thể gán các giá trị cho nhiều biến trên một dòng.You can assign values to multiple variables on one line.

Làm thế nào để phân công đồng thời hoạt động trong Python?

Python trước tiên sẽ đẩy giá trị bên tay phải lên ngăn xếp như một bộ phận ..
Chạy một chuỗi giải nén cho các giá trị N từ ngăn xếp và đặt các giá trị trở lại vào ngăn xếp từ phải sang trái.“....
Kết thúc với phía bên tay phải, Python sẽ gán các giá trị cho bên trái sang phải, đồng thời loại bỏ hàng đầu ..

Mục đích của nhiều bài tập trong Python là gì?

Nhiều bài tập cho phép chúng tôi gán nhiều biến cùng một lúc bằng một dòng mã.Đây là một ví dụ về chúng tôi bằng cách sử dụng bài tập tiêu chuẩn.Giả sử chúng tôi có một tên biến và tôi sẽ đặt nó thành một giá trị tên của tôi.allows us to assign multiple variables at the same time using one line of code. here's an example of us using standard assignment. let's say we have a variable name and i will set this to a value of my name.

Báo cáo gán trong Python là gì?

Một câu lệnh gán đánh giá danh sách biểu thức (hãy nhớ rằng đây có thể là một biểu thức duy nhất hoặc danh sách được phân tách bằng dấu phẩy, phần sau mang lại một tuple) và gán đối tượng kết quả duy nhất cho từng danh sách mục tiêu, từ trái sang phải.