Hướng dẫn python global self - trăn toàn cầu tự

  • Blog
  • Tin tức

20/05/2021 02:02

Self trong Python là một tham chiếu đến thể hiện hiện tại của lớp, và được sử dụng để biến truy cập thuộc về lớp. Tìm hiểu về Self trong Python qua bài viết dưới đây

(Self trong Python) Nếu bạn đang làm việc với Python, self là một trong những yếu tố bạn cần nắm rõ trong lòng bàn tay. Được sử dụng trong các định nghĩa phương thức và trong việc khởi tạo các biến. Phương thức self trong Python được sử dụng một cách rõ ràng khi ta cần định nghĩa một phương thức. Trong bài viết này chúng ta sẽ tìm hiểu sâu hơn về self trong Python với các ví dụ cụ thể.Self trong Python) Nếu bạn đang làm việc với Python, self là một trong những yếu tố bạn cần nắm rõ trong lòng bàn tay. Được sử dụng trong các định nghĩa phương thức và trong việc khởi tạo các biến. Phương thức self trong Python được sử dụng một cách rõ ràng khi ta cần định nghĩa một phương thức. Trong bài viết này chúng ta sẽ tìm hiểu sâu hơn về self trong Python với các ví dụ cụ thể.

Tại sao lại cần sử dụng Self trong Python là gì?

Các tham số self là một tham chiếu đến thể hiện hiện tại của lớp, và được sử dụng để biến truy cập thuộc về lớp.bạn không nhất thiết đặt tên nó là self, bạn có thể gọi nó bất cứ thứ gì bạn thích, nhưng nó phải là tham số đầu tiên của bất kỳ hàm nào trong lớp:

Với từ khóa này, bạn có thể truy cập các thuộc tính và phương thức của lớp trong python. Nó liên kết các thuộc tính với các đối số đã cho. Lý do tại sao chúng ta sử dụng self là Python không sử dụng cú pháp '@' để tham chiếu đến các thuộc tính cá thể. Trong Python, chúng ta có các phương thức làm cho phiên bản được truyền tự động, nhưng không được nhận tự động.

Ví dụ:

class food():
 
# init method or constructor
def __init__(self, fruit, color):
self.fruit = fruit
self.color = color
 
def show(self):
print("fruit is", self.fruit)
print("color is", self.color )
 
apple = food("apple", "red")
grapes = food("grapes", "green")
 
apple.show()
grapes.show()

Output:

Fruit is apple

color is red

Fruit is grapes

color is green

>>> Tham khảo: Khóa học lập trình PythonKhóa học lập trình Python

Tự xây dựng lớp Python

Self cũng được sử dụng để tham chiếu đến một trường biến trong lớp. Cùng xem ví dụ dưới đây và cách mà nó hoạt động:

class Person:
 
# name made in constructor
def __init__(self, John):
self.name = John
 
def get_person_name(self):
return self.name

Trong ví dụ trên, self tham chiếu đến biến tên của toàn bộ lớp Person. Ở đây, nếu chúng ta có một biến trong một phương thức, thì self sẽ không hoạt động. Biến đó đơn giản chỉ tồn tại trong khi phương thức đang chạy và do đó, là biến cục bộ của phương thức đó. Để xác định các trường toàn cục hoặc các biến của lớp hoàn chỉnh, chúng ta cần định nghĩa chúng bên ngoài các phương thức của lớp.

>>> Đọc thêm: Giải đáp: Ngôn ngữ lập trình Python dùng để làm gì?Python dùng để làm gì?

Self trong Python có phải là một từ khóa?

self là một tham số trong hàm và người dùng có thể sử dụng một tên tham số khác thay cho nó. Mặc dù bạn nên sử dụng self vì nó làm tăng khả năng đọc mã. self không phải là một từ khóa.

Ví dụ:

class this_is_class:
def show(in_place_of_self):
print("It is not a keyword "
"and you can use a different keyword")
 
object = this_is_class()
object.show()

Output:

It is not a keyword and you can use a different keyword

>>> Tham khảo: Khóa học lập trình Python

Tự xây dựng lớp Pythonđại diện cho thể hiện của lớp. Bằng cách sử dụng từ khóa “self”, chúng ta có thể truy cập các thuộc tính và phương thức của lớp trong python. Nó liên kết các thuộc tính với các đối số đã cho. Bài viết trên đã giới thiệu tới bạn về self trong Python và một số ví dụ cụ thể để bạn hiểu rõ hơn về phương thức này. Tìm hiểu thêm về Python cùng các ngôn ngữ lập trình khác qua các khóa học lập trình tại tại Viện công nghệ thông tin T3H để nắm rõ hơn các kiến thức về lập trình bạn nhé!

Self cũng được sử dụng để tham chiếu đến một trường biến trong lớp. Cùng xem ví dụ dưới đây và cách mà nó hoạt động:

Nội dung chính ShowShow

  • Từ khóa Global là gì.
  • Những quy tắc của từ khóa Global .
  • Sử dụng từ khóa Global.
  • Biến Global trong các mô-đun Python
  • Tham Khảo chi tiết hơn
  • Biến cục bộ trong Python
  • Biến cục bộ và biến toàn cục
  • Biến nonlocal trong Python

