Cách thêm 1 vào biến trong python

Làm cách nào để bạn thực hiện thao tác gia tăng Python?

Nhưng, như chúng ta sẽ thấy trong bài viết này, điều này không hoàn toàn giống nhau. Hãy xem cách chúng ta có thể thử sử dụng chức năng tương tự của phép toán Increment [

>>> a++
  File "", line 1
    a++
      ^
SyntaxError: invalid syntax
9] trong Python

Gia tăng Python

Trước khi tìm hiểu sự khác biệt chính xác, chúng ta sẽ xem xét cách chúng ta có thể tăng một biến trong Python

Đoạn mã dưới đây cho thấy hầu hết tất cả các lập trình viên đều tăng số nguyên hoặc các biến tương tự trong Python

>>> a = 10
>>> print[a]
10

>>> a += 1
>>> print[a]
11

>>> a += 100
>>> print[a]
111

>>> b = 'Hello'
>>> b += 1
Traceback [most recent call last]:
  File "", line 1, in 
TypeError: can only concatenate str [not "int"] to str

>>> b += ' from AskPython'
>>> b
'Hello from AskPython'

Chúng tôi đã tăng biến số nguyên

a += 1
a -= 1
0 theo các bước liên tiếp tại đây. Ngoài ra, vì toán tử
a += 1
a -= 1
1 cũng là viết tắt của phép nối đối với Chuỗi, nên chúng ta cũng có thể nối vào chuỗi tại chỗ

Chúng ta có thể tăng sau

a += 1
a -= 1
0 lên 1, sử dụng
a += 1
a -= 1
3 không?

>>> a++
  File "", line 1
    a++
      ^
SyntaxError: invalid syntax

Chà, có một vấn đề ở đây. Python, theo thiết kế, không cho phép sử dụng “toán tử”

>>> a++
  File "", line 1
    a++
      ^
SyntaxError: invalid syntax
9. Thuật ngữ
>>> a++
  File "", line 1
    a++
      ^
SyntaxError: invalid syntax
9, được gọi là toán tử gia số trong C++/Java, không có chỗ trong Python

Tại sao không có toán tử ++ trong Python?

Nếu bạn muốn hiểu điều này chi tiết hơn, bạn cần có kiến ​​thức cơ bản về thiết kế ngôn ngữ lập trình

Tùy chọn không bao gồm toán tử

>>> a++
  File "", line 1
    a++
      ^
SyntaxError: invalid syntax
9 trong Python là một quyết định thiết kế. Những người chịu trách nhiệm tạo các tính năng trong ngôn ngữ Python cảm thấy rằng không cần phải giới thiệu toán tử gia tăng kiểu CPP

Khi trình thông dịch Python phân tích ký hiệu

a += 1
a -= 1
3 từ đầu vào của chúng ta, nó sẽ được diễn giải theo cách sau

  • Vì toán tử nhị phân
    a += 1
    a -= 1
    
    1 là toán tử cộng, nên
    a += 1
    a -= 1
    
    3 sẽ được coi là
    a += 1
    a -= 1
    
    0,
    a += 1
    a -= 1
    
    1 và
    a += 1
    a -= 1
    
    1. Nhưng Python mong đợi một số sau toán tử
    a += 1
    a -= 1
    
    1 đầu tiên. Do đó, nó sẽ báo lỗi cú pháp trên
    a += 1
    a -= 1
    
    3, vì
    a += 1
    a -= 1
    
    1 thứ hai không phải là số

Tương tự, phần tăng trước

a += 1
a -= 1
2, sẽ được xử lý như thế này

  • Toán tử
    a += 1
    a -= 1
    
    1 đơn nguyên trong Python đề cập đến toán tử nhận dạng. Điều này chỉ đơn giản là trả về số nguyên sau nó. Đây là lý do tại sao nó là một hoạt động nhận dạng trên số nguyên
  • Ví dụ: giá trị của
    a += 1
    a -= 1
    
    4 chỉ đơn giản là
    a += 1
    a -= 1
    
    5 và đối với
    a += 1
    a -= 1
    
    6, nó là
    a += 1
    a -= 1
    
    7. Đây là một toán tử đơn nguyên, hoạt động trên các số thực
  • a += 1
    a -= 1
    
    2 sẽ được phân tích cú pháp thành + và
    a += 1
    a -= 1
    
    9, nhưng
    a += 1
    a -= 1
    
    9 thứ hai lại được coi là
    >>> a++
      File "", line 1
        a++
          ^
    SyntaxError: invalid syntax
    
    01, đơn giản là
    a += 1
    a -= 1
    
    0
  • Do đó,
    >>> a++
      File "", line 1
        a++
          ^
    SyntaxError: invalid syntax
    
    03 chỉ đơn giản là đánh giá thành
    a += 1
    a -= 1
    
    0

Vì vậy, mặc dù chúng tôi muốn tăng giá trị của

a += 1
a -= 1
0 lên một, chúng tôi không thể đạt được điều này bằng cách sử dụng các ký hiệu
>>> a++
  File "", line 1
    a++
      ^
SyntaxError: invalid syntax
9, vì loại toán tử này không tồn tại

Do đó, chúng ta phải sử dụng toán tử

>>> a++
  File "", line 1
    a++
      ^
SyntaxError: invalid syntax
07 để thực hiện loại tăng này

a += 1
a -= 1

Logic tương tự cũng đúng với hoạt động giảm dần

Thao tác += được đánh giá như thế nào?

Bạn có thể nghĩ rằng vì có ký hiệu

>>> a++
  File "", line 1
    a++
      ^
SyntaxError: invalid syntax
08 nên nó có thể là một câu lệnh gán

Tuy nhiên, đây không phải là câu lệnh gán thông thường. Đây được gọi là câu lệnh gán tăng cường

Trong một câu lệnh gán thông thường, phía bên tay phải được đánh giá trước, trước khi gán nó cho phía bên trái

>>> a++
  File "", line 1
    a++
      ^
SyntaxError: invalid syntax
0

Tuy nhiên, trong câu lệnh gán tăng cường này, phía bên trái được đánh giá trước, trước khi đánh giá phía bên phải. Điều này được thực hiện để giá trị được cập nhật có thể được ghi vào vị trí bên trái

>>> a++
  File "", line 1
    a++
      ^
SyntaxError: invalid syntax
6

Đây là cách duy nhất để tăng biến mà không cần sử dụng câu lệnh gán lại như

>>> a++
  File "", line 1
    a++
      ^
SyntaxError: invalid syntax
09. Nhưng ở đây, về tổng thể, tùy chọn nào cũng không thành vấn đề, vì trình thông dịch sẽ tối ưu hóa mã khi chạy

Phần kết luận

Trong bài viết này, chúng ta đã tìm hiểu về cách chúng ta có thể sử dụng phép toán gia số trong Python và lý do tại sao các toán tử

>>> a++
  File "", line 1
    a++
      ^
SyntaxError: invalid syntax
9 và
>>> a++
  File "", line 1
    a++
      ^
SyntaxError: invalid syntax
61 không được hỗ trợ

Tôi += 1 trong Python là gì?

i = i + 1 gán lại i , i += 1 tăng i lên 1 .

Python có += 1 không?

Python không có toán tử tăng trước và sau . Cái nào sẽ gán lại b thành b+1. Đó không phải là toán tử tăng, bởi vì nó không tăng b , nó gán lại nó.

Nó += hay =+ trong Python?

Toán tử Python += thực hiện một toán tử cộng rồi gán kết quả của phép toán cho một biến. Toán tử += là một ví dụ về toán tử gán trong Python.

Chủ Đề