Ý nghĩa của \r trong Python là gì?
Có hàng tá bài viết so sánh R vs. Python từ quan điểm chủ quan, dựa trên quan điểm. Cả Python và R đều là những lựa chọn tuyệt vời để phân tích dữ liệu hoặc bất kỳ công việc nào trong lĩnh vực khoa học dữ liệu Show
Nhưng nếu mục tiêu của bạn là tìm ra ngôn ngữ nào phù hợp với mình, thì việc đọc ý kiến của người khác có thể không hữu ích. “Dễ” của người này là “khó” của người khác và ngược lại Trong bài viết này, chúng ta sẽ làm điều gì đó khác biệt. Chúng tôi sẽ xem xét khách quan cách cả hai ngôn ngữ xử lý các tác vụ khoa học dữ liệu hàng ngày để bạn có thể xem xét chúng song song và xem ngôn ngữ nào phù hợp hơn với bạn Hãy ghi nhớ, bạn không cần phải thực sự hiểu tất cả mã này để đưa ra đánh giá ở đây. Chúng tôi sẽ cung cấp cho bạn các đoạn mã R và Python cho từng tác vụ — chỉ cần quét qua mã và xem xét đoạn mã nào có vẻ “dễ đọc” hơn đối với bạn. Đọc phần giải thích và xem liệu một ngôn ngữ có hấp dẫn hơn ngôn ngữ kia không Tin tốt? . Nếu bạn đang muốn học một số kỹ năng lập trình để làm việc với dữ liệu, tham gia khóa học Python hoặc khóa học R sẽ là những lựa chọn tuyệt vời Tại sao bạn nên tin tưởng chúng tôiVì chúng tôi sẽ trình bày mã song song trong bài viết này nên bạn không thực sự cần phải “tin tưởng” vào bất cứ điều gì — bạn chỉ cần xem mã và đưa ra đánh giá của riêng mình Tuy nhiên, đối với hồ sơ, chúng tôi không đứng về phía nào trong cuộc tranh luận giữa R và Python. Cả hai ngôn ngữ đều tuyệt vời để làm việc với dữ liệu và cả hai đều có điểm mạnh và điểm yếu. Chúng tôi dạy cả hai, vì vậy chúng tôi không quan tâm đến việc hướng bạn đến cái này hơn cái kia R so với Python. Nhập CSVHãy chuyển ngay sang so sánh trong thế giới thực, bắt đầu với cách R và Python xử lý việc nhập CSV (Khi so sánh mã, chúng tôi cũng sẽ phân tích tập dữ liệu về các cầu thủ NBA và hiệu suất của họ trong mùa giải 2013-2014. Bạn có thể tải xuống tệp tại đây nếu bạn muốn tự mình dùng thử. ) R
con trăn
Trong cả hai ngôn ngữ, mã này sẽ tải tệp CSV 8, chứa dữ liệu về các cầu thủ NBA từ mùa giải 2013-2014, vào biến 9Sự khác biệt thực sự duy nhất là trong Python, chúng ta cần nhập thư viện gấu trúc để có quyền truy cập vào Dataframes. Trong R, mặc dù chúng ta có thể nhập dữ liệu bằng cách sử dụng hàm cơ sở R là 0, nhưng việc sử dụng hàm thư viện 1 là 2 có lợi thế về tốc độ nhanh hơn và diễn giải các loại dữ liệu một cách nhất quánCác khung dữ liệu có sẵn trong cả R và Python - chúng là các mảng (ma trận) hai chiều trong đó mỗi cột có thể thuộc một kiểu dữ liệu khác nhau. Bạn có thể coi chúng giống như phiên bản lập trình của bảng dữ liệu hoặc bảng tính. Khi kết thúc bước này, tệp CSV đã được cả hai ngôn ngữ tải vào khung dữ liệu Tìm số hàngR
con trăn
0Mặc dù cú pháp và định dạng hơi khác nhau, nhưng chúng ta có thể thấy rằng trong cả hai ngôn ngữ, chúng ta có thể nhận được cùng một thông tin rất dễ dàng Đầu ra ở trên cho chúng ta biết tập dữ liệu này có 481 hàng và 31 cột Kiểm tra hàng đầu tiên của dữ liệuR 1 2con trăn 3____12Một lần nữa, chúng ta có thể thấy rằng mặc dù có một số khác biệt nhỏ về cú pháp nhưng hai ngôn ngữ này rất giống nhau. Cần lưu ý rằng Python ở đây hướng đối tượng nhiều hơn - 3 là một phương thức trên đối tượng khung dữ liệu, trong khi R có một hàm 3 riêng biệtĐây là chủ đề chung mà chúng ta sẽ thấy khi bắt đầu phân tích các ngôn ngữ này. Python hướng đối tượng nhiều hơn và R có nhiều chức năng hơn Đừng lo lắng nếu bạn không hiểu sự khác biệt - đây chỉ đơn giản là hai cách tiếp cận lập trình khác nhau và trong bối cảnh làm việc với dữ liệu, cả hai cách tiếp cận đều có thể hoạt động rất tốt R so với Python. Tìm giá trị trung bình cho mỗi thống kêBây giờ, hãy tìm các giá trị trung bình cho từng thống kê trong tập dữ liệu của chúng tôi Các cột, như chúng ta có thể thấy, có các tên như 5 (thực hiện các bàn thắng trên sân) và 6 (kiến tạo). Đây là số liệu thống kê theo mùa và bộ dữ liệu của chúng tôi theo dõi chúng cho từng hàng (mỗi hàng đại diện cho một người chơi riêng lẻ)Nếu bạn muốn giải thích đầy đủ hơn về tất cả các số liệu thống kê, hãy xem tại đây. Hãy xem cách R và Python xử lý số liệu thống kê tóm tắt bằng cách tìm các giá trị trung bình cho mỗi số liệu thống kê trong dữ liệu R 0 1con trăn 2____13Bây giờ chúng ta có thể thấy một số khác biệt lớn trong cách tiếp cận của R so với Python Trong cả hai, chúng tôi đang áp dụng một chức năng trên các cột khung dữ liệu. Trong Python, sử dụng phương thức trung bình trên khung dữ liệu sẽ tìm giá trị trung bình của từng cột theo mặc định Trong R thì phức tạp hơn một chút. Chúng ta có thể sử dụng các hàm từ hai gói phổ biến để chọn các cột mà chúng ta muốn tính trung bình và áp dụng hàm 7 cho chúng. Toán tử 8, được gọi là “đường ống”, chuyển đầu ra của một hàm thành đầu vào cho hàm tiếp theo. Lấy giá trị trung bình của giá trị chuỗi (nói cách khác, dữ liệu văn bản không thể tính trung bình) sẽ chỉ dẫn đến kết quả là 9 — không khả dụng. Chúng ta chỉ có thể lấy giá trị trung bình của các cột số bằng cách sử dụng 00. Tuy nhiên, chúng ta cần bỏ qua giá trị 9 khi lấy giá trị trung bình (yêu cầu chúng ta chuyển 02 vào hàm 7). Nếu không, chúng tôi sẽ kết thúc bằng 9 cho giá trị trung bình của các cột như 05. Cột này là tỷ lệ phần trăm ba điểm. Một số người chơi đã không thực hiện cú đánh ba điểm, vì vậy tỷ lệ phần trăm của họ bị thiếu. Nếu chúng tôi thử hàm 7 trong R, chúng tôi nhận được phản hồi 9, trừ khi chúng tôi chỉ định 02, bỏ qua các giá trị 9 khi lấy giá trị trung bìnhNgược lại, phương thức 10 trong Python đã mặc định bỏ qua các giá trị nàyTạo biểu đồ phân tán theo cặpMột cách phổ biến để khám phá tập dữ liệu là xem các cột khác nhau tương quan với nhau như thế nào. Hãy so sánh các cột 6, 5 và 13R 4con trăn 5Cuối cùng, cả hai ngôn ngữ đều tạo ra những âm mưu rất giống nhau. Nhưng trong mã, chúng ta có thể thấy hệ sinh thái khoa học dữ liệu R có nhiều gói nhỏ hơn như thế nào (GGally là gói trợ giúp cho ggplot2, gói đồ thị R được sử dụng nhiều nhất) và nhiều gói trực quan hơn nói chung Trong Python, matplotlib là gói sơ đồ chính và seaborn là lớp được sử dụng rộng rãi trên matplotlib Với trực quan hóa trong Python, nhìn chung có một cách chính để làm điều gì đó, trong khi trong R, có nhiều gói hỗ trợ các phương pháp thực hiện khác nhau (ví dụ: có ít nhất nửa tá gói để tạo các ô cặp) Một lần nữa, không có cách tiếp cận nào là “tốt hơn”, nhưng R có thể mang lại sự linh hoạt hơn về khả năng chọn và chọn gói phù hợp nhất với bạn Lập nhóm người chơiMột cách hay khác để khám phá loại dữ liệu này là tạo các biểu đồ cụm. Những điều này sẽ cho thấy những người chơi nào giống nhau nhất (Hiện tại, chúng ta sẽ tạo các cụm; chúng ta sẽ vẽ chúng một cách trực quan trong bước tiếp theo. ) R 6con trăn 7Để phân cụm chính xác, chúng tôi cần xóa mọi cột không phải là số và cột có giá trị bị thiếu ( 9, 15, v.v.)Trong R, chúng tôi thực hiện việc này bằng cách áp dụng một hàm trên từng cột và xóa cột nếu cột đó có bất kỳ giá trị nào bị thiếu hoặc không phải là số. Sau đó, chúng tôi sử dụng gói cụm để thực hiện phương tiện k và tìm cụm 16 trong dữ liệu của mình. Chúng tôi đặt một hạt giống ngẫu nhiên bằng cách sử dụng 17 để có thể tái tạo kết quả của mìnhTrong Python, chúng tôi sử dụng gói máy học chính của Python, scikit-learning, để phù hợp với mô hình phân cụm k-mean và lấy nhãn cụm của chúng tôi. Chúng tôi thực hiện các phương pháp rất giống nhau để chuẩn bị dữ liệu mà chúng tôi đã sử dụng trong R, ngoại trừ việc chúng tôi sử dụng các phương pháp 18 và 19 để loại bỏ các cột không phải là số và các cột có giá trị bị thiếuVẽ sơ đồ người chơi theo cụmBây giờ chúng ta có thể vẽ sơ đồ người chơi theo cụm để khám phá các mẫu. Một cách để thực hiện việc này là trước tiên hãy sử dụng PCA để biến dữ liệu của chúng ta thành hai chiều, sau đó vẽ đồ thị và tô bóng từng điểm theo liên kết cụm R 8con trăn 9Ở trên, chúng tôi đã tạo một biểu đồ phân tán dữ liệu của mình và tô bóng hoặc thay đổi biểu tượng của từng điểm dữ liệu theo cụm của nó Trong R, chúng tôi đã sử dụng hàm 20, là một phần của thư viện cụm. Chúng tôi đã thực hiện PCA thông qua chức năng 21 được tích hợp trong RVới Python, chúng tôi đã sử dụng lớp PCA trong thư viện scikit-learning. Chúng tôi đã sử dụng matplotlib để tạo cốt truyện Một lần nữa, chúng ta có thể thấy rằng mặc dù cả hai ngôn ngữ đều có cách tiếp cận hơi khác nhau, nhưng kết quả cuối cùng và số lượng mã cần thiết để có được nó lại khá giống nhau Tách dữ liệu thành các tập huấn luyện và kiểm traNếu chúng ta muốn sử dụng R hoặc Python để học máy có giám sát, thì nên chia dữ liệu thành các tập huấn luyện và kiểm tra để chúng ta không bị quá khớp Hãy so sánh cách mỗi ngôn ngữ xử lý tác vụ học máy phổ biến này R 0con trăn 1So sánh Python với R, chúng ta có thể thấy rằng R được tích hợp nhiều khả năng phân tích dữ liệu hơn, như 22, 23 và 17, trong khi những thứ này trong Python được gọi thông qua các gói ( 25, 26, 27)Trong Python, một phiên bản gần đây của pandas đi kèm với phương thức 23 trả về một tỷ lệ hàng nhất định được lấy mẫu ngẫu nhiên từ khung dữ liệu nguồn — điều này làm cho mã ngắn gọn hơn nhiềuTrong R, có các gói giúp việc lấy mẫu đơn giản hơn, nhưng chúng không ngắn gọn hơn nhiều so với việc sử dụng hàm 23 tích hợp. Trong cả hai trường hợp, chúng tôi đặt một hạt giống ngẫu nhiên để làm cho kết quả có thể lặp lạiR so với Python. Hồi quy tuyến tính đơn biếnTiếp tục với các tác vụ máy học phổ biến, giả sử chúng ta muốn dự đoán số lần kiến tạo cho mỗi cầu thủ từ các bàn thắng trên sân mà mỗi cầu thủ thực hiện R 2con trăn 3Python ngắn gọn hơn một chút trong bước trước của chúng tôi, nhưng bây giờ R ngắn gọn hơn ở đây Gói Scikit-learning của Python có mô hình hồi quy tuyến tính mà chúng ta có thể khớp và tạo dự đoán từ R dựa vào các hàm 30 và 31 tích hợp. 31 sẽ hoạt động khác nhau tùy thuộc vào loại mô hình được trang bị được truyền vào nó — nó có thể được sử dụng với nhiều mô hình được trang bị khác nhauTính toán thống kê tóm tắt cho mô hìnhMột nhiệm vụ học máy phổ biến khác R 4 5con trăn 6 7Như chúng ta có thể thấy ở trên, chúng ta sẽ cần thực hiện nhiều hơn một chút trong Python so với R nếu chúng ta muốn nhận số liệu thống kê tóm tắt về mức độ phù hợp, chẳng hạn như giá trị bình phương r Với R, chúng ta có thể sử dụng hàm 33 có sẵn để lấy thông tin về mô hình ngay lập tức. Với Python, chúng ta cần sử dụng gói statsmodels, cho phép sử dụng nhiều phương thức thống kê trong PythonChúng tôi nhận được kết quả tương tự, mặc dù nhìn chung việc phân tích thống kê bằng Python khó hơn một chút và một số phương pháp thống kê tồn tại trong R không tồn tại trong Python Điều chỉnh mô hình rừng ngẫu nhiênHồi quy tuyến tính của chúng tôi hoạt động tốt trong trường hợp một biến, nhưng giả sử chúng tôi nghi ngờ có thể có sự phi tuyến tính trong dữ liệu. Vì vậy, chúng tôi muốn phù hợp với một mô hình rừng ngẫu nhiên Đây là cách chúng tôi có thể làm điều đó trong từng ngôn ngữ R 8con trăn 9Sự khác biệt chính ở đây là chúng tôi cần sử dụng thư viện RandomForest trong R để sử dụng thuật toán, trong khi thuật toán này đã được tích hợp sẵn để học scikit trong Python Scikit-learning có giao diện hợp nhất để làm việc với nhiều thuật toán học máy khác nhau trong Python. Thường chỉ có một triển khai chính của mỗi thuật toán Với R, có nhiều gói nhỏ hơn chứa các thuật toán riêng lẻ, thường có cách truy cập chúng không nhất quán. Điều này dẫn đến sự đa dạng hơn của các thuật toán (nhiều thuật toán có một số triển khai và một số mới ra khỏi phòng thí nghiệm nghiên cứu), nhưng có một chút ảnh hưởng đến khả năng sử dụng Nói cách khác, Python có thể dễ sử dụng hơn ở đây, nhưng R có thể linh hoạt hơn Lỗi tính toánBây giờ chúng ta đã có hai mô hình phù hợp, hãy tính toán lỗi trong R và Python. Chúng tôi sẽ sử dụng MSE R 0 1con trăn 2____23Trong Python, thư viện scikit-learning có nhiều chỉ số lỗi mà chúng ta có thể sử dụng. Trong R, có khả năng một số thư viện nhỏ hơn tính toán MSE, nhưng thực hiện thủ công khá dễ dàng bằng cả hai ngôn ngữ Bạn có thể nhận thấy có một sự khác biệt nhỏ trong các kết quả ở đây — điều đó gần như chắc chắn là do điều chỉnh tham số và không phải là vấn đề lớn (Nếu bạn tự chạy mã này, bạn cũng có thể nhận được các số khác nhau một chút, tùy thuộc vào phiên bản của từng gói và ngôn ngữ bạn đang sử dụng) R so với Python. Quét web, Phần 1Chúng tôi có dữ liệu về các cầu thủ NBA từ năm 2013-2014, nhưng hãy quét một số dữ liệu bổ sung để bổ sung cho nó Chúng tôi sẽ chỉ xem xét một điểm hộp từ Chung kết NBA tại đây để tiết kiệm thời gian R 4con trăn 5Trong Python, gói yêu cầu giúp việc tải xuống các trang web trở nên đơn giản, với API nhất quán cho tất cả các loại yêu cầu Trong R, RCurl cung cấp một cách đơn giản tương tự để thực hiện các yêu cầu Cả hai đều tải trang web về kiểu dữ liệu ký tự Ghi chú. bước này không cần thiết cho bước tiếp theo trong R, nhưng được hiển thị để so sánh Quét web, Phần 2Bây giờ chúng tôi đã tải xuống trang web bằng cả Python và R, chúng tôi sẽ cần phân tích cú pháp trang web đó để trích xuất điểm số cho người chơi R 6con trăn 7Trong cả hai ngôn ngữ, mã này sẽ tạo một danh sách chứa hai danh sách
Cả hai danh sách đều chứa tiêu đề, cùng với từng người chơi và số liệu thống kê trong trò chơi của họ. Bây giờ chúng tôi sẽ không biến dữ liệu này thành nhiều dữ liệu đào tạo hơn, nhưng nó có thể dễ dàng được chuyển thành định dạng có thể được thêm vào khung dữ liệu 9 của chúng tôiMã R phức tạp hơn mã Python, vì không có cách nào thuận tiện để sử dụng biểu thức chính quy để chọn các mục, vì vậy chúng tôi phải thực hiện phân tích cú pháp bổ sung để lấy tên nhóm từ HTML R cũng không khuyến khích sử dụng các vòng lặp 37 để áp dụng các hàm dọc theo vectơ. Chúng tôi sử dụng 38 để làm điều này, nhưng vì chúng tôi cần xử lý từng hàng khác nhau tùy thuộc vào việc đó có phải là tiêu đề hay không, nên chúng tôi chuyển chỉ mục của mục chúng tôi muốn và toàn bộ danh sách 39 vào hàmTrong R, chúng tôi sử dụng 20, gói quét web R được sử dụng rộng rãi để trích xuất dữ liệu chúng tôi cần. Lưu ý rằng chúng ta có thể chuyển một url trực tiếp vào rvest, vì vậy bước trước đó thực sự không cần thiết trong RTrong Python, chúng tôi sử dụng BeautifulSoup, gói quét web được sử dụng phổ biến nhất. Nó cho phép chúng tôi lặp qua các thẻ và xây dựng danh sách các danh sách một cách đơn giản R so với Python. Cái nào tốt hơn?Bây giờ chúng ta đã xem cách phân tích tập dữ liệu bằng cả R và Python. Và như chúng ta có thể thấy, mặc dù chúng làm mọi thứ hơi khác một chút, nhưng cả hai ngôn ngữ đều có xu hướng yêu cầu cùng một lượng mã để đạt được cùng một đầu ra Tất nhiên, có nhiều nhiệm vụ chúng tôi chưa đi sâu vào, chẳng hạn như duy trì kết quả phân tích của mình, chia sẻ kết quả với người khác, thử nghiệm và làm cho mọi thứ sẵn sàng sản xuất cũng như tạo thêm hình ảnh trực quan Còn rất nhiều điều để thảo luận về chủ đề này, nhưng chỉ dựa trên những gì chúng tôi đã làm ở trên, chúng tôi có thể rút ra một số kết luận có ý nghĩa về sự khác biệt của hai chủ đề này. (Theo như cái nào thực sự tốt hơn, đó là vấn đề sở thích cá nhân. ) R có nhiều chức năng hơn, Python hướng đối tượng hơn Như chúng ta đã thấy từ các hàm như 30, 31 và các hàm khác, R cho phép các hàm thực hiện hầu hết công việc. Đối chiếu điều này với lớp 23 trong Python và phương thức 23 trên DataframesVề mặt phân tích dữ liệu và khoa học dữ liệu, một trong hai cách tiếp cận đều hiệu quả. Khi chúng tôi xem số liệu thống kê tóm tắt, chúng tôi có thể sử dụng hàm dựng sẵn 33 trong R, nhưng phải nhập gói 26 trong Python. Dataframe là cấu trúc tích hợp trong R, nhưng phải được nhập qua gói 27 trong PythonPython có các gói "chính" cho các tác vụ phân tích dữ liệu, R có hệ sinh thái lớn hơn gồm các gói nhỏ Với Python, chúng ta có thể thực hiện hồi quy tuyến tính, rừng ngẫu nhiên, v.v. với gói scikit-learn. Nó cung cấp một API nhất quán và được duy trì tốt Trong R, chúng tôi có nhiều gói đa dạng hơn, nhưng cũng có sự phân mảnh lớn hơn và tính nhất quán kém hơn (hồi quy tuyến tính là một gói tích hợp, 30, 29 là một gói riêng biệt, v.v.)R có nhiều hỗ trợ thống kê hơn nói chung R được xây dựng như một ngôn ngữ thống kê, và nó cho thấy. 26 trong Python và các gói khác cung cấp phạm vi phù hợp cho các phương pháp thống kê, nhưng hệ sinh thái R lớn hơn nhiềuViệc thực hiện các tác vụ phi thống kê trong Python thường đơn giản hơn Với các thư viện được duy trì tốt như BeautifulSoup và các yêu cầu, việc tìm kiếm trang web trong Python đơn giản hơn trong R Điều này cũng áp dụng cho các tác vụ khác mà chúng tôi chưa xem xét kỹ lưỡng, chẳng hạn như lưu vào cơ sở dữ liệu, triển khai máy chủ web hoặc chạy các quy trình công việc phức tạp Vì Python được sử dụng trong nhiều ngành và lĩnh vực lập trình khác nhau, nên nó có thể là lựa chọn tốt hơn nếu bạn đang kết hợp công việc dữ liệu của mình với các loại tác vụ lập trình khác Mặt khác, nếu bạn tập trung vào dữ liệu và số liệu thống kê, R sẽ mang lại một số lợi thế do nó được phát triển tập trung vào số liệu thống kê. Có những điểm tương đồng rõ ràng giữa cả R và Python (Pandas Dataframes được lấy cảm hứng từ R dataframes, gói rvest được lấy cảm hứng từ BeautifulSoup) và cả hai hệ sinh thái tiếp tục phát triển mạnh mẽ hơn Trên thực tế, điều đáng chú ý là cú pháp và cách tiếp cận giống nhau như thế nào đối với nhiều tác vụ phổ biến ở cả hai ngôn ngữ R so với Python. Bạn nên học cái nào?Tại Dataquest, chúng tôi được biết đến nhiều nhất với các khóa học Python, nhưng chúng tôi đã làm lại hoàn toàn và khởi chạy lại Nhà phân tích dữ liệu của mình trong con đường R vì chúng tôi cảm thấy R là một ngôn ngữ tuyệt vời khác cho khoa học dữ liệu Chúng tôi coi cả hai ngôn ngữ là bổ sung cho nhau và mỗi ngôn ngữ đều có điểm mạnh và điểm yếu. Một trong hai ngôn ngữ có thể được sử dụng làm công cụ phân tích dữ liệu duy nhất của bạn, vì hướng dẫn này chứng minh. Cả hai ngôn ngữ đều có rất nhiều điểm tương đồng về cú pháp và cách tiếp cận, và bạn không thể sai với bất kỳ ngôn ngữ nào Cuối cùng, bạn có thể muốn học Python và R để có thể tận dụng điểm mạnh của cả hai ngôn ngữ, chọn ngôn ngữ này hoặc ngôn ngữ kia trên cơ sở từng dự án tùy thuộc vào nhu cầu của bạn Và tất nhiên, biết cả hai cũng giúp bạn trở thành một ứng viên linh hoạt hơn nếu bạn đang tìm kiếm một vị trí trong thế giới khoa học dữ liệu \r có nghĩa là Python là gì?Trong các chuỗi Python, dấu gạch chéo ngược "\" là một ký tự đặc biệt, còn được gọi là ký tự "thoát". Nó được sử dụng để đại diện cho các ký tự khoảng trắng nhất định. "\t" là một tab, "\n" là một dòng mới và "\r" là dấu xuống dòng .
\r có nghĩa là gì trong một tệp?Đây là một điều dễ dàng. Trong hầu hết các ngôn ngữ máy tính, “\r” đại diện cho “ dấu xuống hàng ”. Hai ký tự khi nhập vào chương trình máy tính sẽ được thay thế bằng một ký tự đơn có mã ASCII là 13. Đây là một ký tự "ẩn", vì nó không thực sự in bất cứ thứ gì trên màn hình, thông thường.
r ở phía trước của một chuỗi có nghĩa là gì Python?Chuỗi thô Python được tạo bằng cách đặt trước một chuỗi ký tự với 'r' hoặc 'R'. Chuỗi thô Python xử lý dấu gạch chéo ngược (\) dưới dạng ký tự bằng chữ. Điều này hữu ích khi chúng ta muốn có một chuỗi chứa dấu gạch chéo ngược và không muốn nó được coi là một ký tự thoát.
Dấu gạch chéo ngược có nghĩa là gì trong Python?Để chèn ký tự không hợp lệ vào chuỗi , hãy sử dụng ký tự thoát. Ký tự thoát là dấu gạch chéo ngược \ theo sau là ký tự bạn muốn chèn. |