Hướng dẫn what is static and dynamic variables in python? - biến tĩnh và biến động trong python là gì?

Trong bài học này, bạn sẽ tìm hiểu về các hệ thống loại, so sánh việc gõ động và gõ tĩnh. Tất cả các ngôn ngữ lập trình bao gồm một số loại hệ thống loại chính thức hóa loại đối tượng mà nó có thể hoạt động và cách xử lý các loại đó.type systems, comparing dynamic typing and static typing. All programming languages include some kind of type system that formalizes which categories of objects it can work with and how those categories are treated.

Gõ động

Python là một ngôn ngữ được đánh máy động. Điều này có nghĩa là trình thông dịch Python chỉ kiểm tra loại khi mã chạy và loại biến được phép thay đổi trong suốt vòng đời của nó. Dưới đây là một vài ví dụ chứng minh những ý tưởng đó:dynamically typed language. This means that the Python interpreter does type checking only as code runs, and the type of a variable is allowed to change over its lifetime. Here are a couple of examples that demonstrate those ideas:

>>>

>>> if False:
...     1 + "two"  # This line never runs, so no TypeError is raised
... else:
...     1 + 2
...
3
>>> 1 + "two"  # Now this is type checked
TypeError: unsupported operand type[s] for +: 'int' and 'str'

Trong ví dụ đầu tiên, chi nhánh 1 + "two" không bao giờ chạy, vì vậy nó không bao giờ được kiểm tra. Ví dụ thứ hai cho thấy rằng khi 1 + "two" được đánh giá, nó sẽ tăng TypeError vì bạn có thể thêm một số nguyên và một chuỗi trong Python.

Trong ví dụ tiếp theo này, bạn thấy các biến có thể thay đổi loại không:

>>>

>>> thing = "Hello"
>>> type[thing]


>>> thing = 28.1
>>> type[thing]

Trong ví dụ đầu tiên, chi nhánh 1 + "two" không bao giờ chạy, vì vậy nó không bao giờ được kiểm tra. Ví dụ thứ hai cho thấy rằng khi 1 + "two" được đánh giá, nó sẽ tăng TypeError vì bạn có thể thêm một số nguyên và một chuỗi trong Python.

Trong ví dụ tiếp theo này, bạn thấy các biến có thể thay đổi loại không:

type[] Trả về loại đối tượng.static typing. Static type checks are performed without running the program. In most statically typed languages, for instance C and Java, this is done as your program is compiled. The type of a variable is not allowed to change over its lifetime.

Gõ tĩnh

public class HelloTypes {

    public static void main[String[] args] {

        String thing;
        thing = "Hello World";

        System.out.println[thing];
    }
}

Đối diện của gõ động là gõ tĩnh. Kiểm tra loại tĩnh được thực hiện mà không cần chạy chương trình. Ví dụ, trong hầu hết các ngôn ngữ được gõ tĩnh C và Java, điều này được thực hiện khi chương trình của bạn được biên dịch. Loại biến không được phép thay đổi trong suốt vòng đời của nó.

Trong ví dụ

>>> thing = "Hello"
>>> type[thing]


>>> thing = 28.1
>>> type[thing]

0 này trong Java, hãy nhìn vào phần giữa, trong đó
>>> thing = "Hello"
>>> type[thing]


>>> thing = 28.1
>>> type[thing]

1 được định nghĩa tĩnh là một loại
>>> thing = "Hello"
>>> type[thing]


>>> thing = 28.1
>>> type[thing]

2 và sau đó gán giá trị
>>> thing = "Hello"
>>> type[thing]


>>> thing = 28.1
>>> type[thing]

3:

$ javac HelloTypes.java
$ java HelloTypes.class
Hello World

Đây không phải là một khóa học trên Java, vì vậy đừng lo lắng về các chi tiết cụ thể về cách tạo mã Java. Mục đích của ví dụ này là cho bạn thấy rằng có thêm các bước trong hầu hết các ngôn ngữ được đánh máy thống kê.

public class HelloTypes {

    public static void main[String[] args] {

        String thing;
        thing = "Hello World";

        thing = 42;

        System.out.println[thing];
    }
}

