Xem bây giờ hướng dẫn này có một khóa học video liên quan được tạo bởi nhóm Python thực sự. Xem cùng với hướng dẫn bằng văn bản để hiểu sâu hơn về sự hiểu biết của bạn: các loại dữ liệu cơ bản trong Python This tutorial has a related video course created by the Real Python team. Watch it together with the written tutorial to deepen your understanding: Basic Data Types in Python
Bây giờ bạn đã biết cách tương tác với trình thông dịch Python và thực thi mã Python. Nó thời gian để đào sâu vào ngôn ngữ Python. Đầu tiên là một cuộc thảo luận về các loại dữ liệu cơ bản được tích hợp vào Python.
Đây là những gì bạn sẽ học được trong hướng dẫn này:
- Bạn có thể tìm hiểu về một số loại số, chuỗi và boolean cơ bản được tích hợp vào Python. Đến cuối hướng dẫn này, bạn sẽ quen thuộc với những đối tượng của các loại này trông như thế nào và làm thế nào để đại diện cho chúng.numeric, string, and Boolean types that are built into Python. By the end of this tutorial, you’ll be familiar with what objects of these types look like, and how to represent them.
- Bạn cũng sẽ nhận được một cái nhìn tổng quan về các chức năng tích hợp của Python. Đây là những đoạn mã được viết sẵn mà bạn có thể gọi để làm những việc hữu ích. Bạn đã thấy chức năng
2 tích hợp, nhưng có nhiều loại khác.functions. These are pre-written chunks of code you can call to do useful things. You have already seen the built-in>>> type[10] >>> type[0o10] >>> type[0x10]
2 function, but there are many others.>>> type[10] >>> type[0o10] >>> type[0x10]
Số nguyên
Trong Python 3, thực sự không có giới hạn về giá trị nguyên. Tất nhiên, nó bị hạn chế bởi lượng bộ nhớ mà hệ thống của bạn có, cũng như tất cả mọi thứ, nhưng ngoài ra, một số nguyên có thể miễn là bạn cần:
>>>
>>> print[123123123123123123123123123123123123123123123123 + 1]
123123123123123123123123123123123123123123123124
Python diễn giải một chuỗi các chữ số thập phân mà không có bất kỳ tiền tố nào là số thập phân:
Các chuỗi sau có thể được chuẩn bị cho một giá trị số nguyên để chỉ ra một cơ sở khác với 10:
3 [không + chữ thường ____ ____ 24] ________ 25 [không có chữ in hoa 6] 5 [zero + uppercase letter 6]
| Nhị phân | 2 |
7 [không + chữ thường ________ 28] ________ 29 [không có chữ in 9 [zero + uppercase letter 0]
| Bát phân | 8 |
1 [không + chữ thường ____ 32] ________ 33 [không có chữ in hoa 4] 3 [zero + uppercase letter 4]
| Thập lục phân | 16 |
Ví dụ:
>>>
>>> print[0o10]
8
>>> print[0x10]
16
>>> print[0b10]
2
Python diễn giải một chuỗi các chữ số thập phân mà không có bất kỳ tiền tố nào là số thập phân:
Các chuỗi sau có thể được chuẩn bị cho một giá trị số nguyên để chỉ ra một cơ sở khác với 10:
>>>
>>> type[10]
>>> type[0o10]
>>> type[0x10]
Python diễn giải một chuỗi các chữ số thập phân mà không có bất kỳ tiền tố nào là số thập phân:
Các chuỗi sau có thể được chuẩn bị cho một giá trị số nguyên để chỉ ra một cơ sở khác với 10:
>>>
>>> 4.2
4.2
>>> type[4.2]
>>> 4.
4.0
>>> .2
0.2
>>> .4e7
4000000.0
>>> type[.4e7]
>>> 4.2e-4
0.00042
Python diễn giải một chuỗi các chữ số thập phân mà không có bất kỳ tiền tố nào là số thập phân:
Các chuỗi sau có thể được chuẩn bị cho một giá trị số nguyên để chỉ ra một cơ sở khác với 10:
Tiếp đầu ngữ
>>>
>>> 1.79e308 1.79e+308 >>> 1.8e308 inf
Python diễn giải một chuỗi các chữ số thập phân mà không có bất kỳ tiền tố nào là số thập phân:
>>>
>>> 5e-324 5e-324 >>> 1e-325 0.0
Python diễn giải một chuỗi các chữ số thập phân mà không có bất kỳ tiền tố nào là số thập phân:
Các chuỗi sau có thể được chuẩn bị cho một giá trị số nguyên để chỉ ra một cơ sở khác với 10:
Tiếp đầu ngữ
>>>
>>> 2+3j
[2+3j]
>>> type[2+3j]
Python diễn giải một chuỗi các chữ số thập phân mà không có bất kỳ tiền tố nào là số thập phân:
Các chuỗi sau có thể được chuẩn bị cho một giá trị số nguyên để chỉ ra một cơ sở khác với 10:
Tiếp đầu ngữ
>>>
>>> print["I am a string."]
I am a string.
>>> type["I am a string."]
>>> print['I am too.']
I am too.
>>> type['I am too.']
Python diễn giải một chuỗi các chữ số thập phân mà không có bất kỳ tiền tố nào là số thập phân:
Các chuỗi sau có thể được chuẩn bị cho một giá trị số nguyên để chỉ ra một cơ sở khác với 10:
>>>
>>> print['This string contains a single quote ['] character.']
SyntaxError: invalid syntax
Python diễn giải một chuỗi các chữ số thập phân mà không có bất kỳ tiền tố nào là số thập phân:
Các chuỗi sau có thể được chuẩn bị cho một giá trị số nguyên để chỉ ra một cơ sở khác với 10:
>>>
>>> print["This string contains a single quote ['] character."]
This string contains a single quote ['] character.
>>> print['This string contains a double quote ["] character.']
This string contains a double quote ["] character.
Trình tự thoát trong chuỗi
Đôi khi, bạn muốn Python diễn giải một ký tự hoặc chuỗi các ký tự trong một chuỗi khác nhau. Điều này có thể xảy ra theo một trong hai cách:
- Bạn có thể muốn đàn áp cách giải thích đặc biệt rằng một số ký tự nhất định thường được đưa ra trong một chuỗi.
- Bạn có thể muốn áp dụng giải thích đặc biệt cho các ký tự trong một chuỗi thường được thực hiện theo nghĩa đen.
Bạn có thể thực hiện điều này bằng cách sử dụng ký tự dấu gạch chéo ngược [
>>> 1.79e308
1.79e+308
>>> 1.8e308
inf
4]. Một ký tự dấu gạch chéo ngược trong một chuỗi chỉ ra rằng một hoặc nhiều ký tự theo nó nên được xử lý đặc biệt. .Hãy để xem cách thức hoạt động của nó.
Ngăn chặn ý nghĩa nhân vật đặc biệt
Bạn đã thấy các vấn đề bạn có thể gặp phải khi bạn cố gắng đưa các ký tự trích dẫn vào một chuỗi. Nếu một chuỗi được phân đoạn bởi các trích dẫn đơn, bạn có thể chỉ định trực tiếp một ký tự trích dẫn là một phần của chuỗi bởi vì, đối với chuỗi đó, trích dẫn duy nhất có ý nghĩa đặc biệt, nó sẽ chấm dứt chuỗi:
>>>
>>> print['This string contains a single quote ['] character.']
SyntaxError: invalid syntax
Chỉ định một dấu gạch chéo ngược ở phía trước của ký tự trích dẫn trong một chuỗi, thoát ra khỏi nó và khiến Python đàn áp ý nghĩa đặc biệt thông thường của nó. Sau đó, nó được giải thích đơn giản là một ký tự trích dẫn đơn theo nghĩa đen:
>>>
>>> print[0o10]
8
>>> print[0x10]
16
>>> print[0b10]
2
1Các tác phẩm tương tự trong một chuỗi được phân định bởi các trích dẫn kép:
>>>
>>> print[0o10]
8
>>> print[0x10]
16
>>> print[0b10]
2
2Sau đây là một bảng các chuỗi thoát khiến Python đàn áp cách giải thích đặc biệt thông thường của một ký tự trong một chuỗi:
5 | Chấm dứt chuỗi bằng dấu phân cách mở trích dẫn | Ký tự trích dẫn đơn nghĩa đen [ 6] |
7 | Chấm dứt chuỗi bằng cách trích dẫn Double Trích dẫn Delimiter | Nhân vật trích dẫn kép theo nghĩa đen [ 8] |
9 | Chấm dứt dòng đầu vào | Newline bị bỏ qua |
0 | Giới thiệu trình tự thoát | Nhân vật Backslash [ 4] theo nghĩa đen |
Thông thường, một ký tự mới kết thúc đầu vào dòng. Vì vậy, việc nhấn enter ở giữa một chuỗi sẽ khiến Python nghĩ rằng nó không đầy đủ:Enter in the middle of a string will cause Python to think it is incomplete:
>>>
>>> print[0o10]
8
>>> print[0x10]
16
>>> print[0b10]
2
3Để phá vỡ một chuỗi trên nhiều dòng, bao gồm một dấu gạch chéo ngược trước mỗi dòng mới và các dòng mới sẽ bị bỏ qua:
>>>
>>> print[0o10]
8
>>> print[0x10]
16
>>> print[0b10]
2
4Để bao gồm một dấu gạch chéo ngược theo nghĩa đen trong một chuỗi, hãy thoát nó bằng một dấu gạch chéo ngược:
>>>
>>> print[0o10]
8
>>> print[0x10]
16
>>> print[0b10]
2
5Áp dụng ý nghĩa đặc biệt cho các ký tự
Tiếp theo, giả sử bạn cần tạo một chuỗi chứa một ký tự tab trong đó. Một số trình chỉnh sửa văn bản có thể cho phép bạn chèn một ký tự tab trực tiếp vào mã của bạn. Nhưng nhiều lập trình viên cho rằng thực hành kém, vì nhiều lý do:
- Máy tính có thể phân biệt giữa ký tự tab và chuỗi các ký tự không gian, nhưng bạn có thể. Để một con người đọc mã, tab và các ký tự không gian không thể phân biệt trực quan.
- Một số trình chỉnh sửa văn bản được cấu hình để tự động loại bỏ các ký tự tab bằng cách mở rộng chúng đến số lượng không gian thích hợp.
- Một số môi trường Python sẽ không chèn các tab vào mã.
Trong Python [và hầu hết tất cả các ngôn ngữ máy tính phổ biến khác], một ký tự tab có thể được chỉ định bởi chuỗi thoát
>>> 5e-324
5e-324
>>> 1e-325
0.0
2:>>>
>>> print[0o10]
8
>>> print[0x10]
16
>>> print[0b10]
2
6Trình tự thoát
>>> 5e-324
5e-324
>>> 1e-325
0.0
2 làm cho ký tự >>> 5e-324
5e-324
>>> 1e-325
0.0
4 mất đi ý nghĩa thông thường của nó, đó là một >>> 5e-324
5e-324
>>> 1e-325
0.0
4 theo nghĩa đen. Thay vào đó, sự kết hợp được hiểu là một ký tự tab.Dưới đây là danh sách các chuỗi thoát khiến Python áp dụng ý nghĩa đặc biệt thay vì diễn giải theo nghĩa đen:
5 | Chấm dứt chuỗi bằng dấu phân cách mở trích dẫn |
Ký tự trích dẫn đơn nghĩa đen [ 6] | 7 |
Chấm dứt chuỗi bằng cách trích dẫn Double Trích dẫn Delimiter | Nhân vật trích dẫn kép theo nghĩa đen [ 8] |
9 | Chấm dứt dòng đầu vào |
Newline bị bỏ qua | 0 |
Giới thiệu trình tự thoát | Nhân vật Backslash [ 4] theo nghĩa đen |
Thông thường, một ký tự mới kết thúc đầu vào dòng. Vì vậy, việc nhấn enter ở giữa một chuỗi sẽ khiến Python nghĩ rằng nó không đầy đủ: | Để phá vỡ một chuỗi trên nhiều dòng, bao gồm một dấu gạch chéo ngược trước mỗi dòng mới và các dòng mới sẽ bị bỏ qua: |
4 | Để bao gồm một dấu gạch chéo ngược theo nghĩa đen trong một chuỗi, hãy thoát nó bằng một dấu gạch chéo ngược: |
Áp dụng ý nghĩa đặc biệt cho các ký tự | Tiếp theo, giả sử bạn cần tạo một chuỗi chứa một ký tự tab trong đó. Một số trình chỉnh sửa văn bản có thể cho phép bạn chèn một ký tự tab trực tiếp vào mã của bạn. Nhưng nhiều lập trình viên cho rằng thực hành kém, vì nhiều lý do: |
Máy tính có thể phân biệt giữa ký tự tab và chuỗi các ký tự không gian, nhưng bạn có thể. Để một con người đọc mã, tab và các ký tự không gian không thể phân biệt trực quan. | Một số trình chỉnh sửa văn bản được cấu hình để tự động loại bỏ các ký tự tab bằng cách mở rộng chúng đến số lượng không gian thích hợp. |
Một số môi trường Python sẽ không chèn các tab vào mã. | Trong Python [và hầu hết tất cả các ngôn ngữ máy tính phổ biến khác], một ký tự tab có thể được chỉ định bởi chuỗi thoát 2: |
Trình tự thoát 2 làm cho ký tự 4 mất đi ý nghĩa thông thường của nó, đó là một 4 theo nghĩa đen. Thay vào đó, sự kết hợp được hiểu là một ký tự tab. | Dưới đây là danh sách các chuỗi thoát khiến Python áp dụng ý nghĩa đặc biệt thay vì diễn giải theo nghĩa đen: |
Examples:
>>>
>>> print[0o10]
8
>>> print[0x10]
16
>>> print[0b10]
2
7Trình tự thoát
>>> 5e-324
5e-324
>>> 1e-325
0.0
6
>>> 5e-324
5e-324
>>> 1e-325
0.0
Nhân vật ASCII Bell [
>>> 5e-324
5e-324
>>> 1e-325
0.0
7]>>>
>>> print[0o10]
8
>>> print[0x10]
16
>>> print[0b10]
2
8Chuỗi chạy ba
Vẫn còn một cách khác để phân định chuỗi trong Python. Các chuỗi được trích dẫn ba được phân định bằng các nhóm phù hợp gồm ba trích dẫn đơn hoặc ba trích dẫn kép. Trình tự thoát vẫn hoạt động trong các chuỗi được trích dẫn ba, nhưng các trích dẫn đơn, trích dẫn kép và newlines có thể được bao gồm mà không cần thoát chúng. Điều này cung cấp một cách thuận tiện để tạo một chuỗi với cả trích dẫn đơn và đôi trong đó:
>>>
>>> print[0o10]
8
>>> print[0x10]
16
>>> print[0b10]
2
9Bởi vì Newlines có thể được bao gồm mà không cần thoát khỏi chúng, điều này cũng cho phép các chuỗi đa dòng:
>>>
>>> type[10]
>>> type[0o10]
>>> type[0x10]
0Bởi vì Newlines có thể được bao gồm mà không cần thoát khỏi chúng, điều này cũng cho phép các chuỗi đa dòng:
Bạn sẽ thấy trong hướng dẫn sắp tới về cấu trúc chương trình Python về cách các chuỗi được trích dẫn ba có thể được sử dụng để thêm một nhận xét giải thích cho mã Python.
Loại boolean, bối cảnh boolean và sự thật của người ”
>>>
>>> type[10]
>>> type[0o10]
>>> type[0x10]
1Bởi vì Newlines có thể được bao gồm mà không cần thoát khỏi chúng, điều này cũng cho phép các chuỗi đa dòng:
Bạn sẽ thấy trong hướng dẫn sắp tới về cấu trúc chương trình Python về cách các chuỗi được trích dẫn ba có thể được sử dụng để thêm một nhận xét giải thích cho mã Python.
Loại boolean, bối cảnh boolean và sự thật của người ”
Python 3 cung cấp một loại dữ liệu Boolean. Các đối tượng thuộc loại Boolean có thể có một trong hai giá trị, >>> print['This string contains a single quote ['] character.']
SyntaxError: invalid syntax
2 hoặc >>> print['This string contains a single quote ['] character.']
SyntaxError: invalid syntax
3:
>>> print['This string contains a single quote ['] character.']
SyntaxError: invalid syntax
>>> print['This string contains a single quote ['] character.']
SyntaxError: invalid syntax
Như bạn sẽ thấy trong các hướng dẫn sắp tới, các biểu thức trong Python thường được đánh giá trong bối cảnh Boolean, có nghĩa là chúng được giải thích để đại diện cho sự thật hoặc sự giả dối. Một giá trị đúng trong bối cảnh Boolean đôi khi được cho là sự thật của người Hồi giáo, và một điều sai trái trong bối cảnh Boolean được cho là Falsy. [Bạn cũng có thể thấy những người giả mạo của người Hồi
Sự thật của người Viking, một đối tượng của loại Boolean là hiển nhiên: các đối tượng Boolean bằng
>>> print['This string contains a single quote ['] character.']
SyntaxError: invalid syntax
2 là sự thật [đúng], và những đối tượng bằng >>> print['This string contains a single quote ['] character.']
SyntaxError: invalid syntax
3 là giả [sai]. Nhưng các đối tượng không phải là Boolean cũng có thể được đánh giá trong bối cảnh Boolean và được xác định là đúng hoặc sai.Bạn sẽ tìm hiểu thêm về đánh giá các đối tượng trong bối cảnh Boolean khi bạn gặp các toán tử logic trong hướng dẫn sắp tới về các nhà khai thác và biểu thức trong Python.
Hiện tại, một tổng quan ngắn gọn theo sau, chỉ để cảm nhận về những gì có sẵn. Xem tài liệu Python về các chức năng tích hợp để biết thêm chi tiết. Nhiều mô tả sau đây đề cập đến các chủ đề và khái niệm sẽ được thảo luận trong các hướng dẫn trong tương lai. | môn Toán |
Hàm số | Sự mô tả |
6 | Trả về giá trị tuyệt đối của một số |
7 | Trả lại thương số và phần còn lại của bộ phận số nguyên |
8 | Trả về các đối số hoặc mục lớn nhất trong một |
9 | Trả về nhỏ nhất trong số các đối số hoặc mục đã cho trong một |
0 | Tăng một con số lên một quyền lực |
>>> print["This string contains a single quote ['] character."]
This string contains a single quote ['] character.
>>> print['This string contains a double quote ["] character.']
This string contains a double quote ["] character.
1
>>> print["This string contains a single quote ['] character."]
This string contains a single quote ['] character.
>>> print['This string contains a double quote ["] character.']
This string contains a double quote ["] character.
Hiện tại, một tổng quan ngắn gọn theo sau, chỉ để cảm nhận về những gì có sẵn. Xem tài liệu Python về các chức năng tích hợp để biết thêm chi tiết. Nhiều mô tả sau đây đề cập đến các chủ đề và khái niệm sẽ được thảo luận trong các hướng dẫn trong tương lai. | môn Toán |
Hàm số | Sự mô tả |
6 | Trả về giá trị tuyệt đối của một số |
7 | Trả lại thương số và phần còn lại của bộ phận số nguyên |
8 | Trả về các đối số hoặc mục lớn nhất trong một |
9 | Trả về nhỏ nhất trong số các đối số hoặc mục đã cho trong một |
0 | Tăng một con số lên một quyền lực |
1 | Vòng một giá trị điểm nổi |
2 | Tổng hợp các mục của một người có thể |
Loại chuyển đổi | 3 |
Trả về một chuỗi chứa một biểu diễn có thể in của một đối tượng | môn Toán |
Hàm số | Sự mô tả |
6 | Trả về giá trị tuyệt đối của một số |
>>> print['This string contains a single quote ['] character.']
SyntaxError: invalid syntax
7
>>> print['This string contains a single quote ['] character.']
SyntaxError: invalid syntax
Hiện tại, một tổng quan ngắn gọn theo sau, chỉ để cảm nhận về những gì có sẵn. Xem tài liệu Python về các chức năng tích hợp để biết thêm chi tiết. Nhiều mô tả sau đây đề cập đến các chủ đề và khái niệm sẽ được thảo luận trong các hướng dẫn trong tương lai. | môn Toán |
Hàm số | Sự mô tả |
6 | Trả về giá trị tuyệt đối của một số |
7 | Trả lại thương số và phần còn lại của bộ phận số nguyên |
8 | Trả về các đối số hoặc mục lớn nhất trong một |
9 | Trả về nhỏ nhất trong số các đối số hoặc mục đã cho trong một |
0 | Tăng một con số lên một quyền lực |
1 | Vòng một giá trị điểm nổi |
2 | Tổng hợp các mục của một người có thể |
Loại chuyển đổi | 3 |
Trả về một chuỗi chứa một biểu diễn có thể in của một đối tượng | 4 |
Chuyển đổi số nguyên thành chuỗi nhị phân | 5 |
Chuyển đổi một đối số thành giá trị boolean | 6 |
Trả về biểu diễn chuỗi của ký tự được đưa ra bởi đối số số nguyên
Hiện tại, một tổng quan ngắn gọn theo sau, chỉ để cảm nhận về những gì có sẵn. Xem tài liệu Python về các chức năng tích hợp để biết thêm chi tiết. Nhiều mô tả sau đây đề cập đến các chủ đề và khái niệm sẽ được thảo luận trong các hướng dẫn trong tương lai. | môn Toán |
Hàm số | Sự mô tả |
6 | Trả về giá trị tuyệt đối của một số |
7 | Trả lại thương số và phần còn lại của bộ phận số nguyên |
8 | Trả về các đối số hoặc mục lớn nhất trong một |
9 | Trả về nhỏ nhất trong số các đối số hoặc mục đã cho trong một |
34 | Tạo đối tượng 35 |
36 | Tạo đối tượng 37 |
Các lớp, thuộc tính và kế thừa
38 | Trả về một phương thức lớp cho một hàm |
39 | Xóa một thuộc tính khỏi một đối tượng |
40 | Trả về giá trị của một thuộc tính được đặt tên của một đối tượng |
41 | Trả về 2 Nếu một đối tượng có thuộc tính nhất định |
43 | Xác định xem một đối tượng có phải là một thể hiện của một lớp nhất định |
44 | Xác định xem một lớp có phải là một lớp con của một lớp nhất định |
45 | Trả về giá trị thuộc tính của một lớp |
46 | Đặt giá trị của một thuộc tính được đặt tên của một đối tượng |
47 | Trả về một đối tượng proxy ủy quyền gọi cho cha mẹ hoặc lớp anh chị em |
Input/Output
38 | Trả về một phương thức lớp cho một hàm |
39 | Xóa một thuộc tính khỏi một đối tượng |
40 | Trả về giá trị của một thuộc tính được đặt tên của một đối tượng |
41 | Trả về 2 Nếu một đối tượng có thuộc tính nhất định |
>>> print[0o10]
8
>>> print[0x10]
16
>>> print[0b10]
2
43
>>> print[0o10]
8
>>> print[0x10]
16
>>> print[0b10]
2
38 | Trả về một phương thức lớp cho một hàm |
39 | Xóa một thuộc tính khỏi một đối tượng |
40 | Trả về giá trị của một thuộc tính được đặt tên của một đối tượng |
41 | Trả về 2 Nếu một đối tượng có thuộc tính nhất định |
43 | Xác định xem một đối tượng có phải là một thể hiện của một lớp nhất định |
>>> print[0o10]
8
>>> print[0x10]
16
>>> print[0b10]
2
44
>>> print[0o10]
8
>>> print[0x10]
16
>>> print[0b10]
2
38 | Trả về một phương thức lớp cho một hàm |
39 | Xóa một thuộc tính khỏi một đối tượng |
40 | Trả về giá trị của một thuộc tính được đặt tên của một đối tượng |
41 | Trả về 2 Nếu một đối tượng có thuộc tính nhất định |
43 | Xác định xem một đối tượng có phải là một thể hiện của một lớp nhất định |
44 | Xác định xem một lớp có phải là một lớp con của một lớp nhất định |
45 | Trả về giá trị thuộc tính của một lớp |
46 | Đặt giá trị của một thuộc tính được đặt tên của một đối tượng |
47 | Trả về một đối tượng proxy ủy quyền gọi cho cha mẹ hoặc lớp anh chị em |
>>> print[0o10]
8
>>> print[0x10]
16
>>> print[0b10]
2
48
>>> print[0o10]
8
>>> print[0x10]
16
>>> print[0b10]
2
Chuyển đổi một giá trị thành một biểu diễn được định dạngdata types and functions Python provides.
>>> print[0o10]
8
>>> print[0x10]
16
>>> print[0b10]
2
49Đọc đầu vào từ bảng điều khiểnvariables.
50 This tutorial has a related video course created by the Real Python team. Watch it together with the written tutorial to deepen your understanding: Basic Data Types in Python>>> print[0o10]
8
>>> print[0x10]
16
>>> print[0b10]
2