Sự khác biệt giữa %d và %s trong python là gì?
Hướng dẫn giải thích sự khác biệt giữa Show
Toán tử 3 hoặc toán tử modulo. Cần duy trì thứ tự của các giá trị được in. Tuy nhiên, nếu phiên bản Python là 3, thì câu lệnh in sẽ được đặt trong ngoặc đơn; Một mã ví dụ được đưa ra bên dưới để minh họa thêm cách sử dụng
đầu ra Tuy nhiên, trong trường hợp số dấu phẩy động, toán tử
đầu ra
%s trong định dạng chuỗi PythonTrong Python, 3 được sử dụng với các loại dữ liệu khác nhau cho các mục đích khác nhau. %s được sử dụng làm trình giữ chỗ cho các giá trị chuỗi. Tuy nhiên, nó được sử dụng đặc biệt cho mục đích nối chuỗi. Trình định dạng chuỗi có thể lấy bất kỳ giá trị nào và đặt nó bên trong chuỗi với chuyển đổi kiểu tự động. Nó có thể được sử dụng để nối nhiều giá trị vào một chuỗi. Một mã ví dụ được đưa ra dưới đây để làm sáng tỏ việc sử dụng %s trong Python Python sử dụng định dạng chuỗi kiểu C để tạo các chuỗi mới, được định dạng. Toán tử "%" được sử dụng để định dạng một tập hợp các biến được đặt trong một "tuple" (danh sách kích thước cố định), cùng với một chuỗi định dạng, chứa văn bản bình thường cùng với "chỉ định đối số", các ký hiệu đặc biệt như "%s" Giả sử bạn có một biến gọi là "tên" với tên người dùng của bạn trong đó, và sau đó bạn muốn in (ra một lời chào tới người dùng đó. )
Để sử dụng hai hoặc nhiều trình xác định đối số, hãy sử dụng một bộ (dấu ngoặc đơn)
Bất kỳ đối tượng nào không phải là chuỗi cũng có thể được định dạng bằng toán tử %s. Chuỗi trả về từ phương thức "repr" của đối tượng đó được định dạng là chuỗi. Ví dụ
Dưới đây là một số thông số đối số cơ bản bạn nên biết
Bài tậpBạn sẽ cần viết một chuỗi định dạng in ra dữ liệu bằng cú pháp sau. In ra một chuỗi cố định như “Xin chào thế giới” rất đơn giản, nhưng thường không có giá trị lắm. Các chương trình Python hữu ích sử dụng phép nội suy chuỗi — nghĩa là chúng bao gồm các giá trị của một hoặc nhiều biến trong đầu ra của chúng Định dạng chuỗi là cách tiếp cận tiêu chuẩn để in ra các chuỗi chứa các giá trị từ một chương trình một cách an toàn và thuận tiện. Trong bài viết này, chúng tôi khám phá định dạng chuỗi Python và hiển thị các ví dụ về cách nó được thực hiện trong các chương trình Python Định dạng chuỗi là gì?Định dạng chuỗi liên quan đến việc lấy một tập hợp các biến và sử dụng một biểu thức, định dạng chúng thành một chuỗi được cung cấp có chứa các trình giữ chỗ cho các biến đó. Python sử dụng hai kiểu định dạng chuỗi khác nhau. kiểu Python 2 cũ hơn dựa trên toán tử modulo (%) và kiểu Python 3 mới hơn sử dụng dấu ngoặc nhọn và dấu hai chấm Định dạng chuỗi tiêu chuẩn của Python sử dụng toán tử modulo (dấu phần trăm) làm ký hiệu đặc biệt để biểu thị các loại định dạng khác nhau. Có mức độ tương đồng cao giữa toán tử % và hàm chuỗi định dạng printf trong ngôn ngữ lập trình C Đây là một ví dụ về định dạng chuỗi Python Các giá trị %d và %s ở đây đóng vai trò là từ khóa để chỉ ra vị trí cần đặt các biến sau toán tử % Bây giờ chúng ta sẽ đề cập đến cách sử dụng các từ xác định đối số, chẳng hạn như %s và %d từ ví dụ trên. Mặc dù chúng tôi sẽ đặc biệt tập trung vào việc chuyển đổi chuỗi và số, nhưng bạn sẽ cần đọc phần định dạng để có thêm thông tin chuyên sâu về các toán tử modulo chuỗi và các loại chuyển đổi Các phương pháp hay nhất để sử dụng %s và %d trong PythonCác chỉ định chuyển đổi như %s và %d xuất hiện trong chuỗi định dạng dưới dạng "phần giữ chỗ" cùng với văn bản thông thường. Các chỉ định này chỉ ra cách hoạt động sẽ định dạng các giá trị được chèn. Bây giờ, hãy xem lại ví dụ đầu tiên mà chúng ta đã xem xét, lần này tập trung vào các chỉ định chuyển đổi trong chuỗi định dạng — trong trường hợp này là %d và %s Khi kiểm tra dòng đầu tiên, bạn sẽ nhận thấy rằng %d trong chuỗi định dạng tương ứng với một số trong bộ dữ liệu, trong khi các từ xác định %s sau đây tương ứng với các giá trị chuỗi trong bộ dữ liệu. Các câu lệnh như %s và %d được gọi là các loại chuyển đổi hoặc các dấu hiệu cho phép toán tử biết loại giá trị mong đợi trong bộ dữ liệu. While a conversion specifier’s basic structure looks like % Các thành phần này cho phép kiểm soát tốt hơn việc hiển thị các loại chuyển đổi nhất định, nhưng vẫn là tùy chọn. Chỉ ký hiệu modulo và loại chuyển đổi là bắt buộc. Mặc dù có thể tìm thấy chi tiết về nhiều loại chuyển đổi khác nhau trong phần này, nhưng chúng tôi sẽ chỉ tập trung vào hai loại chuyển đổi phổ biến. %s và %d Cách sử dụng %sCó ba loại định dạng trong Python liên quan đến chuỗi. Trong khi s, r và a tạo đầu ra chuỗi bằng cách sử dụng các hàm tích hợp và tương ứng, s cho đến nay được gọi nhiều nhất. Trên thực tế, hầu như bạn sẽ luôn sử dụng python s khi chèn một chuỗi Về cơ bản, %s yêu cầu trình định dạng gọi hàm str() trên đối số để thực hiện str(arg) về cơ bản Khi sử dụng nhiều thay thế — chuỗi hoặc cách khác — trong một bộ, điều quan trọng cần nhớ là vị trí của các chuỗi trong bộ sẽ ảnh hưởng đến vị trí chúng sẽ được chèn vào. Ví dụ: nếu chúng ta chuyển đổi xung quanh các chuỗi trong bộ mẫu của mình, chúng ta sẽ nhận được đầu ra không có ý nghĩa Bạn cũng có thể lưu một chuỗi vào một biến và sử dụng tên biến đó trong bộ Lưu ý cách không có tuple trong ví dụ trên; . Nhớ lại rằng toán tử modulo chỉ nhận một đối số. Nó thường ở dạng một bộ, nhưng nếu bạn chỉ có một phép thay thế, thì biến đơn lẻ đó có thể đóng vai trò là đối số Cách sử dụng %dKhi bạn cần chuyển đổi một số, rất có thể bạn sẽ sử dụng %d. Chữ thập phân. Cũng như chuỗi, có một số loại biểu thị số. d, i và u có chức năng tương đương. Tất cả chúng đều chuyển đổi đối số đã chỉ định thành biểu diễn chuỗi của giá trị số hoặc thập phân, giúp bạn không phải truyền str(int(arg)) Trong ba loại, hầu như bạn sẽ luôn sử dụng %d để truyền số dưới dạng chuỗi trong định dạng chuỗi Python. Sự khác biệt kỹ thuật giữa %s và %d đơn giản là %d gọi int() trên đối số trước khi gọi str() Tất nhiên, bạn không thể gọi int() trên một chuỗi hoặc bất kỳ thứ gì khác ngoài một số. Vì vậy, nếu bạn sử dụng nhiều loại trong hoạt động của mình nhưng trộn lẫn thứ tự của bộ dữ liệu, thì bạn sẽ tạo ra một ngoại lệ Điều này sẽ không in 'Hawaii đã đi đến 7 con dê', nhưng thay vào đó sẽ dẫn đến lỗi. Điều này là do Python nhận ra rằng 'Hawaii' không phải là một số Các kịch bản sử dụng khác cho %s và %dBây giờ, hãy xem xét các chuyển đổi phức tạp hơn cho cả %s và %d bằng cách sử dụng từ điển Hãy nhớ thứ tự trong bộ quan trọng như thế nào khi chuyển một số giá trị vào chuỗi định dạng của bạn? . Nếu muốn sử dụng từ điển để theo dõi các biến, bạn có thể chuyển ánh xạ tới toán tử làm đối số của nó và sử dụng thay thế biến theo tên trong chuỗi định dạng của bạn Lưu ý cách ký hiệu modulo đứng trước một trình xác định chuyển đổi là một trong các khóa từ điển trong ngoặc đơn. Tên khóa này lần lượt theo sau là loại chuyển đổi. Sử dụng kỹ thuật này, bạn có thể chỉ định các giá trị được chèn theo thứ tự bất kỳ Bây giờ chúng ta đã hiểu rõ về các định dạng chuỗi Python bằng cách sử dụng toán tử modulo, hãy cùng xem xét một số lỗi phổ biến và cách chúng ta có thể tránh chúng Các lỗi thường gặp khi sử dụng %s và %dMột loạt lỗi phổ biến có thể xảy ra khi sử dụng %s. Chúng ta đã xem xét việc xáo trộn thứ tự các giá trị trong các bộ dữ liệu có thể gây ra các ngoại lệ do sự không tương thích về kiểu dữ liệu như thế nào, nhưng có những sự kết hợp khác liên quan đến bộ dữ liệu và từ điển có thể tạo ra lỗi. Chúng thường liên quan đến các vấn đề về độ dài trong bộ dữ liệu và các biến bị đặt tên sai trong từ điển Những lỗi phổ biến này, cùng với các lựa chọn thay thế định dạng chuỗi mới hơn, đã khiến Python không chú trọng đến “kiểu cũ” của định dạng modulo, mặc dù nó vẫn được hỗ trợ bởi các phiên bản mới nhất của Python và đó sẽ là trường hợp trong tương lai gần. Ngay cả khi bạn thích toán tử modulo hơn, bạn nên biết về các tùy chọn khác theo ý của mình để tránh lỗi F-StringTrăn 3. 6 đã giới thiệu một định dạng chuỗi Python mới được gọi là hoặc f-strings. Một chuỗi f giống như một chuỗi lưu thông thường cho hai tính năng. nó được thêm vào trước bởi ký tự f và sử dụng các biểu thức kèm theo — nghĩa là các biến trong dấu ngoặc nhọn sẽ được thay thế ở đầu ra Khi chạy, biểu thức được chuyển đổi thành biểu diễn chuỗi và được chèn vào chuỗi gốc ở vị trí đó str. định dạng()Hàm này đại diện cho “kiểu mới” của định dạng chuỗi. Sử dụng phương pháp này, tạo định dạng mong muốn Sử dụng chức năng định dạng trở nên phức tạp; Có một số khác biệt giữa một số Python. format() các kiểu trình bày và các kiểu chuyển đổi toán tử modulo chuỗi, nhưng quá nhỏ so với phạm vi của bài viết này Tìm hiểu thêmTrong bài viết này, chúng ta đã xem xét tầm quan trọng của định dạng chuỗi, cũng như cách sử dụng toán tử modulo và các phương pháp hay nhất để sử dụng các loại chuyển đổi %s và %d. Chúng tôi cũng đề cập đến các phương pháp định dạng chuỗi mới hơn mà các nhà phát triển Python có sẵn. Định dạng chuỗi chỉ là một kỹ năng phức tạp nhưng bổ ích mà bạn cần thành thạo với tư cách là một lập trình viên Python. Với rất nhiều thông tin có giá trị và hướng dẫn đẳng cấp thế giới có sẵn trực tuyến, không có lý do gì để bạn tụt lại phía sau. Trong khóa học của chúng tôi về Giới thiệu về lập trình, chúng tôi đề cập đến định dạng chuỗi và nhiều công cụ khác mà bạn sẽ cần để phát triển trong thế giới Python %d %s trong Python là gì?%s được sử dụng làm trình giữ chỗ cho các giá trị chuỗi mà bạn muốn đưa vào một chuỗi được định dạng. %d được sử dụng làm trình giữ chỗ cho các giá trị số hoặc thập phân. Ví dụ (đối với python 3) print ('%s is %d years old' % ('Joe', 42)) Sẽ xuất ra Joe là 42 tuổi
Sự khác biệt giữa %d và %i trong Python là gì?Đây là những gì con trăn. org phải nói về %i. Số thập phân có dấu. Và %d. Số thập phân có dấu. %d là số thập phân và %i là số nguyên. nhưng cả hai đều giống nhau, bạn có thể sử dụng cả hai
Sự khác biệt giữa %R và %S trong Python là gì?Sự khác biệt giữa %s và %r là %s sử dụng hàm str và %r sử dụng hàm repr . Bạn có thể đọc về sự khác biệt giữa str và repr trong câu trả lời này, nhưng đối với các loại tích hợp sẵn, sự khác biệt lớn nhất trong thực tế là repr cho chuỗi bao gồm dấu ngoặc kép và tất cả các ký tự đặc biệt đều được thoát.
%f %d %s là gì?%s đề cập đến kiểu dữ liệu chuỗi, %f đề cập đến kiểu dữ liệu float và %d đề cập đến kiểu dữ liệu kép . |