Trong ví dụ tiếp theo này, bạn sẽ sử dụng lệnh

>>> thing = "Hello"
>>> type[thing]


>>> thing = 28.1
>>> type[thing]

4 để biên dịch chương trình. Điều này tạo ra một tệp mới có cùng tên, nhưng một tiện ích mở rộng khác
>>> thing = "Hello"
>>> type[thing]


>>> thing = 28.1
>>> type[thing]

5 thay vì
>>> thing = "Hello"
>>> type[thing]


>>> thing = 28.1
>>> type[thing]

6. Đó là tệp có thể chạy bằng lệnh
>>> thing = "Hello"
>>> type[thing]


>>> thing = 28.1
>>> type[thing]

7:

$ javac Hellotypes.java
HelloTypes.java:8: error: incompatible types: int cannot be converted to String
    thing = 42;
1 error

Nếu bạn cố gắng chỉ định lại

>>> thing = "Hello"
>>> type[thing]


>>> thing = 28.1
>>> type[thing]

8 thành một giá trị thuộc loại khác, ban đầu bạn sẽ không gặp lỗi. Chỉ khi mã được biên dịch, bạn mới thấy lỗi:

Dòng

>>> thing = "Hello"
>>> type[thing]


>>> thing = 28.1
>>> type[thing]

9 đang cố gắng thay đổi loại
>>> thing = "Hello"
>>> type[thing]


>>> thing = 28.1
>>> type[thing]

8 từ chuỗi thành int. Nếu bạn biên dịch mã này, bạn sẽ thấy lỗi:

  • Python sẽ luôn luôn là một ngôn ngữ được đánh máy động. Tuy nhiên, PEP 484 đã giới thiệu các gợi ý loại, điều này cũng có thể thực hiện kiểm tra loại tĩnh của mã python.
  • Dưới đây là một vài tài nguyên trên công cụ Bpython, vòng lặp [đọc vòng lặp inval Eval] được sử dụng trong các video này:
  • Một Python tốt hơn: Bpython vs Python

Biến tĩnh và động là gì?

Trong phân bổ bộ nhớ tĩnh, các biến được phân bổ vĩnh viễn, cho đến khi chương trình thực thi hoặc kết thúc cuộc gọi chức năng. Trong phân bổ bộ nhớ động, các biến chỉ được phân bổ nếu đơn vị chương trình của bạn hoạt động. 2. Phân bổ bộ nhớ tĩnh được thực hiện trước khi thực hiện chương trình.

Biến động trong Python là gì?

Một tên biến động, đôi khi được gọi là biến, là một biến có tên là ước tính của một biến khác.Mặc dù thực tế là Python là một ngôn ngữ rất năng động, trong đó gần như mọi thứ đều là một đối tượng, có thể xây dựng các biến động trong Python.a variable with a name that is the estimation of another variable. Despite the fact that Python is a very dynamic language in which nearly everything is an object, it is possible to construct dynamic variables in Python.

Các biến tĩnh trong Python là gì?

Biến tĩnh Python Khi chúng ta khai báo một biến bên trong một lớp, nhưng bên ngoài phương thức, nó được gọi là biến tĩnh hoặc lớp.Nó có thể được gọi trực tiếp từ một lớp nhưng không thông qua các trường hợp của một lớp.When we declare a variable inside a class, but outside the method, it is called a static or class variable. It can be called directly from a class but not through the instances of a class.

Sự khác biệt giữa tĩnh và động là gì?

Nói chung, động lực động có nghĩa là năng lượng, có khả năng hành động và/hoặc thay đổi, hoặc mạnh mẽ, trong khi phương tiện tĩnh đứng yên hoặc cố định.Trong thuật ngữ máy tính, động thường có nghĩa là có khả năng hành động và/hoặc thay đổi, trong khi tĩnh có nghĩa là cố định.dynamic means energetic, capable of action and/or change, or forceful, while static means stationary or fixed. In computer terminology, dynamic usually means capable of action and/or change, while static means fixed.

Bài Viết Liên Quan

Chủ Đề