Hướng dẫn can you use a variable in a function python? - bạn có thể sử dụng một biến trong hàm python không?

Nếu tôi tạo một biến toàn cầu trong một hàm, làm thế nào tôi có thể sử dụng biến đó trong một hàm khác?

Chúng ta có thể tạo một toàn cầu với chức năng sau:

Show
def create_global_variable():
    global global_variable # must declare it to be a global first
    # modifications are thus reflected on the module's global scope
    global_variable = 'Foo' 

Viết một chức năng không thực sự chạy mã của nó. Vì vậy, chúng tôi gọi hàm

>>> create_global_variable()
2:

>>> create_global_variable()

Sử dụng Globals mà không cần sửa đổi

Bạn chỉ có thể sử dụng nó, miễn là bạn không mong đợi thay đổi đối tượng mà nó chỉ vào:

Ví dụ,

def use_global_variable():
    return global_variable + '!!!'

Và bây giờ chúng ta có thể sử dụng biến toàn cầu:

>>> use_global_variable()
'Foo!!!'

Sửa đổi biến toàn cầu từ bên trong một hàm

Để trỏ biến toàn cầu ở một đối tượng khác, bạn được yêu cầu sử dụng từ khóa toàn cầu một lần nữa:

def change_global_variable():
    global global_variable
    global_variable = 'Bar'

Lưu ý rằng sau khi viết chức năng này, mã thực sự thay đổi nó vẫn chưa chạy:

>>> use_global_variable()
'Foo!!!'

Vì vậy, sau khi gọi chức năng:

>>> change_global_variable()

Chúng ta có thể thấy rằng biến toàn cầu đã được thay đổi. Tên

>>> create_global_variable()
3 bây giờ trỏ đến
>>> create_global_variable()
4:

>>> use_global_variable()
'Bar!!!'

Lưu ý rằng "toàn cầu" trong Python không thực sự toàn cầu - nó chỉ là toàn cầu đối với cấp độ mô -đun. Vì vậy, nó chỉ có sẵn cho các chức năng được viết trong các mô -đun mà nó là toàn cầu. Các chức năng ghi nhớ mô -đun mà chúng được viết, vì vậy khi chúng được xuất sang các mô -đun khác, chúng vẫn nhìn vào mô -đun mà chúng được tạo để tìm các biến toàn cầu.

Các biến cục bộ có cùng tên

Nếu bạn tạo một biến cục bộ có cùng tên, nó sẽ làm lu mờ một biến toàn cầu:

def use_local_with_same_name_as_global():
    # bad name for a local variable, though.
    global_variable = 'Baz' 
    return global_variable + '!!!'

>>> use_local_with_same_name_as_global()
'Baz!!!'

Nhưng việc sử dụng biến cục bộ bị tên là không thay đổi biến toàn cầu:

>>> use_global_variable()
'Bar!!!'

Lưu ý rằng bạn nên tránh sử dụng các biến cục bộ có cùng tên với Globals trừ khi bạn biết chính xác những gì bạn đang làm và có một lý do rất chính đáng để làm như vậy. Tôi chưa gặp phải một lý do như vậy.

Chúng tôi có được hành vi tương tự trong các lớp học

Theo dõi bình luận hỏi:

Phải làm gì nếu tôi muốn tạo một biến toàn cầu bên trong một hàm bên trong một lớp và muốn sử dụng biến đó bên trong một hàm khác bên trong một lớp khác?

Ở đây tôi chứng minh rằng chúng ta có được hành vi tương tự trong các phương pháp như chúng ta thực hiện trong các chức năng thông thường:

>>> create_global_variable()
0

Và bây giờ:

>>> create_global_variable()
1

Nhưng tôi sẽ đề xuất thay vì sử dụng các biến toàn cầu bạn sử dụng các thuộc tính lớp, để tránh làm lộn xộn không gian tên mô -đun. Cũng lưu ý rằng chúng tôi không sử dụng các đối số