Đã đăng vào thg 11 12, 2020 6:30 SA 4 phút đọc 4 phút đọc

Chào các bạn trong bài viết này, mình sẽ giới thiệu với các bạn về Từ khóa Global trong Python.Mình sẽ giải thích cho các bạn hiểu về khái niệm của chúng là gì, cú pháp và cách xử dụng của chúng. Các bạn cùng tìm hiểu trong bài viết của mình nhé!

Từ khóa Global là gì.

Trong Python, từ khóa

class Person:
 
# name made in constructor
def __init__(self, John):
self.name = John
 
def get_person_name(self):
return self.name

6 cho phép bạn sửa đổi biến bên ngoài phạm vi hiện tại. Nó được sử dụng để tạo một biến toàn cục và thực hiện các thay đổi đối với biến đó trong ngữ cảnh cục bộ.


Những quy tắc của từ khóa Global .

Sử dụng từ khóa Global.

  • Biến Global trong các mô-đun Python
  • Tham Khảo chi tiết hơn
  • Biến cục bộ trong Python
  • Biến cục bộ và biến toàn cục

Sử dụng từ khóa Global.

Biến Global trong các mô-đun Python

Tham Khảo chi tiết hơn
c = 1 # global variable

def add():
    print(c)

add()

Biến cục bộ trong Python

Biến cục bộ và biến toàn cục

Biến nonlocal trong Python


Đã đăng vào thg 11 12, 2020 6:30 SA 4 phút đọc
c = 1 # global variable
    
def add():
    c = c + 2 # increment c by 2
    print(c)

add()

Chào các bạn trong bài viết này, mình sẽ giới thiệu với các bạn về Từ khóa Global trong Python.Mình sẽ giải thích cho các bạn hiểu về khái niệm của chúng là gì, cú pháp và cách xử dụng của chúng. Các bạn cùng tìm hiểu trong bài viết của mình nhé!

UnboundLocalError: local variable 'c' referenced before assignment

Từ khóa Global là gì.


Biến Global trong các mô-đun Python

Tham Khảo chi tiết hơn

Biến cục bộ trong Python

Biến cục bộ và biến toàn cục

Biến nonlocal trong Python

a = 0
b = "empty"

Đã đăng vào thg 11 12, 2020 6:30 SA 4 phút đọc

Fruit is apple

color is red

Fruit is grapes

color is green
0

Chào các bạn trong bài viết này, mình sẽ giới thiệu với các bạn về Từ khóa Global trong Python.Mình sẽ giải thích cho các bạn hiểu về khái niệm của chúng là gì, cú pháp và cách xử dụng của chúng. Các bạn cùng tìm hiểu trong bài viết của mình nhé!

Fruit is apple

color is red

Fruit is grapes

color is green
1

Từ khóa Global là gì.

Trong Python, từ khóa

class Person:
 
# name made in constructor
def __init__(self, John):
self.name = John
 
def get_person_name(self):
return self.name

6 cho phép bạn sửa đổi biến bên ngoài phạm vi hiện tại. Nó được sử dụng để tạo một biến toàn cục và thực hiện các thay đổi đối với biến đó trong ngữ cảnh cục bộ.


Các quy tắc cơ bản cho từ khóa
class Person:
 
# name made in constructor
def __init__(self, John):
self.name = John
 
def get_person_name(self):
return self.name

6 trong Python là:

Khi ta tạo một biến bên trong một hàm, nó sẽ là cục bộ theo mặc định.


Tham Khảo chi tiết hơn

https://www.programiz.com/python-programming/global-keyword

Biến cục bộ trong Python

Biến cục bộ và biến toàn cục

Biến nonlocal trong Python

Đã đăng vào thg 11 12, 2020 6:30 SA 4 phút đọc

Chào các bạn trong bài viết này, mình sẽ giới thiệu với các bạn về Từ khóa Global trong Python.Mình sẽ giải thích cho các bạn hiểu về khái niệm của chúng là gì, cú pháp và cách xử dụng của chúng. Các bạn cùng tìm hiểu trong bài viết của mình nhé!

Từ khóa Global là gì.

Fruit is apple

color is red

Fruit is grapes

color is green
2

Trong Python, từ khóa

class Person:
 
# name made in constructor
def __init__(self, John):
self.name = John
 
def get_person_name(self):
return self.name

6 cho phép bạn sửa đổi biến bên ngoài phạm vi hiện tại. Nó được sử dụng để tạo một biến toàn cục và thực hiện các thay đổi đối với biến đó trong ngữ cảnh cục bộ.

Fruit is apple

color is red

Fruit is grapes

color is green
3

Các quy tắc cơ bản cho từ khóa

class Person:
 
# name made in constructor
def __init__(self, John):
self.name = John
 
def get_person_name(self):
return self.name

6 trong Python là:

Fruit is apple

color is red

Fruit is grapes

color is green
4

