Ngữ nghĩa động trong Python

Trong bài học này, bạn sẽ tìm hiểu về hệ thống kiểu, so sánh kiểu gõ động và kiểu 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 các loại đối tượng mà nó có thể làm việc và cách các loại đó được xử lý

Nhập động

Python là một ngôn ngữ được gõ động. Điều này có nghĩa là trình thông dịch Python chỉ kiểm tra kiểu khi mã chạy và kiểu của một biến được phép thay đổi trong suốt thời gian tồn tại của nó. Dưới đây là một vài ví dụ chứng minh những ý tưởng đó

>>>

>>> 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, nhánh

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


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

7 không bao giờ chạy, vì vậy nó không bao giờ được kiểm tra loại. Ví dụ thứ hai cho thấy rằng khi đánh giá
>>> thing = "Hello"
>>> type[thing]


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

7, nó sẽ tăng giá trị
>>> thing = "Hello"
>>> type[thing]


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

9 vì bạn không thể cộng một số nguyên và một chuỗi trong Python

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

>>>

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


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

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


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

0 trả về loại đối tượng

Nhập tĩnh

Ngược lại với 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. Trong hầu hết các ngôn ngữ được nhập tĩnh, chẳng hạn 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 thời gian tồn tại của nó

Trong ví dụ về

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


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

0 trong Java này, hãy xem 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 đó được gán giá trị
>>> thing = "Hello"
>>> type[thing]


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

3

public class HelloTypes {

    public static void main[String[] args] {

        String thing;
        thing = "Hello World";

        System.out.println[thing];
    }
}

Đây không phải là khóa học về 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ó nhiều bước bổ sung trong hầu hết các ngôn ngữ được nhập tĩnh

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. Thao tác này tạo một tệp mới có cùng tên, nhưng có phần mở rộng khác là
>>> 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

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


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

1

Nếu bạn cố gắng gán lại

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


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

8 cho 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

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


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

3

Dòng

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


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

9 đang cố thay đổi kiểu của
>>> thing = "Hello"
>>> type[thing]


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

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

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


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

6

Python sẽ luôn. Tuy nhiên, PEP 484 đã giới thiệu các gợi ý về kiểu, cho phép thực hiện kiểm tra kiểu tĩnh của mã Python

Ý nghĩa của ngữ nghĩa động là gì?

Ngữ nghĩa động là một quan điểm về ngữ nghĩa ngôn ngữ tự nhiên nhấn mạnh đến sự phát triển của thông tin theo thời gian . Đó là một cách tiếp cận để biểu thị ý nghĩa trong đó các đoạn văn bản hoặc diễn ngôn được xem như hướng dẫn để cập nhật ngữ cảnh hiện có với thông tin mới, kết quả là một ngữ cảnh được cập nhật.

Ngữ nghĩa tĩnh và ngữ nghĩa động là gì?

Trong ngữ nghĩa tĩnh, biết nghĩa của một câu nghĩa là biết khi nào nó đúng; . " Trong ngữ nghĩa động, các câu được ánh xạ tới các chức năng

Cú pháp và ngữ nghĩa trong Python là gì?

Cú pháp đề cập đến những gì hợp lệ để chương trình chạy [hoặc biên dịch], trong khi ngữ nghĩa là về ý nghĩa hoặc logic .

Các quy tắc ngữ nghĩa của một ngôn ngữ được gọi bằng Python là gì?

Ngữ nghĩa trong Python . grammatical rules to define how to put together a sentence that makes sense, programming languages have similar rules, called syntax.

Chủ Đề