>>> create_global_variable()
5 ở đây - đây có thể là các phương thức lớp (tiện dụng nếu biến đổi thuộc tính lớp từ đối số
>>> create_global_variable()
6 thông thường) hoặc các phương thức tĩnh (không
>>> create_global_variable()
5 hoặc
>>> create_global_variable()
6).

Python cũng sử dụng các biến để giữ dữ liệu. Họ cũng có một tên và một loại; Tuy nhiên, trong Python, bạn không phải khai báo loại dữ liệu. Thay vào đó, bạn có thể tạo một biến Python như sau.

class_number = 4;

Trong ví dụ trên, biến 'class_number' có giá trị là 4; Nó là một loại dữ liệu số nguyên. Và không giống như các ngôn ngữ lập trình khác, bạn không cần phải khai báo một biến mà không khởi tạo. & NBSP;

Phạm vi biến trong Python có nghĩa là gì?

Phạm vi biến có nghĩa là khu vực trong đó các phần của chương trình có thể truy cập biến. Có bốn phạm vi thay đổi trong Python:

  1. Địa phương
  2. Toàn cầu
  3. Kèm theo
  4. Built-in

Trong bài viết này, bạn sẽ tìm hiểu hai loại đầu tiên. Bạn sẽ học cách tạo các biến Python với phạm vi địa phương và toàn cầu.

Biến toàn cầu trong Python là gì?

Trong thế giới lập trình, một biến toàn cầu về Python có nghĩa là có phạm vi trong suốt chương trình, tức là, giá trị biến toàn cầu có thể truy cập trong suốt chương trình trừ khi bị che mờ. & NBSP; & NBSP;

Một biến toàn cầu trong Python thường được tuyên bố là đỉnh của 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ầu.

Bạn có thể truy cập các biến toàn cầu trong python cả bên trong và bên ngoài hàm. & Nbsp; & nbsp;

Syntax:

X = “SampleGlobalValue”

Def fn1 ():

Làm thế nào để tạo các biến toàn cầu trong Python?

Để tạo một biến toàn cầu trong Python, bạn cần khai báo biến bên ngoài hàm hoặc trong phạm vi toàn cầu.

Example: 

GlobalVariableinPython_1

Output:

GlobalVariableinPython_2 

Làm thế nào để truy cập biến toàn cầu bên trong và bên ngoài chức năng?

Example:

GlobalVariableinPython_3 

Output:

GlobalVariableinPython_4 

Trong ví dụ được mô tả ở trên, bạn đã thấy một biến toàn cầu được khai báo và truy cập cả bên trong và bên ngoài hàm. & NBSP; & NBSP;

Vì vậy, bạn đang truy cập giá trị cả bên trong và bên ngoài hàm, điều này là tốt, nhưng điều gì xảy ra nếu bạn cố gắng sửa đổi giá trị biến phạm vi toàn cầu bên trong một hàm? & NBSP;

Xem ví dụ được đề cập dưới đây để hiểu tốt hơn. & NBSP;

Example:

GlobalVariableinPython_5. 

Output:

GlobalVariableinPython_6 

Như nó là hiển nhiên, điều này ném một lỗi. Khi bạn cố gắng sửa đổi giá trị biến toàn cầu bên trong một hàm, nó sẽ ném không liên kết, bởi vì trong khi sửa đổi Python xử lý X như một biến cục bộ, nhưng X cũng không được xác định bên trong hàm (myfunc ()).

Đó là nơi mà từ khóa toàn cầu đi vào hình ảnh. Bạn sẽ thấy việc sử dụng các từ khóa toàn cầu trong các phần sau.

Làm thế nào để tạo các biến với phạm vi cục bộ trong Python với các ví dụ?

Phạm vi của biến cục bộ là một hàm mà bạn đã khai báo nó. Để truy cập biến, bạn phải gọi hàm tương ứng. Ví dụ: bạn có thể tạo một biến cục bộ như hình dưới đây.

Def Superfunc ()

#Xác định một chức năng

x = tuyệt vời

#Xác định một biến cục bộ

