Dấu trong Python
Show
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 lúc đào sâu vào ngôn ngữ Python. Đầu tiên là thảo luận về các kiểu dữ liệu cơ bản được tích hợp trong Python. Đây là những gì bạn sẽ học trong hướng dẫn này:
Số nguyênTrong Python 3, thực sự không có giới hạn về độ dài của một giá trị số nguyên. Tất nhiên, nó bị hạn chế bởi dung lượng bộ nhớ mà hệ thống của bạn có, nhưng ngoài ra, một số nguyên có thể dài miễn là bạn cần: >>>
Python diễn giải một chuỗi các chữ số thập phân không có tiền tố nào là số thập phân: >>>
Các chuỗi sau có thể được thêm vào trước một giá trị số nguyên để chỉ ra một cơ số khác 10: Tiếp đầu ngữDiễn dịchCăn cứ 6(không + chữ thường 7) 8(không + chữ hoa 9)Nhị phân2 0(không + chữ thường 1) 2(không + chữ hoa 3)Bát phânsố 8 4(không + chữ thường 5) 6(không + chữ hoa 7)Hệ thập lục phân16Ví dụ: >>>
Để biết thêm thông tin về các giá trị số nguyên có cơ số không phải thập phân, hãy xem các trang Wikipedia sau: Nhị phân , Bát phân và Thập lục phân . Kiểu cơ bản của một số nguyên Python, bất kể cơ sở được sử dụng để chỉ định nó, được gọi là 8:>>>
Lưu ý: Đây là thời điểm tốt để đề cập rằng nếu bạn muốn hiển thị một giá trị khi đang ở trong phiên REPL, bạn không cần phải sử dụng 5hàm. Chỉ cần nhập giá trị tại 0dấu nhắc và nhấn Entersẽ hiển thị giá trị đó:>>>
Nhiều ví dụ trong loạt bài hướng dẫn này sẽ sử dụng tính năng này. Lưu ý rằng điều này không hoạt động bên trong tệp kịch bản. Một giá trị tự xuất hiện trên một dòng trong tệp script sẽ không thực hiện bất cứ điều gì. Số dấu phẩy độngCác 1loại bằng Python chỉ định một số dấu chấm động. 1các giá trị được chỉ định bằng dấu thập phân. Theo tùy chọn, ký tự 3hoặc 4theo sau là số nguyên dương hoặc âm có thể được thêm vào để chỉ định ký hiệu khoa học :>>>
Đọc thêm: Để biết thêm thông tin về biểu diễn dấu phẩy động trong Python và các cạm bẫy tiềm ẩn liên quan, hãy xem Số học Dấu phẩy động : Vấn đề và Hạn chế trong tài liệu Python. Số phứcSố phức được chỉ định như 7. Ví dụ:>>>
DâyChuỗi là chuỗi dữ liệu ký tự. Kiểu chuỗi trong Python được gọi 8.Các ký tự chuỗi có thể được phân tách bằng cách sử dụng dấu ngoặc kép hoặc đơn. Tất cả các ký tự giữa dấu phân cách mở và dấu phân cách đóng phù hợp là một phần của chuỗi: >>>
Một chuỗi trong Python có thể chứa bao nhiêu ký tự tùy thích. Giới hạn duy nhất là tài nguyên bộ nhớ của máy tính của bạn. Một chuỗi cũng có thể trống: >>> 0Điều gì sẽ xảy ra nếu bạn muốn bao gồm một ký tự trích dẫn như một phần của chính chuỗi? Động lực đầu tiên của bạn có thể là thử một cái gì đó như sau: >>> 1Như bạn có thể thấy, điều đó không hoạt động quá tốt. Chuỗi trong ví dụ này sẽ mở ra bằng một dấu nháy đơn, vì vậy Python giả định dấu nháy đơn tiếp theo, dấu trong ngoặc đơn được dự định là một phần của chuỗi, là dấu phân cách đóng. Dấu ngoặc kép cuối cùng sau đó là một dấu ngoặc kép và gây ra lỗi cú pháp được hiển thị. Nếu bạn muốn bao gồm một trong hai loại ký tự trích dẫn trong chuỗi, cách đơn giản nhất là phân tách chuỗi với loại còn lại. Nếu một chuỗi chứa một dấu ngoặc kép, hãy phân tách nó bằng dấu ngoặc kép và ngược lại: >>> 2Trì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 ký tự trong một chuỗi theo cách khác. Điều này có thể xảy ra theo một trong hai cách:
Bạn có thể thực hiện điều này bằng cách sử dụng 9ký tự dấu gạch chéo ngược ( ). Một ký tự gạch chéo ngược trong một chuỗi chỉ ra rằng một hoặc nhiều ký tự theo sau nó phải được xử lý đặc biệt. (Đây được gọi là chuỗi ký tự thoát, vì dấu gạch chéo ngược khiến chuỗi ký tự tiếp theo "thoát" ý nghĩa thông thường của nó.)Hãy xem cách này hoạt động như thế nào. Loại bỏ ý nghĩa ký tự đặc biệtBạn đã thấy những vấn đề mà bạn có thể gặp phải khi 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 tách bằng các dấu nháy đơn, bạn không thể chỉ định trực tiếp một ký tự trích dẫn duy nhất như một phần của chuỗi vì đối với chuỗi đó, dấu nháy đơn có ý nghĩa đặc biệt — nó kết thúc chuỗi: >>> 1Việc chỉ định một dấu gạch chéo ngược phía trước ký tự trích dẫn trong một chuỗi "thoát khỏi" nó và khiến Python loại bỏ ý nghĩa đặc biệt thông thường của nó. Sau đó, nó được hiểu đơn giản là một ký tự trích dẫn đơn theo nghĩa đen: >>> 4Điều tương tự cũng hoạt động trong một chuỗi được phân tách bằng dấu ngoặc kép: >>> 5Sau đây là bảng các chuỗi thoát khiến Python ngăn chặn cách diễn giải đặc biệt thông thường của một ký tự trong một chuỗi:
0Kết thúc chuỗi bằng dấu phân cách mở ngoặc képKý tự trích dẫn đơn ( 1) theo nghĩa đen 2Kết thúc chuỗi với dấu phân cách mở ngoặc képDấu ngoặc kép theo nghĩa đen ( 3) ký tự 4Kết thúc dòng đầu vàoDòng mới bị bỏ qua 5Giới thiệu trình tự thoátKý tự gạch chéo ngược theo nghĩa đen ( 9)Thông thường, một ký tự dòng mới kết thúc việc nhập dòng. Vì vậy, việc nhấn Entervào giữa một chuỗi sẽ khiến Python nghĩ rằng nó chưa hoàn chỉnh: >>> 6Để chia nhỏ một chuỗi trên nhiều dòng, hãy thêm 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: >>> 7Để 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 khỏi nó bằng dấu gạch chéo ngược: >>> 8Á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 có chứa ký tự tab trong đó. Một số trình soạn thảo văn bản có thể cho phép bạn chèn ký tự tab trực tiếp vào mã của mình. Nhưng nhiều lập trình viên cho rằng thực hành kém, vì một số lý do:
Trong Python (và hầu như 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ằng trình tự thoát 7:>>> 9Chuỗi thoát 7khiến 9ký tự mất đi ý nghĩa thông thường của nó, nghĩa đen 9. 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: Trình tự thoátDiễn giải "Đã thoát" 1Ký tự ASCII Bell ( 2) 3Ký tự ASCII Backspace ( 4) 5Ký tự ASCII Formfeed ( 6) 7Ký tự ASCII Linefeed ( 8) 9Ký tự từ cơ sở dữ liệu Unicode với 0 1Ký tự ASCII Carriage Return ( 2) 7Ký tự Tab ngang ASCII ( 4) 5Ký tự Unicode có giá trị hex 16 bit 6 7Ký tự Unicode có giá trị hex 32 bit 8 9Ký tự Tab dọc ASCII ( 0) 1Ký tự có giá trị bát phân 2 3Ký tự có giá trị hex 4Ví dụ: >>> 0Loại chuỗi thoát này thường được sử dụng để chèn các ký tự không được tạo sẵn từ bàn phím hoặc không dễ đọc hoặc không in được. Chuỗi thôMột ký tự chuỗi thô được đặt trước 5hoặc 6, chỉ định rằng các chuỗi thoát trong chuỗi được liên kết sẽ không được dịch. Ký tự gạch chéo ngược được để lại trong chuỗi:>>> 1Chuỗi ba dấu ngoặc képCó một cách khác để phân định chuỗi trong Python. Các chuỗi dấu ngoặc kép được phân định bằng cách khớp các nhóm gồm ba dấu ngoặc kép đơn hoặc ba dấu ngoặc kép. Các chuỗi thoát vẫn hoạt động trong các chuỗi được trích dẫn ba lần, nhưng các dấu ngoặc kép, dấu ngoặc kép và dòng mới có thể được đưa vào mà không cần thoát khỏi chúng. Điều này cung cấp một cách thuận tiện để tạo một chuỗi có cả dấu nháy đơn và dấu ngoặc kép trong đó: >>> 2Bởi vì các dòng mới 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 nhiều dòng: >>> 3Bạn sẽ thấy trong hướng dẫn sắp tới về Cấu trúc chương trình Python cách có thể sử dụng chuỗi ba dấu ngoặc kép để thêm nhận xét giải thích vào mã Python. Kiểu Boolean, Ngữ cảnh Boolean và "Độ tin cậy"Python 3 cung cấp kiểu dữ liệu Boolean . Các đối tượng kiểu Boolean có thể có một trong hai giá trị 7hoặc 8:>>> 4Như 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 ngữ cảnh Boolean, có nghĩa là chúng được hiểu để đại diện cho sự thật hoặc giả dối. Một giá trị đúng trong ngữ cảnh Boolean đôi khi được cho là "đúng" và một giá trị sai trong ngữ cảnh Boolean được cho là "giả". (Bạn cũng có thể thấy “falsy” được đánh vần là “falsey.”) Tính “trung thực” của một đối tượng kiểu Boolean là hiển nhiên: các đối tượng Boolean ngang bằng 7là true (đúng) và những đối tượng bằng là falsy 8(false). Nhưng các đối tượng không phải Boolean cũng có thể được đánh giá trong ngữ cảnh Boolean và được xác định là đúng hay sai.Bạn sẽ tìm hiểu thêm về cách đánh giá các đối tượng trong ngữ 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 toán tử và biểu thức trong Python. Chức năng tích hợp sẵnTrình thông dịch Python hỗ trợ nhiều hàm được tích hợp sẵn: 64, kể từ Python 3.6. Bạn sẽ đề cập đến nhiều vấn đề này trong các cuộc thảo luận sau, khi chúng xuất hiện trong ngữ cảnh. Hiện tại, sau đây là một bản tổng quan ngắn gọn, chỉ để đưa ra cảm nhận về những gì hiện có. Xem tài liệu Python về các hàm 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ánChức năngSự miêu tả 1Trả về giá trị tuyệt đối của một số 2Trả về thương và phần dư của phép chia số nguyên 3Trả về giá trị lớn nhất trong số các đối số hoặc mục đã cho trong một đối số có thể lặp lại 4Trả về giá trị nhỏ nhất trong số các đối số hoặc mục đã cho trong một đối số có thể lặp lại 5Tăng một số thành một lũy thừa 6Làm tròn giá trị dấu phẩy động 7Tính tổng các mục của một tệp có thể lặp lạiChuyển đổi loạiChức năngSự miêu tả 8Trả về một chuỗi chứa một biểu diễn có thể in được của một đối tượng 9Chuyển đổi một số nguyên thành một chuỗi nhị phân 00Chuyển đổi một đối số thành một giá trị Boolean 01Trả về biểu diễn chuỗi ký tự được cung cấp bởi đối số số nguyên 02Trả về một số phức được tạo từ các đối số 03Trả về một đối tượng dấu phẩy động được tạo từ một số hoặc chuỗi 04Chuyển đổi một số nguyên thành một chuỗi thập lục phân 05Trả về một đối tượng số nguyên được tạo từ một số hoặc chuỗi 06Chuyển đổi một số nguyên thành một chuỗi bát phân 07Trả về biểu diễn số nguyên của một ký tự 08Trả về một chuỗi chứa một biểu diễn có thể in được của một đối tượng 09Trả về phiên bản chuỗi của một đối tượng 10Trả về kiểu của một đối tượng hoặc tạo một đối tượng kiểu mớiLặp lại và Trình lặp lạiChức năngSự miêu tả 11Trả về 7nếu tất cả các phần tử của một tệp có thể lặp lại là true 13Trả về 7nếu bất kỳ phần tử nào của một tệp có thể lặp lại là đúng 15Trả về danh sách các bộ chứa các chỉ số và giá trị từ một tệp có thể lặp lại 16Lọc các phần tử từ một tệp có thể lặp lại 17Trả về một đối tượng trình lặp 18Trả về chiều dài của một đối tượng 19Áp dụng một chức năng cho mọi mục của một vật có thể lặp lại 20Lấy mục tiếp theo từ một trình lặp 21Tạo một loạt các giá trị số nguyên 22Trả về một trình lặp ngược 23Trả về một 24đối tượng 25Trả về danh sách đã sắp xếp từ một danh sách có thể lặp lại 26Tạo một trình lặp để tổng hợp các phần tử từ các tệp lặp lạiLoại dữ liệu tổng hợpChức năngSự miêu tả 27Tạo và trả về một đối tượng của 28lớp 29Tạo và trả về một 30đối tượng (tương tự như 28, nhưng không thể thay đổi) 32Tạo một 33đối tượng 34Tạo một 35đối tượng 36Tạo một 37đối tượng 38Tạo một đối tượng mới lạ 39Tạo một 40đối tượng 41Tạo một 42đối tượngLớp, Thuộc tính và Kế thừaChức năngSự miêu tả 43Trả về một phương thức lớp cho một hàm 44Xóa một thuộc tính khỏi một đối tượng 45Trả về giá trị của thuộc tính đã đặt tên của một đối tượng 46Trả về 7nếu một đối tượng có một thuộc tính nhất định 48Xá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 hay không 49Xác định xem một lớp có phải là lớp con của một lớp nhất định hay không 50Trả về giá trị thuộc tính của một lớp 51Đặt giá trị của thuộc tính được đặt tên của một đối tượng 52Trả về một đối tượng proxy mà phương thức ủy quyền gọi đến lớp cha hoặc lớp anh chị emĐầu ra đầu vàoChức năngSự miêu tả 53Chuyển đổi một giá trị thành một biểu diễn được định dạng 54Đọc đầu vào từ bảng điều khiển 55Mở tệp và trả về đối tượng tệp 5In dòng văn bản hoặc bảng điều khiểnBiến, Tham chiếu và Phạm viChức năngSự miêu tả 57Trả về danh sách các tên trong phạm vi cục bộ hiện tại hoặc danh sách các thuộc tính đối tượng 58Trả về một từ điển đại diện cho bảng ký hiệu chung hiện tại 59Trả về danh tính của một đối tượng 60Cập nhật và trả về một từ điển đại diện cho bảng ký hiệu cục bộ hiện tại 61Trả về 62thuộc tính cho một mô-đun , lớp hoặc đối tượngĐiều khoản khácChức năngSự miêu tả 63Trả về 7nếu đối tượng xuất hiện có thể gọi được 65Biên dịch nguồn thành mã hoặc đối tượng AST 66Đánh giá một biểu thức Python 67Triển khai thực thi động mã Python 68Trả về giá trị băm của một đối tượng 69Gọi hệ thống trợ giúp tích hợp sẵn 70Trả về một đối tượng dạng xem bộ nhớ 71Trả về một phương thức tĩnh cho một hàm 72Được mời bởi 73tuyên bốPhần kết luậnTrong hướng dẫn này, bạn đã tìm hiểu về các kiểu dữ liệu và chức năng tích hợp sẵn mà Python cung cấp. Các ví dụ được đưa ra cho đến nay đều có thao tác và chỉ hiển thị các giá trị không đổi. Trong hầu hết các chương trình, bạn thường muốn tạo các đối tượng thay đổi giá trị khi chương trình thực thi. |