Get the App
SLTechnology News&Howtos  ›  Development  › 

What does the python free variable mean?

Shulou Source: shulou.com Published: 2022-05-31 17:46:10 09月16日 Update

This article mainly introduces "what python free variables refer to". In daily operation, I believe many people have doubts about what python free variables refer to. Xiaobian consulted various materials and sorted out simple and easy operation methods. I hope to help you answer the doubts of "what python free variables refer to"! Next, please follow the small series to learn together!

A free variable is a variable that is not bound to a local scope. If the value of a free variable binding is mutable, the variable can still be manipulated in an enclosing package. If immutable (numbers, strings, etc.), Rebinding a free variable in an enclosing package causes an error.

def make_averager():count = 0total = 0def averager(new_value):count += 1total += new_valuereturn total / countreturn averager >>> avg = make_averager()>>> avg(10)Traceback (most recent call last):... UnboundLocalError: local variable 'count' referenced before assignment

In order to mark variables as free variables, nonlocal statements can be used to declare them, and nonlocal statements can be solved.

def make_averager(): count = 0 total = 0 def averager(new_value): nonlocal count, total #Declare count and total as free variables count += 1 total += new_value return total / count Return averager At this point, the study of "what python free variables refer to" is over, hoping to solve everyone's doubts. Theory and practice can better match to help you learn, go and try it! If you want to continue learning more relevant knowledge, please continue to pay attention to the website, Xiaobian will continue to strive to bring more practical articles for everyone!

Tags: Variables freedom learning more statements variable help practical next functions characters strings numbers articles methods tags theory knowledge articles websites Apple Docker Huawei Linux macOS MariaDB Microsoft MySQL NVidia OPPO Reno MySQL macOS Apple Shulou Technology OPPO Reno