Hướng dẫn where should global variables be defined in python? - biến toàn cục nên được định nghĩa ở đâu trong python?
Biến toàn cầuCác biến được tạo ra bên ngoài một hàm (như trong tất cả các ví dụ trên) được gọi là các biến toàn cầu. Show
Các biến toàn cầu có thể được sử dụng bởi tất cả mọi người, cả bên trong các chức năng và bên ngoài. Thí dụTạo một biến bên ngoài hàm và sử dụng nó bên trong hàm x = "tuyệt vời" def myfunc (): & nbsp; in ("Python là" + x) myfunc() Hãy tự mình thử » Nếu bạn tạo một biến có cùng tên bên trong một hàm, biến này sẽ là cục bộ và chỉ có thể được sử dụng bên trong hàm. Biến toàn cầu có cùng tên sẽ vẫn như vậy, toàn cầu và với giá trị ban đầu. Thí dụTạo một biến bên ngoài hàm và sử dụng nó bên trong hàm x = "tuyệt vời" def myfunc (): & nbsp; in ("Python là" + x) myfunc() Hãy tự mình thử » Hãy tự mình thử » Nếu bạn tạo một biến có cùng tên bên trong một hàm, biến này sẽ là cục bộ và chỉ có thể được sử dụng bên trong hàm. Biến toàn cầu có cùng tên sẽ vẫn như vậy, toàn cầu và với giá trị ban đầu.Tạo một biến bên trong một hàm, với cùng tên với biến toàn cầu def myfunc (): & nbsp; x = "tuyệt vời" & nbsp; in ("Python là" + x) Thí dụTạo một biến bên ngoài hàm và sử dụng nó bên trong hàm x = "tuyệt vời" myfunc() Hãy tự mình thử » Hãy tự mình thử » Nếu bạn tạo một biến có cùng tên bên trong một hàm, biến này sẽ là cục bộ và chỉ có thể được sử dụng bên trong hàm. Biến toàn cầu có cùng tên sẽ vẫn như vậy, toàn cầu và với giá trị ban đầu. Tạo một biến bên trong một hàm, với cùng tên với biến toàn cầudef myfunc (): & nbsp; x = "tuyệt vời" & nbsp; in ("Python là" + x) x = "tuyệt vời" def myfunc (): & nbsp; in ("Python là" + x) myfunc() Hãy tự mình thử » Hãy tự mình thử »
Chúng ta có thể tạo một toàn cầu với chức năng sau:
Viết một chức năng không thực sự chạy mã của nó. Vì vậy, chúng tôi gọi hàm 6:
Sử dụng Globals mà không cần sửa đổiBạn chỉ có thể sử dụng nó, miễn là bạn không mong đợi thay đổi đối tượng mà nó chỉ vào: Ví dụ,
Và bây giờ chúng ta có thể sử dụng biến toàn cầu:
Sửa đổi biến toàn cầu từ bên trong một hàmĐể trỏ biến toàn cầu ở một đối tượng khác, bạn được yêu cầu sử dụng từ khóa toàn cầu một lần nữa:
Lưu ý rằng sau khi viết chức năng này, mã thực sự thay đổi nó vẫn chưa chạy:
Vì vậy, sau khi gọi chức năng:
Chúng ta có thể thấy rằng biến toàn cầu đã được thay đổi. Tên 7 hiện chỉ vào 8:
Lưu ý rằng "toàn cầu" trong Python không thực sự toàn cầu - nó chỉ là toàn cầu đối với cấp độ mô -đun. Vì vậy, nó chỉ có sẵn cho các chức năng được viết trong các mô -đun mà nó là toàn cầu. Các chức năng ghi nhớ mô -đun mà chúng được viết, vì vậy khi chúng được xuất sang các mô -đun khác, chúng vẫn nhìn vào mô -đun mà chúng được tạo để tìm các biến toàn cầu. Các biến cục bộ có cùng tênNếu bạn tạo một biến cục bộ có cùng tên, nó sẽ làm lu mờ một biến toàn cầu:
Nhưng việc sử dụng biến cục bộ bị tên là không thay đổi biến toàn cầu:
Lưu ý rằng bạn nên tránh sử dụng các biến cục bộ có cùng tên với Globals trừ khi bạn biết chính xác những gì bạn đang làm và có một lý do rất chính đáng để làm như vậy. Tôi chưa gặp phải một lý do như vậy. Chúng tôi có được hành vi tương tự trong các lớp họcTheo dõi bình luận hỏi:
Ở đây tôi chứng minh rằng chúng ta có được hành vi tương tự trong các phương pháp như chúng ta thực hiện trong các chức năng thông thường: 0Và bây giờ: 1Nhưng tôi sẽ đề xuất thay vì sử dụng các biến toàn cầu bạn sử dụng các thuộc tính lớp, để tránh làm lộn xộn không gian tên mô -đun. Cũng lưu ý rằng chúng tôi không sử dụng các đối số 9 ở đây - đây có thể là các phương thức lớp (tiện dụng nếu biến đổi thuộc tính lớp từ đối số 0 thông thường) hoặc phương thức tĩnh (không 9 hoặc 0).
Các biến toàn cầu nên được xác định ở đâu?Các biến toàn cầu được xác định bên ngoài tất cả các chức năng, thường là trên đầu chương trình.Các biến toàn cầu sẽ giữ loại của chúng trong suốt thời gian sống của chương trình của bạn.outside of all the functions, usually on top of the program. The global variables will hold their type throughout the life-time of your program.
Làm thế nào để bạn tuyên bố một biến toàn cầu trong Python?Thông thường, khi bạn tạo một biến bên trong một hàm, biến đó là cục bộ và chỉ có thể được sử dụng bên trong hàm đó.Để tạo một biến toàn cầu bên trong một hàm, bạn có thể sử dụng từ khóa toàn cầu.use the global keyword.
Làm thế nào để bạn xử lý các biến toàn cầu trong Python?Nếu bạn muốn tham khảo một biến toàn cầu trong một hàm, bạn có thể sử dụng từ khóa toàn cầu để khai báo các biến nào là toàn cầu.
Các biến toàn cầu nằm ở đâu?Các biến toàn cầu được lưu trữ trong phân đoạn dữ liệu của bộ nhớ.Các biến cục bộ được lưu trữ trong một ngăn xếp trong bộ nhớ.in the data segment of memory. Local variables are stored in a stack in memory. |