in ("Python là" + x)

#truy cập một biến cục bộ

superfunc()

#calling hàm

Từ khóa toàn cầu

Từ khóa toàn cầu được sử dụng để sửa đổi biến toàn cầu ngoài phạm vi và ý nghĩa hiện tại của nó. Nó được sử dụng để thực hiện các thay đổi trong biến toàn cầu trong bối cảnh địa phương. Từ khóa ’toàn cầu cũng được sử dụng để tạo hoặc khai báo một biến toàn cầu bên trong một hàm. & Nbsp; & nbsp;

Thông thường, khi bạn tạo một biến bên trong một hàm (một biến cục bộ), nó chỉ có thể được sử dụng trong hàm đó. Đó là nơi mà từ khóa toàn cầu xuất hiện trong vở kịch, giúp tạo ra các biến toàn cầu bên trong hàm và có thể truy cập được trong phạm vi toàn cầu.

Syntax:

Def func ():

Biến toàn cầu

Ví dụ 1:

Sử dụng một từ khóa toàn cầu để tạo một biến trong phạm vi toàn cầu.

GlobalVariableinPython_7 

Output:

GlobalVariableinPython_8 

Ví dụ 2:

Sử dụng từ khóa toàn cầu để thay đổi giá trị của biến toàn cầu bên trong hàm.

GlobalVariableinPython_9 

Output:

GlobalVariableinPython_10 

Bạn đã thấy các từ khóa toàn cầu là gì, các ví dụ của họ và cách sử dụng các từ khóa toàn cầu. Nhưng Python có một số quy tắc cơ bản để sử dụng từ khóa ‘toàn cầu.

Hãy cùng xem toàn cầu trong các chức năng lồng nhau.

Khi bạn khai báo một biến từ khóa toàn cầu bên trong hàm lồng nhau và khi bạn thay đổi biến từ khóa toàn cầu bên trong hàm lồng nhau, nó sẽ phản ánh bên ngoài phạm vi cục bộ, vì nó được sử dụng làm từ khóa toàn cầu.

Example:

Hãy xem một ví dụ cho toàn cầu trong các chức năng lồng nhau.

GlobalVariableinPython_11 

Output:

GlobalVariableinPython_12. 

Bạn có thể thấy đầu ra ở trên cho toàn cầu trong các chức năng lồng nhau. Nhưng có lẽ một lời giải thích nhanh chóng sẽ giúp hiểu rõ hơn.

Bạn đã khai báo biến toàn cầu bên trong hàm bên trong (), được lồng bên trong hàm chính ().

Trước và sau khi gọi bên trong (), biến 'integ' lấy giá trị của biến cục bộ chính, tức là integ = 20. bên ngoài hàm chính (), biến 'integ' lấy giá trị của từ khóa toàn cầu được khai báo bên trong hàm bên trong (), tức là, integ = 20 Khi bạn sử dụng từ khóa toàn cầu bên trong phạm vi cục bộ hàm bên trong (). Nếu bạn thực hiện bất kỳ thay đổi nào bên trong biến từ khóa toàn cầu trong bên trong (), sẽ phản ánh bên ngoài phạm vi, như một hành vi của từ khóa toàn cầu.

Các quy tắc cơ bản của từ khóa ‘toàn cầu như sau:

  • Khi bạn tạo một biến bên trong hàm, nó nằm trong bối cảnh cục bộ theo mặc định
  • Khi bạn tạo hoặc xác định một biến bên ngoài hàm, theo mặc định, đó là bối cảnh toàn cầu, không cần phải có từ khóa toàn cầu ở đây
  • Các từ khóa toàn cầu có thể được sử dụng để đọc hoặc sửa đổi biến toàn cầu bên trong hàm
  • Sử dụng từ khóa toàn cầu bên ngoài chức năng không sử dụng hoặc không có hiệu lực.

Làm thế nào bạn có thể tạo các biến bằng phạm vi toàn cầu trong Python với các ví dụ?

