Biến toàn cục python 3 trong mô-đun

Tóm lược. Sử dụng từ khóa

x= 25 y= 50
8 để 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= 50
9 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= 50
8 để 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= 50
8 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= 50
9 và có sẵn bên trong hàm
x= 25 y= 50
9 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= 50
0

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= 50
0

đầu ra

x= 25 y= 50
1

Chúng tôi nhận được một

x= 25 y= 50
1 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= 50
9 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= 50
9. 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= 50
2

đầu ra

x= 25 y= 50
3

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= 50
6 hoặc
x= 25 y= 50
7. Đ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= 50
8 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= 50
8

x= 25 y= 50
4

đầu ra

x= 25 y= 50
5

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= 50
6

đầu ra

x= 25 y= 50
7

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à

  1. 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
  2. Từ khóa quan trọng
    • Từ khóa
      x= 25 y= 50
      8
      1. Làm cách nào để sử dụng một biến toàn cục bên trong một hàm?
      2. 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

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

Mô-đun Python có thể có biến toàn cục không?

Bạn có thể tạo một biến có phạm vi toàn cầu bằng cách khởi tạo bên ngoài tất cả các hàm trong chương trình python . Và bạn có thể truy cập biến từ bất kỳ đâu trong chương trình python.

Các biến toàn cầu có được chia sẻ giữa các mô-đun không?

Tôi có thể chia sẻ biến toàn cục trên các tệp khác nhau không? . the global variable is unique to its own module.

Chủ Đề