Trong các ngôn ngữ lập trình như C/C++, mỗi khi một biến được khai báo đồng thời, một bộ nhớ sẽ được cấp phát, việc cấp phát này sẽ hoàn toàn phụ thuộc vào loại biến. Do đó, người lập trình phải chỉ định loại biến trong khi tạo biến. Nhưng may mắn là trong Python, bạn không cần phải làm điều đó. Python không có khai báo kiểu biến. Giống như con trỏ trong C, các biến trong Python không lưu trữ giá trị một cách hợp pháp; Show
chủ đề Danh sách các chủ đề sẽ được đề cập trong bài viết này được đưa ra dưới đây
Ngoài ra, trước khi bắt đầu tôi phải nói với bạn một điều. Toàn bộ mã của bài viết này có thể được tìm thấy trong Kho lưu trữ GitHub của tôi được cung cấp bên dưới Tanu-N-Prabhu/PythonPermalink Dismiss GitHub là nơi có hơn 50 triệu nhà phát triển làm việc cùng nhau để lưu trữ và xem xét mã, quản lý…github. com Biến Một biến có nhiều khả năng là một vùng chứa để lưu trữ các giá trị. Bây giờ các giá trị được lưu trữ phụ thuộc vào lập trình viên có sử dụng số nguyên, số float, chuỗi hay v.v.
cú phápCú pháp chung để tạo một biến trong Python như hình bên dưới The area of the circle is: 78.55 8 = The area of the circle is: 78.55 9The area of the circle is: 78.55 8 trong Python có thể ngắn ngọt ngào như pi = 3.142 # I could have also used "math" library (math.pi)1 hoặc có thể rất nhiều thông tin như pi = 3.142 # I could have also used "math" library (math.pi)2
Quy tắcTất cả đã được thiết lập và hoàn tất, có một số quy tắc mà bạn cần tuân theo khi đặt tên biến
Thí dụDưới đây đưa ra là một ví dụ để khởi tạo đúng một giá trị cho một biến # This is a valid and good way to assign a value to a variable Đầu ra của mã trên được đưa ra dưới đây The area of the circle is: 78.55 Ví dụ bằng hình ảnh (Hãy đọc lướt nhanh)Tôi tin rằng chỉ cần nhìn thấy một bức tranh hoặc một hình ảnh, các khái niệm có thể được hiểu nhanh hơn. Dưới đây là biểu diễn bằng hình ảnh của một biến và nó đang được lưu trữ trong bộ nhớ Biến toàn cục Cùng một định nghĩa cũTrong Python hay bất kỳ ngôn ngữ lập trình nào khác, định nghĩa về biến toàn cục vẫn được giữ nguyên, đó là “Biến được khai báo bên ngoài hàm được gọi là hàm toàn cục”. Chúng ta có thể truy cập một biến toàn cục bên trong hoặc bên ngoài hàm Tạo một biến toàn cầu và truy cập nóHãy sử dụng ví dụ tương tự ở trên để hiểu khái niệm truy cập biến bên trong và bên ngoài hàm pi = 3.142 # I could have also used "math" library (math.pi) Đầu ra cho đoạn mã trên được đưa ra dưới đây The circumference of the circle: 31.419999999999998 Đây là điểm đặc biệt của các biến toàn cầu. Như đã thấy trong ví dụ trên, tôi đã sử dụng hai biến chung là pi = 3.142 # I could have also used "math" library (math.pi)3 và pi = 3.142 # I could have also used "math" library (math.pi)4 để tính diện tích hình tròn được khai báo bên trong hàm và diện tích chu vi được tính bên ngoài hàm. Đối với cả hai phép tính này, chúng tôi đang sử dụng các biến chung giống nhau Tìm hiểu chi tiết về “UnboundLocalError”Bây giờ, hãy lấy cùng một ví dụ cũ và thử cập nhật pi = 3.142 # I could have also used "math" library (math.pi)4 với 2 (nhân với 2) pi = 3.142 # I could have also used "math" library (math.pi) Bây giờ tôi biết bạn có thể giống như “không cần thiết” của bước bổ sung này pi = 3.142 # I could have also used "math" library (math.pi)6 chúng ta có thể trực tiếp làm điều này trong bước đầu tiên bằng cách gán giá trị cho bán kính là 10 i. e. pi = 3.142 # I could have also used "math" library (math.pi)7. Tôi biết nhưng tôi đang cố gắng giới thiệu một khái niệm ở đây. Xin vui lòng chịu với tôi Như đã thấy trong đoạn mã trên, nếu bạn cố cập nhật bán kính và sau đó thực thi đoạn mã này, bạn sẽ ngạc nhiên. Đừng phấn khích và nói “Tôi đã làm được rồi” bởi vì bạn đã không làm như vậy, thay vào đó bạn sẽ bị nhắc nhở bởi một lỗi có tên là The area of the circle is: 78.55 6. Nhiều khả năng lỗi trông như thế nàyUnboundLocalError: local variable 'radius' referenced before assignment Lý do cho lỗi này là biến pi = 3.142 # I could have also used "math" library (math.pi)4 là cục bộ và nó không thể được cập nhật như trên. Tại đây, bạn có thể biến nó thành một biến toàn cục. Bây giờ làm thế nào để làm điều đó. Vui lòng xem đoạn mã dưới đây pi = 3.142 # I could have also used "math" library (math.pi) Bây giờ khi bạn thực thi mã, nó sẽ thực thi mà không gặp vấn đề gì. Bởi vì bây giờ nó được khai báo rõ ràng là một biến toàn cục. Đầu ra của mã trên được đưa ra dưới đây The area of the circle is: 314.2 Thời gian để kiểm tra kiến thức của bạn trong thời gian dài. Hai năm trước, có một câu hỏi được hỏi trong Stack Overflow về The area of the circle is: 78.55 6. Biểu mẫu hiện đã đóng để trả lời vì đã có rất nhiều câu trả lời. Bạn có thể nhảy vào đó và cố gắng trả lời nó và hiểu nó rõ ràng hơnBiến cục bộ Cùng một định nghĩa cũTrong Python hay bất kỳ ngôn ngữ lập trình nào khác, định nghĩa về biến cục bộ vẫn được giữ nguyên, đó là “Biến được khai báo bên trong hàm được gọi là hàm cục bộ”. Chúng ta có thể truy cập một biến cục bộ bên trong nhưng không thể truy cập bên ngoài chức năng Tạo một biến cục bộ và truy cập nóChúng tôi sử dụng các biến cục bộ bên trong một hàm và không cố truy cập chúng bên ngoài các hàm đó. Do đó tên địa phương. Nhưng phần tốt là chúng ta có thể truy cập các biến đó trong chính các hàm def circle(): pi = 3.142 # I could have also used "math" library (math.pi) Đầu ra của đoạn mã trên là The area of the circle is: 78.55 Đây là điểm đặc biệt của các biến cục bộ. Như đã thấy trong ví dụ trên, tôi đã sử dụng hai biến chung là pi = 3.142 # I could have also used "math" library (math.pi)3 và pi = 3.142 # I could have also used "math" library (math.pi)4 để tính diện tích hình tròn được khai báo bên trong một hàm. Vì vậy, việc truy cập các biến này sẽ không tạo ra bất kỳ vấn đề nào. Nhưng điều gì sẽ xảy ra nếu chúng ta cố gắng truy cập chúng bên ngoài chức năng. Xem phần tiếp theo bên dưới Tìm hiểu chi tiết về “NameError”Hãy sử dụng cùng một ví dụ ở trên và truy cập các biến được khai báo bên trong hàm The area of the circle is: 78.55 0Khi bạn thực thi đoạn mã trên, bạn sẽ được nhắc bởi một The area of the circle is: 78.55 7. Nhiều khả năng lỗi trông như thế nàyThe area of the circle is: 78.55 1Lý do cho lỗi này là do chúng tôi đang cố gắng truy cập một biến cục bộ pi = 3.142 # I could have also used "math" library (math.pi)3 và pi = 3.142 # I could have also used "math" library (math.pi)4 trong phạm vi toàn cục trong khi biến cục bộ chỉ hoạt động bên trong The circumference of the circle: 31.419999999999998 6 hoặc phạm vi cục bộ. Có một cách giải quyết là khai báo pi = 3.142 # I could have also used "math" library (math.pi)3 và pi = 3.142 # I could have also used "math" library (math.pi)4 là toàn cục hoặc khai báo chúng ngoài hàm. Trường hợp bất kỳ chức năng nào có thể truy cập chúng Biến không cục bộ Cùng một định nghĩa cũTrong Python hay bất kỳ ngôn ngữ lập trình nào khác, chúng ta thường sử dụng biến nonlocal bên trong các hàm lồng nhau. Bây giờ, tôi muốn nói gì về hàm lồng nhau? Hàm lồng nhauNói chung, một hàm lồng nhau là một tập hợp các hàm được khai báo bên trong một hàm khác. Đưa ra dưới đây là một ví dụ về một chức năng lồng nhau The area of the circle is: 78.55 2Khi thực thi đoạn mã này, bạn sẽ nhận được kết quả như sau The area of the circle is: 78.55 3Tạo một biến không cục bộ và truy cập nóBây giờ chúng ta hãy thử cập nhật bán kính bằng 2 (nhân với 2) bên trong The circumference of the circle: 31.419999999999998 9. Lý do mà tôi đặc biệt nhấn mạnh để làm điều này bởi vì ngay khi bạn viết pi = 3.142 # I could have also used "math" library (math.pi)6 và chạy mã, bạn sẽ được nhắc bởi The area of the circle is: 78.55 6 nhìn thấy điều này, bạn sẽ thay đổi nó thành một biến toàn cục bằng cách nói pi = 3.142 # I could have also used "math" library (math.pi)2 nhưng lần này bạn sẽ gặp một lỗi mới . Và lúc này bạn sẽ bối rối không biết phải làm sao. Có một cách đơn giản để giải quyết vấn đề này “Hãy đọc định nghĩa của một biến không cục bộ”. Bất cứ khi nào có một hàm lồng nhau, bạn cần sử dụng biến pi = 3.142 # I could have also used "math" library (math.pi)4. Đó là vấn đề đã được giải quyết. Dưới đây là cách để tạo một biến nonlocal và truy cập nó The area of the circle is: 78.55 4Khi thực thi mã này, bạn sẽ nhận được đầu ra là The area of the circle is: 78.55 5Phần kết luận Đến đây là phần cuối của bài viết có tiêu đề “Biến toàn cục, cục bộ và không cục bộ trong Python”. Tôi hy vọng các bạn đã học được một hoặc hai điều bằng cách đọc bài viết này. Thông qua bài viết này, bạn đã học được cách loại bỏ hai lỗi Python quan trọng như The area of the circle is: 78.55 7 và The area of the circle is: 78.55 6 đã làm phiền bạn suốt những ngày này, năm nọ hoặc bất cứ điều gì. Giờ đây, bạn có thể dễ dàng gỡ lỗi hai lỗi này với nụ cười trên môi mà không tốn một giọt mồ hôi. Nếu bạn có bất kỳ nhận xét hoặc đề xuất nào về bài viết này, thì phần bình luận là của bạn. Hãy theo dõi để biết thêm thông tin cập nhật, cho đến lúc đó tạm biệt. Giữ an toàn và mã hóa vui vẻ và hẹn gặp lại bạn lần sau
Bạn có thể khai báo biến toàn cục trong Python không?Biến toàn cục trong Python thường được khai báo ở đầu chương trình . Nói cách khác, các biến được khai báo bên ngoài hàm được gọi là biến toàn cục. Bạn có thể truy cập các biến toàn cục trong Python cả bên trong và bên ngoài hàm.
Biến cục bộ có thể là biến toàn cục Python không?Chương trình có thể sử dụng cùng một tên biến cho cả biến cục bộ và biến toàn cục . Trong trường hợp như vậy, biến cục bộ sẽ được đọc trong phạm vi cục bộ và biến toàn cục sẽ được đọc trong phạm vi toàn cầu.
Biến toàn cục có ghi đè biến cục bộ trong Python không?Các biến ĐỊA PHƯƠNG chỉ có thể truy cập được trong chính hàm đó. Vì vậy, theo thuật ngữ thông thường, biến TOÀN CẦU sẽ thay thế biến ĐỊA PHƯƠNG trong mã ĐẦU TIÊN của bạn ở trên.
Làm cách nào để khai báo một biến toàn cục trong Python mà không cần khởi tạo?Để khai báo một biến không có biến nào, chỉ cần gán Không có. . cú pháp. tên_biến = Không có Thí dụ. số = Không có Hãy hiểu thông qua một chương trình. . Giá trị đầu ra của số. Không có gì Giá trị của num. 100 cái gì đó |