Bạn có thể tạo một biến với phạm vi toàn cầu bằng cách khởi tạo bên ngoài tất cả các chức năng trong chương trình Python. Và bạn có thể truy cập biến từ bất cứ nơi nào trong chương trình Python. & NBSP;

Tạo một biến toàn cầu là đơn giản; Bạn có thể làm điều đó như sau.

x = "tuyệt vời"

#Xác định một biến toàn cầu

def wonderfunc ():

#Declared một hàm

in ("Python là" + x)

#cacting Biến toàn cầu

wonderfunc()

#calling hàm

Làm thế nào để sử dụng các từ khóa toàn cầu trong Python với các ví dụ?

Nếu bạn sử dụng một biến bên trong một hàm, Python nghĩ rằng bạn đang đề cập đến một biến cục bộ. Vì vậy, sử dụng từ khóa toàn cầu để thay đổi biến toàn cầu trong hàm Python. & NBSP;

Ví dụ sau đây cho thấy việc sử dụng các từ khóa toàn cầu trong chương trình Python.

x = 5

#initializing một biến toàn cầu

Def Life ()

#Xác định một chức năng

Toàn cầu x

#sử dụng từ khóa toàn cầu & nbsp;

x = x + 2

#Thay đổi biến toàn cầu

life()

#calling hàm

print(x)

#cacting Biến toàn cầu

#calling hàm

Làm thế nào để sử dụng các từ khóa toàn cầu trong Python với các ví dụ?

Nếu bạn sử dụng một biến bên trong một hàm, Python nghĩ rằng bạn đang đề cập đến một biến cục bộ. Vì vậy, sử dụng từ khóa toàn cầu để thay đổi biến toàn cầu trong hàm Python. & NBSP;

Ví dụ sau đây cho thấy việc sử dụng các từ khóa toàn cầu trong chương trình Python.

x = 5

#initializing một biến toàn cầu

Def Life ()

loc()

#Xác định một chức năng

print(y)

Toàn cầu x

#sử dụng từ khóa toàn cầu & nbsp;

x = x + 2

#Thay đổi biến toàn cầu

Các biến cục bộ

Ví dụ sau đây cho thấy một sai lầm. & Nbsp;

#initializing một biến toàn cầu

Def Life ()

print(y)

#Xác định một chức năng

loc()

Toàn cầu x

#sử dụng từ khóa toàn cầu & nbsp;

x = x + 2

#Thay đổi biến toàn cầu

Các biến cục bộ

#initializing một biến toàn cầu

Def Life ()

#Xác định một chức năng

Toàn cầu x

#sử dụng từ khóa toàn cầu & nbsp;

x = x + 2

#Thay đổi biến toàn cầu

man()

Các biến cục bộ

Ví dụ sau đây cho thấy một sai lầm. & Nbsp;

Ví dụ 1: Truy cập biến cục bộ bên ngoài phạm vi

def loc () & nbsp;

#defining loc () hàm

y = "địa phương"

Example:

GlobalVariableinPython_13 

Output:

GlobalVariableinPython_14 

# khai báo y tại địa phương

# Gọi hàm loc ()

# Truy cập biến Y

Trong chương trình trên, bạn đang cố gắng truy cập 'y' được xác định trong hàm loc (). Và dòng in (y) sẽ cung cấp cho bạn một lỗi tên: tên 'y' không được xác định. & Nbsp;

Ví dụ sau đây cho thấy cách viết lại chương trình trên.

Example:

GlobalVariableinPython_15. 

Output:

GlobalVariableinPython_16 

Explanation:

Từ chương trình trên, có thể nhận thấy rằng hàm lồng nhau là bên trong (). Bên trong bên trong (), bạn đã thấy việc sử dụng từ khóa không thuộc địa để tạo biến không thuộc địa. Bên trong () được định nghĩa trong phạm vi của outerfn (). Nếu bạn thay đổi giá trị của một biến không địa điểm, chúng sẽ phản ánh trong biến cục bộ.