Khi ta tạo một biến bên trong một hàm, nó sẽ là cục bộ theo mặc định.

Fruit is apple

color is red

Fruit is grapes

color is green
5

Khi chúng ta xác định một biến bên ngoài một hàm, nó là toàn cục theo mặc định. Bạn không cần phải sử dụng từ khóa

class Person:
 
# name made in constructor
def __init__(self, John):
self.name = John
 
def get_person_name(self):
return self.name

6.

Ta sẽ sử dụng từ khóa

class Person:
 
# name made in constructor
def __init__(self, John):
self.name = John
 
def get_person_name(self):
return self.name

6 để đọc và ghi một biến toàn cục bên trong một hàm.

Biến cục bộ trong Python

Biến cục bộ và biến toàn cục

Fruit is apple

color is red

Fruit is grapes

color is green
6

Biến nonlocal trong Python

Fruit is apple

color is red

Fruit is grapes

color is green
7

Đã đăng vào thg 11 12, 2020 6:30 SA 4 phút đọc

Chào các bạn trong bài viết này, mình sẽ giới thiệu với các bạn về Từ khóa Global trong Python.Mình sẽ giải thích cho các bạn hiểu về khái niệm của chúng là gì, cú pháp và cách xử dụng của chúng. Các bạn cùng tìm hiểu trong bài viết của mình nhé!

Fruit is apple

color is red

Fruit is grapes

color is green
8

Từ khóa Global là gì.

Fruit is apple

color is red

Fruit is grapes

color is green
9

Chúng ta quay trở lại xem xét vấn đề trước đó, lúc x là một biến toàn cục và chúng ta muốn thay đổi x trong vidu().

Biến cục bộ và biến toàn cục

Ở đây, chúng ta sẽ học cách dùng biến cục bộ và toàn cục trong cùng một code.

class Person:
 
# name made in constructor
def __init__(self, John):
self.name = John
 
def get_person_name(self):
return self.name

0

Chạy code trên ta sẽ có đầu ra:

class Person:
 
# name made in constructor
def __init__(self, John):
self.name = John
 
def get_person_name(self):
return self.name

1

Trong code trên, chúng ta khai báo x là biến toàn cục và y là biến cục bộ trong vidu() và dùng toán tử * để thay đổi biến toàn cục và in cả giá trị của x và y. Sau khi gọi hàm vidu() giá trị của x sẽ thành 4 vì được nhân đôi.

Ví dụ sử dụng biến toàn cục và cục bộ trùng tên:

class Person:
 
# name made in constructor
def __init__(self, John):
self.name = John
 
def get_person_name(self):
return self.name

2

Sau khi chạy code trên ta có đầu ra:

class Person:
 
# name made in constructor
def __init__(self, John):
self.name = John
 
def get_person_name(self):
return self.name

3

Trong code trên, chúng ta sử dụng cùng tên x cho cả biến cục bộ và biến toàn cục. Khi in cùng biến x chúng ta nhận được hai kết quả khác nhau vì biến được khai báo ở cả hai phạm vi, cục bộ (bên trong hàm vidu()) và toàn cục (bên ngoài hàm vidu()).

Khi chúng ta in biến trong hàm vidu() nó sẽ xuất ra Biến x cục bộ: 10, đây được gọi là phạm vi cục bộ của biến. Tương tự khi ta in biến bên ngoài hàm vidu() sẽ cho ra Biến x toàn cục: 5, đây là phạm vi toàn cục của biến.

Biến nonlocal trong Python

Từ nonlocal này mình không biết dịch sang tiếng Việt sao cho chuẩn. Trong Python, biến nonlocal được sử dụng trong hàm lồng nhau nơi mà phạm vi cục bộ không được định nghĩa. Nói dễ hiểu thì biến nonlocal không phải biến local, không phải biến global, bạn khai báo một biến là nonlocal khi muốn sử dụng nó ở phạm vi rộng hơn local, nhưng chưa đến mức global.

Để khai báo biến nonlocal ta cần dùng đến từ khóa nonlocal.

Ví dụ:

class Person:
 
# name made in constructor
def __init__(self, John):
self.name = John
 
def get_person_name(self):
return self.name

4

Chạy code trên bạn sẽ có đầu ra:

class Person:
 
# name made in constructor
def __init__(self, John):
self.name = John
 
def get_person_name(self):
return self.name

5

Trong code trên có một hàm lồng là ham_trong(), ta dùng từ khóa nonlocal để tạo biến nonlocal. Hàm ham_trong() được định nghĩa trong phạm vi của ham_ngoai().

Lưu ý: Nếu chúng ta thay đổi giá trị của biến nonlocal, sự thay đổi sẽ xuất hiện trong biến cục bộ.

Bài viết gốc được đăng tải tại ucode.vn

Có thể bạn quan tâm:

  • Giới thiệu IDE phổ biến trong lập trình Python
  • 43 kho lưu trữ Github JS phổ biến nhất 2019 –  Bạn đã biết hết chưa?
  • Sử dụng biến trong CSS toàn tập

Xem thêm các việc làm công nghệ thông tin hấp dẫn tại TopDev