Bạn có thể sử dụng lại tên biến trong python không?
Một biến có thể có tên ngắn (như x và y) hoặc tên mô tả hơn (tuổi, carname, total_volume) Show
Quy tắc cho các biến Python
Thí dụ#Tên biến pháp lý. #Tên biến không hợp lệ. Hãy nhớ rằng tên biến phân biệt chữ hoa chữ thường DCL01-C-EX2. Biến tạm thời trong phạm vi mới bên trong macro có thể ghi đè giá trị nhận dạng trong phạm vi chứa. Tuy nhiên, ngoại lệ này không áp dụng cho các đối số của chính macro Maximiliano Contieri Theo dõi Ngày 1 tháng 12 năm 2021 · 2 phút đọc Tiết kiệm Mã mùi 107 — Tái sử dụng biến Việc sử dụng lại các biến làm cho phạm vi và ranh giới khó theo dõi hơnẢnh của Sigmund trên BaptCác vấn đề
1. Không sử dụng lại các biến 2. Phương pháp trích xuất để cô lập phạm vi Định nghĩa bài vănKhi lập trình một tập lệnh, người ta thường sử dụng lại các biến Điều này dẫn đến sự nhầm lẫn và làm cho việc gỡ lỗi trở nên khó khăn hơn Chúng ta nên thu hẹp phạm vi càng nhiều càng tốt Mã mẫuSai// print line total Đúngfunction printLineTotal() {Phát hiện [X] Tự động Linters có thể sử dụng cây phân tích cú pháp để tìm định nghĩa và cách sử dụng biến thẻ
Tránh sử dụng lại tên biến. Sử dụng các tên cụ thể và khác biệt hơn quan hệMã mùi 03 — Các chức năng quá dàiCon người cảm thấy buồn chán ngoài dòng 10Blog. thiên tài. io Thêm thông tinTái cấu trúc 002 — Phương pháp trích xuấtTìm một số đoạn mã có thể được nhóm lại và gọi nguyên tửBlog. thiên tài. io
Kevlin Henney Báo giá tuyệt vời về kỹ thuật phần mềmĐôi khi một suy nghĩ ngắn có thể mang lại những ý tưởng tuyệt vờiBlog. thiên tài. io Bài viết này là một phần của Series CodeSmell Cách tìm các phần hôi thối trong mã của bạnMã có mùi khó chịu. Hãy xem cách thay đổi mùi hươngBlog. thiên tài. io Thêm nội dung tại blog. thiên tài. io Một số quyền được bảo lưu
\( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \) \( \newcommand{\vecd}[1]{\overset{-\. -\. \rightharpoonup}{\vphantom{a}\smash {#1}}} \)\(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span} . #1 \. }\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\) \(\newcommand{\ . #1 \. }\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\)\(\newcommand{\ . 8,0]{x212B}}\) không có tiêu đềHãy xem lại một vài dòng mã từ hàm wormSegmentRect = pygame.Rect(x, y, CELLSIZE, CELLSIZE) pygame.draw.rect(DISPLAYSURF, DARKGREEN, wormSegmentRect) wormInnerSegmentRect = pygame.Rect(x + 4, y + 4, CELLSIZE - 8, CELLSIZE - 8) pygame.draw.rect(DISPLAYSURF, GREEN, wormInnerSegmentRect) Lưu ý rằng hai đối tượng Rect khác nhau được tạo trên dòng 1 [199] và 3 [201]. Đối tượng Rect được tạo ở dòng 1 [199] được lưu trữ trong biến cục bộ Mỗi khi bạn tạo một biến, nó sẽ chiếm một lượng nhỏ bộ nhớ của máy tính. Bạn có thể nghĩ rằng sẽ rất thông minh nếu sử dụng lại biến wormSegmentRect = pygame.Rect(x, y, CELLSIZE, CELLSIZE) pygame.draw.rect(DISPLAYSURF, DARKGREEN, wormSegmentRect) wormSegmentRect = pygame.Rect(x + 4, y + 4, CELLSIZE - 8, CELLSIZE - 8) pygame.draw.rect(DISPLAYSURF, GREEN, wormInnerSegmentRect) Vì đối tượng Rect được trả về bởi function printLineTotal() {0 trên dòng 1 [199] sẽ không cần thiết sau 2 [200], chúng ta có thể ghi đè giá trị này và sử dụng lại biến để lưu trữ đối tượng Rect được trả về bởi function printLineTotal() {0 trên dòng 3 [201]. Vì chúng ta hiện đang sử dụng ít biến hơn nên chúng ta đang tiết kiệm bộ nhớ, phải không? Mặc dù điều này đúng về mặt kỹ thuật, nhưng bạn thực sự chỉ tiết kiệm được một vài byte. Máy tính hiện đại có bộ nhớ vài tỷ byte. Vì vậy, khoản tiết kiệm không phải là lớn. Trong khi đó, việc sử dụng lại các biến làm giảm khả năng đọc mã. Nếu một lập trình viên đang đọc qua đoạn mã này sau khi nó được viết, họ sẽ thấy rằng function printLineTotal() {0 trên dòng 1 [199]. Họ có thể không nhận ra rằng đối tượng Rect được trả về bởi lệnh gọi function printLineTotal() {0 của dòng 1 [199] không giống với đối tượng được chuyển đến lệnh gọi pygame.draw.rect() trên dòng 4 [202]Những điều nhỏ nhặt như thế này khiến bạn khó hiểu chính xác chương trình của bạn hoạt động như thế nào. Sẽ không chỉ có những lập trình viên khác nhìn vào mã của bạn, những người sẽ bối rối. Khi bạn xem lại đoạn mã của chính mình vài tuần sau khi viết nó, bạn có thể gặp khó khăn trong việc nhớ chính xác nó hoạt động như thế nào. Khả năng đọc mã quan trọng hơn nhiều so với việc tiết kiệm một vài byte bộ nhớ ở đây và ở đó Để thực hành lập trình bổ sung, bạn có thể tải xuống các phiên bản lỗi của Wormy từ http. //invpy. com/buggy/wormy và cố gắng tìm ra cách sửa lỗi 7. 21. Không sử dụng lại tên biến được chia sẻ theo CC BY-NC-SA 3. 0 và do LibreTexts soạn thảo, phối lại và/hoặc quản lý Chúng ta có thể sử dụng cùng một tên biến trong Python không?Tóm lại. bạn không thể có hai thứ đồng thời có cùng tên , có thể là một hàm, một số nguyên hoặc bất kỳ đối tượng nào khác trong Python. Chỉ cần sử dụng một tên khác.
Các biến có thể được sử dụng lại không?Tốt hơn là sử dụng lại các biến về mặt bộ nhớ . Nhưng hãy cẩn thận, bạn không cần giá trị trong một biến trước khi sử dụng lại nó. Ngoài ra, bạn không nên sử dụng luôn biến. Điều quan trọng là giữ cho mã sạch và dễ đọc.
Bạn có thể sử dụng lại tên biến trong các chức năng khác nhau không?Do đó, trong trường hợp của bạn, các biến sẽ được chuyển từ trình điều khiển chính đến các chức năng riêng lẻ theo tham chiếu. Vì vậy, có, bạn có thể có các biến cùng tên trong các phạm vi khác nhau . Lưu câu trả lời này.
Tên biến nào là bất hợp pháp trong Python?Quy tắc cho biến Python. Tên biến phải bắt đầu bằng một chữ cái hoặc ký tự gạch dưới. Tên biến không được bắt đầu bằng số . Tên biến chỉ có thể chứa các ký tự chữ và số và dấu gạch dưới (A-z, 0-9 và _ ) |