Tóm lại, việc hiểu phạm vi của các biến Python là điều cần thiết cho một chương trình không có lỗi. Bạn có thể truy cập các biến toàn cầu từ bất cứ nơi nào trong chương trình. Tuy nhiên, bạn chỉ có thể truy cập các biến cục bộ từ hàm. Ngoài ra, nếu bạn cần thay đổi một biến toàn cầu từ một hàm, bạn cần tuyên bố rằng biến là toàn cầu. Bạn có thể làm điều này bằng cách sử dụng từ khóa "toàn cầu". & NBSP;

Mong muốn chuyển sang lĩnh vực lập trình? Tham gia khóa đào tạo & nbsp; Python & nbsp; và bắt đầu sự nghiệp của bạn như một lập trình viên Python chuyên nghiệp

Sự kết luận

Các biến là một trong những yếu tố cơ bản nhất của ngôn ngữ lập trình. Nó là một lớp trừu tượng cho các ô bộ nhớ chứa giá trị thực. Các loại biến toàn cầu, cục bộ và không thuộc địa chỉ giúp lập trình viên truy cập một số giá trị hoàn toàn trong phạm vi chương trình hoặc một số giá trị được giới hạn trong hàm.

Trong bài viết này, bạn đã học được một biến toàn cầu là gì trong Python, làm thế nào để xác định các biến toàn cầu trong Python, cách khai báo một biến toàn cầu trong Python, từ khóa toàn cầu là gì, khi sử dụng từ khóa toàn cầu, sự khác biệt giữa toàn cầu, cục bộ, địa phương và các biến không thuộc địa cùng với một số ví dụ làm việc. & nbsp; & nbsp;

Tham gia khóa đào tạo Python của SimplileArn để tìm hiểu thêm về chủ đề này. Khóa học này sẽ dạy cho bạn những điều cơ bản về Python, các tuyên bố có điều kiện, hoạt động dữ liệu, kịch bản shell và Django. Khóa học chứng nhận này, bao gồm 38 giờ học tập kết hợp và 8 giờ học tập tự nhịp trực tuyến, sẽ chuẩn bị cho bạn một sự nghiệp hoàn thành như một lập trình viên Python chuyên nghiệp bằng cách cung cấp cho bạn kinh nghiệm lập trình thực tế.

Có bất kỳ câu hỏi cho chúng tôi? Để lại cho họ trong phần bình luận của bài viết này, và các chuyên gia của chúng tôi sẽ liên hệ lại với bạn về họ, càng sớm càng tốt!

Làm thế nào để bạn gọi một biến bên trong một hàm trong Python?

Các biến được xác định bên trong các phương thức chỉ có thể được truy cập trong phương thức đó chỉ bằng cách sử dụng tên biến. Ví dụ - var_name.using the variable name. Example – var_name.

Tôi có thể khai báo một biến trong một hàm không?

Phạm vi là một khu vực của chương trình và nói rộng rãi có ba vị trí, trong đó các biến có thể được khai báo: bên trong một hàm hoặc một khối được gọi là các biến cục bộ, trong định nghĩa của các tham số hàm được gọi là tham số chính thức.Inside a function or a block which is called local variables, In the definition of function parameters which is called formal parameters.

Bạn có thể sử dụng một biến bên ngoài chức năng Python không?

Trong Python và hầu hết các ngôn ngữ lập trình, các biến được khai báo bên ngoài một hàm được gọi là các biến toàn cầu.Bạn có thể truy cập các biến như vậy bên trong và bên ngoài một hàm, vì chúng có phạm vi toàn cầu.You can access such variables inside and outside of a function, as they have global scope.

Bạn có thể đặt một biến bằng một chức năng Python không?

Nếu biến đã được xác định trước đó, bạn có thể làm điều đó có.Nếu biến chưa được xác định trước đây, bạn không thể làm điều đó, đơn giản vì không có giá trị nào có thể được truyền cho hàm.. If the variable has not been defined previously, you can't do that, simply because there is no value that could be passed to the function.