Tóm lược. Sử dụng từ khóa
x= 25 y= 508 để khai báo biến toàn cục bên trong phạm vi cục bộ của hàm để có thể sửa đổi hoặc sử dụng nó bên ngoài hàm. Để sử dụng các biến toàn cục trên các mô-đun, hãy tạo một mô-đun cấu hình đặc biệt và nhập mô-đun đó vào chương trình chính của chúng ta. Mô-đun có sẵn dưới dạng tên chung trong chương trình của chúng tôi. Vì mỗi mô-đun có một phiên bản duy nhất, mọi thay đổi đối với đối tượng mô-đun sẽ được phản ánh ở mọi nơi
Vấn đề. Đưa ra một chức năng;
Ví dụ
def foo[]: # Some syntax to declare the GLOBAL VARIABLE "x" x = 25 # Assigning the value to the global variable "x" def func[]: # Accessing global variable defined in foo[] y = x+25 print["x=",x,"y=",y] foo[] func[]
Sản lượng dự kiến
x= 25 y= 50
Trong ví dụ trên, chúng ta đã được cung cấp một hàm có tên là
x= 25 y= 509 trả về một biến toàn cục
def foo[]: global x x = 25 def func[]: y = x+25 print["x=",x,"y=",y] foo[] func[]0sao cho giá trị của
def foo[]: global x x = 25 def func[]: y = x+25 print["x=",x,"y=",y] foo[] func[]0 có thể được sử dụng bên trong một hàm khác có tên là
def foo[]: global x x = 25 def func[]: y = x+25 print["x=",x,"y=",y] foo[] func[]2. Chúng ta hãy xem nhanh cách chúng ta có thể sử dụng từ khóa
x= 25 y= 508 để giải quyết vấn đề của mình
Dung dịch. Sử dụng từ khóa toàn cầu
Chúng ta có thể sử dụng
x= 25 y= 508 làm tiền tố cho bất kỳ biến nào để biến nó thành toàn cầu trong phạm vi cục bộ
def foo[]: global x x = 25 def func[]: y = x+25 print["x=",x,"y=",y] foo[] func[]
đầu ra
x= 25 y= 50
Làm cách nào để sử dụng biến toàn cầu bên trong hàm Python?
Xem video này trên YouTube
Bây giờ chúng ta đã biết giải pháp của mình, chúng ta phải xem qua một số khái niệm cơ bản cần thiết để hiểu rõ về giải pháp của mình. Vì vậy, không chậm trễ hơn nữa, chúng ta hãy thảo luận từng cái một
🌍 Hướng dẫn đề xuất. Làm cách nào để trả về biến toàn cục và biến cục bộ từ hàm Python?
Phạm vi biến trong Python
Phạm vi của một biến là khu vực hoặc một phần của chương trình mà biến có thể được truy cập trực tiếp. Hãy để chúng tôi thảo luận về các phạm vi biến khác nhau có sẵn trong Python
❖ Phạm vi địa phương
Khi một biến được tạo bên trong một hàm, nó chỉ khả dụng trong phạm vi của hàm đó và không còn tồn tại nếu được sử dụng bên ngoài hàm. Như vậy biến thuộc phạm vi cục bộ của hàm
def foo[]: # Some syntax to declare the GLOBAL VARIABLE "x" x = 25 # Assigning the value to the global variable "x" def func[]: # Accessing global variable defined in foo[] y = x+25 print["x=",x,"y=",y] foo[] func[]1
đầu ra
def foo[]: # Some syntax to declare the GLOBAL VARIABLE "x" x = 25 # Assigning the value to the global variable "x" def func[]: # Accessing global variable defined in foo[] y = x+25 print["x=",x,"y=",y] foo[] func[]2
❖ Phạm vi kèm theo
Một phạm vi kèm theo xảy ra khi chúng ta có các hàm lồng nhau. Khi biến nằm trong phạm vi của hàm bên ngoài, điều đó có nghĩa là biến đó nằm trong phạm vi kèm theo của hàm. Do đó, biến có thể nhìn thấy trong phạm vi của các hàm bên trong và bên ngoài
Ví dụ
def foo[]: # Some syntax to declare the GLOBAL VARIABLE "x" x = 25 # Assigning the value to the global variable "x" def func[]: # Accessing global variable defined in foo[] y = x+25 print["x=",x,"y=",y] foo[] func[]3
đầu ra
def foo[]: # Some syntax to declare the GLOBAL VARIABLE "x" x = 25 # Assigning the value to the global variable "x" def func[]: # Accessing global variable defined in foo[] y = x+25 print["x=",x,"y=",y] foo[] func[]4
Trong ví dụ trên, biến
def foo[]: global x x = 25 def func[]: y = x+25 print["x=",x,"y=",y] foo[] func[]5 nằm trong phạm vi kèm theo của hàm
x= 25 y= 509 và có sẵn bên trong hàm
x= 25 y= 509 cũng như hàm
def foo[]: global x x = 25 def func[]: y = x+25 print["x=",x,"y=",y] foo[] func[]2
❖ Phạm vi toàn cầu
Biến toàn cục là một biến được khai báo trong phạm vi toàn cầu và có thể được sử dụng trong toàn bộ chương trình; . Một biến toàn cục thường được khai báo bên ngoài các hàm, trong phần thân chính của mã Python
Ví dụ
def foo[]: # Some syntax to declare the GLOBAL VARIABLE "x" x = 25 # Assigning the value to the global variable "x" def func[]: # Accessing global variable defined in foo[] y = x+25 print["x=",x,"y=",y] foo[] func[]9
đầu ra
x= 25 y= 500
Trong ví dụ trên,
def foo[]: global x x = 25 def func[]: y = x+25 print["x=",x,"y=",y] foo[] func[]9 là một biến toàn cục có thể được truy cập bên trong cũng như bên ngoài phạm vi của hàm foo[]. Hãy kiểm tra điều gì sẽ xảy ra nếu bạn cố gắng thay đổi giá trị của biến toàn cục
def foo[]: global x x = 25 def func[]: y = x+25 print["x=",x,"y=",y] foo[] func[]9 bên trong hàm
x= 25 y= 500
đầu ra
x= 25 y= 501
Chúng tôi nhận được một
x= 25 y= 501 trong trường hợp này, bởi vì Python coi
def foo[]: global x x = 25 def func[]: y = x+25 print["x=",x,"y=",y] foo[] func[]9 là một biến cục bộ bên trong
x= 25 y= 509 và
def foo[]: global x x = 25 def func[]: y = x+25 print["x=",x,"y=",y] foo[] func[]9 không được xác định bên trong
x= 25 y= 509. Nếu bạn muốn tìm hiểu thêm về UnboundLocalError và cách giải quyết nó, vui lòng đọc nó trong hướng dẫn trên blog của chúng tôi tại đây
❖ Phạm vi tích hợp
Phạm vi tích hợp là phạm vi rộng nhất có sẵn trong python và chứa các từ khóa, hàm, ngoại lệ và các thuộc tính khác được tích hợp trong Python. Các tên trong phạm vi tích hợp có sẵn trên toàn bộ chương trình python. Nó được tải tự động tại thời điểm thực thi chương trình/tập lệnh Python
Ví dụ
x= 25 y= 502
đầu ra
x= 25 y= 503
Trong ví dụ trên, chúng tôi đã không nhập bất kỳ mô-đun nào để sử dụng các chức năng
x= 25 y= 506 hoặc
x= 25 y= 507. Điều này là do cả hai đều nằm trong phạm vi tích hợp
Đã thảo luận về phạm vi biến trong Python, chúng ta hãy thảo luận về một vài từ khóa rất quan trọng trong Python liên quan đến phạm vi biến
Sử dụng các biến toàn cục bên trong một hàm bằng cách sử dụng từ khóa toàn cục
Chúng ta đã đọc về phạm vi toàn cầu, nơi chúng ta biết rằng mọi biến được khai báo trong phần thân chính và bên ngoài bất kỳ hàm nào trong mã Python đều là toàn cục theo mặc định. Tuy nhiên, nếu chúng ta gặp tình huống cần khai báo một biến toàn cục bên trong một hàm như trong phần trình bày vấn đề của bài viết này, thì từ khóa global sẽ giải cứu cho chúng ta. Chúng tôi sử dụng
x= 25 y= 508 bên trong một hàm để tạo một biến toàn cục trong phạm vi cục bộ. Điều này có nghĩa là từ khóa toàn cục cho phép chúng ta sửa đổi và sử dụng một biến nằm ngoài phạm vi của hàm mà nó đã được xác định
Bây giờ chúng ta hãy xem chương trình sau để hiểu cách sử dụng của từ khóa
x= 25 y= 508
x= 25 y= 504
đầu ra
x= 25 y= 505
Trong ví dụ trên, chúng ta có một tên biến toàn cục được khai báo bên trong phạm vi cục bộ của hàm foo[]. Chúng ta có thể truy cập và sửa đổi biến này bên ngoài phạm vi của biến này như đã thấy trong ví dụ trên
❃ ĐIỂM CẦN LƯU Ý
- Một biến được định nghĩa bên ngoài một hàm là toàn cục theo mặc định
- Để định nghĩa một biến toàn cục bên trong một hàm, chúng ta sử dụng từ khóa
x= 25 y= 50
8 - Một biến bên trong một hàm không có từ khóa
x= 25 y= 50
8 là cục bộ theo mặc định - Sử dụng từ khóa
x= 25 y= 50
8 cho một biến đã có trong phạm vi toàn cầu, tôi. e. , bên ngoài hàm không có tác dụng với biến
Biến toàn cầu trên các mô-đun
Để chia sẻ thông tin giữa các mô-đun Python trong cùng một đoạn mã, chúng ta cần tạo một mô-đun cấu hình đặc biệt, được gọi là mô-đun config hoặc cfg. Chúng tôi phải nhập mô-đun này vào chương trình của mình. Sau đó, mô-đun có sẵn dưới dạng tên chung trong chương trình của chúng tôi. Bởi vì mỗi mô-đun có một phiên bản duy nhất, mọi thay đổi đối với đối tượng mô-đun sẽ được phản ánh ở mọi nơi
Chúng ta hãy xem ví dụ sau để hiểu cách chúng ta có thể chia sẻ các biến toàn cục giữa các mô-đun
Bước 1. cấu hình. tệp py được sử dụng để lưu trữ các biến toàn cục
Bước 2. biến đổi. tệp py được sử dụng để thay đổi các biến toàn cục
Bước 3. chủ yếu. tệp py được sử dụng để áp dụng và sử dụng các giá trị đã thay đổi của biến toàn cục
Đầu ra sau khi thực hiện
def foo[]: # Some syntax to declare the GLOBAL VARIABLE "x" x = 25 # Assigning the value to the global variable "x" def func[]: # Accessing global variable defined in foo[] y = x+25 print["x=",x,"y=",y] foo[] func[]13
Từ khóa không phải cục bộ từ khóa
Từ khóa
def foo[]: # Some syntax to declare the GLOBAL VARIABLE "x" x = 25 # Assigning the value to the global variable "x" def func[]: # Accessing global variable defined in foo[] y = x+25 print["x=",x,"y=",y] foo[] func[]14 rất hữu ích khi chúng ta có một hàm lồng nhau, tôi. e. , các hàm có biến trong phạm vi kèm theo. Nói cách khác, nếu bạn muốn thay đổi/chỉnh sửa một biến nằm trong phạm vi của hàm bao quanh [hàm bên ngoài], thì bạn có thể sử dụng từ khóa
def foo[]: # Some syntax to declare the GLOBAL VARIABLE "x" x = 25 # Assigning the value to the global variable "x" def func[]: # Accessing global variable defined in foo[] y = x+25 print["x=",x,"y=",y] foo[] func[]14
Ví dụ
x= 25 y= 506
đầu ra
x= 25 y= 507
Từ ví dụ trên, rõ ràng là nếu chúng ta thay đổi giá trị của biến
def foo[]: # Some syntax to declare the GLOBAL VARIABLE "x" x = 25 # Assigning the value to the global variable "x" def func[]: # Accessing global variable defined in foo[] y = x+25 print["x=",x,"y=",y] foo[] func[]14 thì giá trị của biến
def foo[]: # Some syntax to declare the GLOBAL VARIABLE "x" x = 25 # Assigning the value to the global variable "x" def func[]: # Accessing global variable defined in foo[] y = x+25 print["x=",x,"y=",y] foo[] func[]17 cũng thay đổi
Phần kết luận
Những điểm chính mà chúng tôi đã học được trong bài viết này là
- Phạm vi biến
- Phạm vi địa phương
- Phạm vi kèm theo
- Phạm vi toàn cầu
- Phạm vi tích hợp
- Từ khóa quan trọng
- Từ khóa
x= 25 y= 50
8- Làm cách nào để sử dụng một biến toàn cục bên trong một hàm?
- Làm cách nào để sử dụng biến toàn cục trên các mô-đun?
- Từ khóa
def foo[]: # Some syntax to declare the GLOBAL VARIABLE "x" x = 25 # Assigning the value to the global variable "x" def func[]: # Accessing global variable defined in foo[] y = x+25 print["x=",x,"y=",y] foo[] func[]
14
- Từ khóa
Phạm vi của các biến trong Python
Xem video này trên YouTube
Tôi hy vọng bạn thấy bài viết này hữu ích và bạn có thể dễ dàng áp dụng các khái niệm trên trong mã của mình. Hãy đăng ký và theo dõi để có nhiều bài viết thú vị hơn
Đi đâu từ đây?
Đủ lý thuyết. Hãy thực hành một số
Các lập trình viên được trả sáu con số trở lên vì họ có thể giải quyết vấn đề hiệu quả hơn bằng cách sử dụng trí thông minh máy móc và tự động hóa
Để trở nên thành công hơn trong việc viết mã, hãy giải quyết nhiều vấn đề thực tế hơn cho người thực. Đó là cách bạn trau dồi những kỹ năng bạn thực sự cần trong thực tế. Rốt cuộc, việc sử dụng lý thuyết học tập mà không ai cần là gì?
Bạn xây dựng các kỹ năng mã hóa có giá trị cao bằng cách làm việc trên các dự án mã hóa thực tế
Bạn có muốn ngừng học với các dự án đồ chơi và tập trung vào các dự án mã thực tế giúp bạn kiếm tiền và giải quyết các vấn đề thực sự cho mọi người không?
🚀 Nếu câu trả lời của bạn là CÓ. , cân nhắc trở thành nhà phát triển Python tự do. Đó là cách tốt nhất để tiếp cận nhiệm vụ cải thiện kỹ năng Python của bạn—ngay cả khi bạn là người mới hoàn toàn
Nếu bạn chỉ muốn tìm hiểu về cơ hội làm việc tự do, vui lòng xem hội thảo trên web miễn phí của tôi “Cách xây dựng kỹ năng Python có thu nhập cao của bạn” và tìm hiểu cách tôi phát triển công việc viết mã của mình trực tuyến cũng như cách bạn có thể làm được—từ sự thoải mái của bạn
Tham gia hội thảo trên web miễn phí ngay bây giờ
Shubham Sayon
Tôi là một người tạo nội dung và Blogger Python chuyên nghiệp. Tôi đã xuất bản nhiều bài báo và tạo các khóa học trong một khoảng thời gian. Hiện tại tôi đang làm việc với tư cách là một freelancer toàn thời gian và tôi có kinh nghiệm trong các lĩnh vực như Python, AWS, DevOps và Networking