Các biến đóng một vai trò quan trọng trong thế giới lập trình. Mọi ngôn ngữ lập trình đều đi kèm với khái niệm biến. Các biến này đóng vai trò là tên cho vị trí bộ nhớ. Biến là mã thông báo trong ngôn ngữ lập trình là tên do người dùng đặt. Tên này dùng để gán một số giá trị cho vùng lưu trữ mà chương trình có thể thao tác. Các biến có thể là cục bộ hoặc toàn cục. Trong bài viết này, bạn sẽ tìm hiểu sự khác biệt giữa biến cục bộ và biến toàn cục Show
Đặc điểm của biếnMột biến cùng với kiểu của nó xác định kích thước, vị trí lưu trữ và cách bố trí dựa vào đó nó sẽ được biểu diễn trong bộ nhớ. Ngoài loại biến còn có khái niệm về phạm vi. Trước khi hiểu biến cục bộ và biến toàn cục, cần hiểu cách thức hoạt động của phạm vi trong Python Phạm vi của một biếnChúng ta có thể định nghĩa phạm vi của một biến là thời gian tồn tại của một biến. Đó là khối, bộ hoặc phần mã mà theo đó một biến vẫn tồn tại, thực hiện công việc của nó và vẫn có thể truy cập được dưới dạng tên lưu trữ. Trong Python, về cơ bản có hai loại biến chính. Đây là các biến toàn cục và cục bộ. Phạm vi mà các biến này được khai báo xác định loại của chúng. Hãy nói về các biến toàn cầu và cục bộ Biến toàn cục trong PythonBiến toàn cục là những biến Python không nằm trong phạm vi của hàm hoặc trong bất kỳ khối nào khác. Do đó, bạn có thể nói rằng họ có Phạm vi toàn cầu. Điều đó có nghĩa là, các biến này có thể được truy cập từ bất kỳ đâu trong toàn bộ chương trình, kể cả bên trong các hàm và các hàm lồng nhau. Tạo một biến Toàn cầu cho phép lập trình viên sử dụng nó trong toàn bộ mã mà không có bất kỳ hạn chế nào. Nếu không có biến nào được định nghĩa bên trong phạm vi hàm, biến toàn cục sẽ được sử dụng bên trong hàm Chương trình
đầu ra
Giải trình Đầu tiên, chúng ta sẽ định nghĩa hàm runn() do người dùng định nghĩa và in biến strr bên trong thân hàm đó. Nhưng câu hỏi đặt ra là biến này đến từ đâu. Biến này không phải là biến cục bộ vì nó chưa được khai báo trong hàm (do đó không phải cục bộ). Trong phạm vi toàn cầu, một biến strr được khai báo và khởi tạo bằng một chuỗi. Cuối cùng, chúng ta gọi hàm runn(). Nó tự động sử dụng biến toàn cục vì không có biến nào khác có tên đó được xác định Chương trình Một cách khác để biến một biến toàn cục tại bất kỳ điểm nào trong chương trình là sử dụng “từ khóa” toàn cầu
đầu ra
Giải trình Ở đây chúng ta tạo một hàm seta() do người dùng định nghĩa và truyền tham số “val”. Bên trong nó, chúng ta tạo một biến var và khai báo rõ ràng nó là biến toàn cục bằng cách sử dụng từ khóa toàn cầu. Sau đó, chúng tôi đã gán giá trị của val cho var. Sau đó, chúng ta tạo một hàm khác runn() và sử dụng var từ một hàm khác. Vì nó là một biến toàn cục nên nó cũng sẽ hoạt động từ hàm khác đó. Cuối cùng, bên ngoài chức năng, tôi. e. , trong phạm vi toàn cầu, chúng tôi đã gọi hàm Biến cục bộ trong PythonKhi một biến được xác định trong phần thân của hàm hoặc phạm vi hoặc khối cục bộ, chúng ta gọi các biến đó là biến cục bộ. Các biến này được biết là có phạm vi cục bộ. Phạm vi cục bộ có nghĩa là các biến này có thể được sử dụng hoặc truy cập trong phạm vi của hàm hoặc phạm vi của bộ mà nó được khai báo. Bạn không bao giờ có thể gọi nó hoặc sử dụng nó từ một chức năng hoặc khối khác. Nếu một lập trình viên cố gắng truy cập các biến như vậy từ một chức năng hoặc khối khác, lỗi thời gian biên dịch sẽ xuất hiện Chương trình
đầu ra
Giải trình Đầu tiên, chúng ta sẽ định nghĩa hàm runn() do người dùng định nghĩa và khởi tạo biến cục bộ (val) với giá trị chuỗi. Sau đó, chúng tôi in biến đó (val) bằng print(). Từ phạm vi toàn cục của chương trình, chúng ta đã gọi hàm runn() Sự khác biệt giữa Biến cục bộ và Biến toàn cụcBiến cục bộ Biến toàn cụcChúng ta phải khai báo các biến cục bộ trong một hàm, i. e. , trong thân hàm. Chúng ta nên khai báo các biến toàn cục bên ngoài một hàm. Các biến cục bộ thường được lưu trữ trong phần ngăn xếp của bộ nhớ. Các biến toàn cục thường được lưu trữ trong phần heap riêng của bộ nhớ. Nó được tạo khi chức năng bắt đầu thực thi và mất đi khi chức năng kết thúc. Nó được tạo khi phần thực thi chung của chương trình bắt đầu và mất đi khi chương trình kết thúc. Bạn không thể chia sẻ dữ liệu nằm trong một biến cục bộ bên ngoài hàm vì nó bị mất khi luồng thực thi thoát khỏi thân hàm. Bạn có thể chia sẻ dữ liệu nằm trong một biến toàn cục bên ngoài hàm và bất kỳ đâu trong chương trình vì nó vẫn còn cho đến khi chương trình kết thúc. Khi lập trình viên thay đổi giá trị của một biến cục bộ trong một hàm, nó không ảnh hưởng đến các hàm khác có cùng tên biến nằm trong một hàm khác. Khi người lập trình thực hiện thay đổi giá trị của biến toàn cục, nó sẽ có tác động đến tất cả các chức năng và hoạt động sử dụng biến đó. Các tham số mà người lập trình sử dụng bên trong một hàm là các biến cục bộ. Biến toàn cục không có kết nối trực tiếp với các tham số chức năng. Nếu một biến cục bộ bị đình chỉ hoặc bị loại bỏ, nó không cản trở các hàm khác có cùng tên biến, bởi vì mỗi biến cục bộ độc lập trong chức năng riêng của nó. Nếu các biến toàn cục bị đình chỉ sử dụng nó trong mã, lập trình viên sẽ phải xóa tất cả các biến khỏi các hàm đó. Ngoài ra, các lập trình viên có thể cần loại bỏ các chức năng mà chúng được gọiNgoài tất cả những điều này, nếu một biến được khai báo trong phạm vi cục bộ và cùng tên biến đó được khai báo trong phạm vi toàn cục, thì biến trong phạm vi cục bộ sẽ được ưu tiên hơn phạm vi toàn cầu khi được sử dụng trong một hàm Chương trình
đầu ra
Giải trình Đầu tiên, chúng ta sẽ định nghĩa hàm funcc() do người dùng định nghĩa và khởi tạo biến cục bộ (strg) với giá trị chuỗi. Sau đó, chúng tôi in biến đó bằng hàm print(). Sau đó, chúng tôi tạo một biến khác trong phạm vi toàn cầu nhưng có cùng tên strg và lần này khởi tạo nó bằng một chuỗi khác. Bây giờ khi chúng ta thử gọi hàm funcc(), biến cục bộ được ưu tiên hơn biến toàn cục bên trong hàm. Trong khi đó, khi hàm print() gọi strg, biến toàn cục được ưu tiên hơn Ưu điểm của biến cục bộ
Ưu điểm của biến toàn cục
kết luận Cả biến cục bộ và biến toàn cục đều đóng một vai trò quan trọng trong lập trình. Chúng có những đặc điểm và công dụng riêng. Điều rất quan trọng là phải hiểu phạm vi và thời gian tồn tại của một biến và nơi khai báo biến nào. Bởi vì, tùy thuộc vào khai báo, chương trình của bạn sẽ gặp lỗi và lỗi. Vì vậy, nếu bạn muốn sử dụng một biến sẽ được sử dụng ở nhiều vị trí của cùng một chương trình, hãy khai báo biến đó là toàn cục, nếu không thì hãy tạo biến cục bộ Biến toàn cục có thể được sử dụng ở bất kỳ đâu trong chương trình không?Khi bạn định nghĩa một biến bên ngoài một hàm, chẳng hạn như ở đầu tệp, nó có phạm vi toàn cục và được gọi là biến toàn cục. Biến toàn cục được truy cập từ mọi nơi trong chương trình .
Biến toàn cục có thể được sử dụng ở đâu?Biến toàn cục có thể được sử dụng bởi mọi người, cả bên trong và bên ngoài hàm .
Các biến toàn cục có thể được sử dụng trong các tệp khác không?Để tránh sự cố. Khởi tạo — nếu một biến toàn cục được khai báo trong nhiều tệp nguồn trong thư viện, thì nó chỉ được khởi tạo ở một nơi duy nhất, nếu không bạn sẽ gặp lỗi trình biên dịch. Static — use the static keyword to make a global variable visible only to functions within the same source file whenever possible.
Tại sao chúng ta không nên sử dụng biến toàn cục trong Python?Lý do các biến toàn cục không tốt là vì chúng cho phép các chức năng có các tác dụng phụ ẩn (không rõ ràng, đáng ngạc nhiên, khó phát hiện, khó chẩn đoán), dẫn đến sự gia tăng . . |