Hướng dẫn is there comma operator in python? - có toán tử dấu phẩy trong python không?

Tôi đã đọc các câu lệnh gán trong tài liệu Python (http://docs.python.org/reference/simple_stmts.html#assignment-statements).

Trong đó nó được trích dẫn rằng:

Nếu mục tiêu là một danh sách mục tiêu được đặt trong ngoặc hoặc trong dấu ngoặc vuông: đối tượng phải là một số lượng khác nhau có cùng số lượng mục như có mục tiêu trong danh sách mục tiêu và các mục của nó được gán, từ trái sang phải, đến mục tiêu.

Sau khi đọc nó, tôi đã nghĩ đến việc viết một mẫu như thế này:

a = 5
b = 4
a, b = a + b, a
print a, b

Giả định của tôi là cả A và B nên có giá trị 9.

Tuy nhiên, tôi đã được chứng minh là sai. 'A' có giá trị 9 và 'B' có giá trị là 5.

Một số người có thể giúp tôi hiểu điều này tốt hơn không? Tại sao giá trị cũ hơn của 'A' được gán chứ không phải là giá trị mới? Theo tài liệu, giá trị của A sẽ được gán đầu tiên phải không? Tui bỏ lỡ điều gì vậy?

Hướng dẫn is there comma operator in python? - có toán tử dấu phẩy trong python không?

bad_coder

9.78820 Huy hiệu vàng38 Huy hiệu bạc62 Huy hiệu Đồng20 gold badges38 silver badges62 bronze badges

hỏi ngày 16 tháng 7 năm 2012 lúc 10:13Jul 16, 2012 at 10:13

Thiruvenkadamthiruvenkadamthiruvenkadam

4.0483 Huy hiệu vàng26 Huy hiệu bạc26 Huy hiệu đồng3 gold badges26 silver badges26 bronze badges

Tất cả các biểu thức ở bên phải của toán tử gán được đánh giá trước khi bất kỳ bài tập nào được thực hiện.

Từ hướng dẫn Python: Các bước đầu tiên hướng tới lập trình:

Dòng đầu tiên chứa nhiều bài tập: các biến A và B đồng thời nhận các giá trị mới 0 và 1. Trên dòng cuối cùng, điều này được sử dụng lại, chứng minh rằng các biểu thức ở phía bên phải đều được đánh giá trước khi bất kỳ bài tập nào diễn ra. Các biểu thức bên phải được đánh giá từ bên trái sang phải.the expressions on the right-hand side are all evaluated first before any of the assignments take place. The right-hand side expressions are evaluated from the left to the right.

Nhấn mạnh của tôi.

Mã của bạn có chức năng tương đương với các điều sau:

a, b = 5 + 4, 5
print a, b

Đã trả lời ngày 16 tháng 7 năm 2012 lúc 10:15Jul 16, 2012 at 10:15

Mark Byersmark ByersMark Byers

785K188 Huy hiệu vàng1552 Huy hiệu bạc1440 Huy hiệu đồng188 gold badges1552 silver badges1440 bronze badges

1

Python không có "toán tử dấu phẩy" như trong C. Thay vào đó, dấu phẩy chỉ ra rằng một tuple nên được xây dựng. Phía bên tay phải của

a, b = a + b, a

là một tuple với hai mục a + ba.

Ở phía bên trái của một bài tập, dấu phẩy chỉ ra rằng việc giải nén trình tự nên được thực hiện theo các quy tắc bạn đã trích dẫn: a sẽ được gán phần tử đầu tiên của tuple,

a, b = 5 + 4, 5
print a, b
1 thứ hai.

Đã trả lời ngày 16 tháng 7 năm 2012 lúc 10:16Jul 16, 2012 at 10:16

Sven Marnachsven MarnachSven Marnach

547K114 Huy hiệu vàng918 Huy hiệu bạc820 Huy hiệu đồng114 gold badges918 silver badges820 bronze badges

Bạn có thể nghĩ về các bài tập xảy ra song song trên các bản sao thay vì tuần tự và tại chỗ.

Đây là lý do tại sao trong Python bạn không cần chức năng hoán đổi:

a, b = b, a

Công trình đủ mà không yêu cầu biến TEMP,

a, b = 5 + 4, 5
print a, b
2.

Đã trả lời ngày 16 tháng 7 năm 2012 lúc 10:15Jul 16, 2012 at 10:15


Nhà điều hành nào là dấu phẩy?

Toán tử dấu phẩy (,) đánh giá từng toán hạng của nó (từ trái sang phải) và trả về giá trị của toán hạng cuối cùng. Điều này cho phép bạn tạo một biểu thức ghép trong đó nhiều biểu thức được đánh giá, với giá trị cuối cùng của biểu thức hợp chất là giá trị của các biểu thức thành viên ngoài cùng bên phải.

S.No.Người điều khiển ưu tiên xác định nhóm các thuật ngữ trong một biểu thức và quyết định cách đánh giá biểu thức. Dấu phẩy không phải là một nhà điều hành trong Python; Do đó, khái niệm ưu tiên không hoạt động ở đây.
1

Trước khi di chuyển xa hơn, trước tiên chúng ta hãy xem sự ưu tiên của các nhà khai thác trong Python từ mức ưu tiên cao nhất đến thấp nhất.

Nhà điều hành & Desc

2

**

Số mũ (nâng lên sức mạnh)

3

* / % //

Nhân, chia, phân chia modulo và sàn

4

+ -

Cộng và trừ

5

<>>

Bên phải và bên trái Bitwise Shift

6

Không có giá trị

Bitwise 'và'

7

^ |

BitWise độc ​​quyền `hoặc 'và thường xuyên` hoặc'

8

=

Toán tử so sánh

9

==! =

Toán tử bình đẳng

10

= %= /= /// = -= += *= ** =

Toán tử chuyển nhượng

11

không phải

Người vận hành danh tính

12

không phải vào

Các nhà khai thác thành viên

13

không hoặc và

Toán tử logic

Bây giờ, chúng ta hãy thảo luận về dấu phẩy.

Thí dụ

Hãy nói rằng chúng tôi có các biểu thức sau và chúng tôi cần quyết định cách thức hoạt động và tính toán -

print("x" in "y", "x")

Đầu ra

False x

Thí dụ

Hãy nói rằng chúng tôi có các biểu thức sau và chúng tôi cần quyết định cách thức hoạt động và tính toán -

("x" in "y"), "x"

Đầu ra

"x" in ("y", "x")

Hướng dẫn is there comma operator in python? - có toán tử dấu phẩy trong python không?

Chúng tôi có đầu ra ở trên vì dấu phẩy không phải là toán tử, mà là một dấu phân cách giữa các biểu thức. Ở trên được đánh giá như thể bạn đã nhập -

  • Những điều trên được đánh giá như thế này -
  • Cập nhật vào ngày 19 tháng 9 năm 2022 13:47:49
  • Câu hỏi và câu trả lời liên quan
  • Sự kết hợp của toán tử ** của Python là gì?
  • Các toán tử ưu tiên trong C#là gì?
  • Nhà điều hành ưu tiên phân tích cú pháp là gì?
  • Theo nhà điều hành Java ưu tiên, nhà điều hành nào có quyền ưu tiên cao nhất?
  • Nhà điều hành PHP ưu tiên
  • Quan hệ ưu tiên trong ngữ pháp của nhà điều hành là gì?
  • Chúng ta có thể thay đổi ưu tiên toán tử trong Python không?
  • Toán tử dấu phẩy trong C ++ là gì?
  • Toán tử dấu phẩy (,) trong JavaScript là gì?
  • Nhà điều hành C ưu tiên và kết hợp là gì?
  • Thuật toán phân tích cú pháp trước khi vận hành trong thiết kế trình biên dịch là gì?
  • Nhà điều hành ưu tiên và kết hợp trong C
  • Phải làm gì để giảm bớt thời gian mol của trẻ mới biết đi?
  • Truy vấn MySQL để đếm dấu phẩy từ giá trị trường?

Python có toán tử dấu phẩy không?

Dấu phẩy không phải là một nhà điều hành trong Python; Do đó, khái niệm ưu tiên không hoạt động ở đây.; therefore, the precedence concept doesn't work here.

Chúng ta có thể sử dụng dấu phẩy trong biến trong Python không?

Điều này có nghĩa là hàm trả về nhiều biến, điều đó xảy ra dưới dạng tuple.Sử dụng nhiều biến được phân tách bằng dấu phẩy giải nén bộ tuple trở lại vào các biến.Using multiple variables separated by a comma unpacks the tuple return into the variables.

Dấu phẩy trong Python có nghĩa là gì?

Một dấu phẩy tạo thành một tuple, trong Python trông giống như một danh sách bất biến.Python thực hiện bài tập phá hủy, được tìm thấy trong một vài ngôn ngữ khác, ví dụ:JavaScript hiện đại.Nói tóm lại, một gán duy nhất có thể ánh xạ một số biến bên trái thành cùng một số giá trị bên phải: foo, bar = 1, 2.forms a tuple, which in Python looks just like an immutable list. Python does destructuring assignment, found in a few other languages, e.g. modern JavaScript. In short, a single assignment can map several left-hand variables to the same number of right-hand values: foo, bar = 1, 2.

Nhà điều hành nào là dấu phẩy?

Toán tử dấu phẩy (,) đánh giá từng toán hạng của nó (từ trái sang phải) và trả về giá trị của toán hạng cuối cùng.Điều này cho phép bạn tạo một biểu thức ghép trong đó nhiều biểu thức được đánh giá, với giá trị cuối cùng của biểu thức hợp chất là giá trị của các biểu thức thành viên ngoài cùng bên phải.evaluates each of its operands (from left to right) and returns the value of the last operand. This lets you create a compound expression in which multiple expressions are evaluated, with the compound expression's final value being the value of the rightmost of its member expressions.