Hướng dẫn what does %d do in python print? - % d làm gì trong bản in python?

Đây là tất cả các câu trả lời thông tin, nhưng không có câu trả lời nào hoàn toàn nhận được sự khác biệt giữa %s%d.

%s bảo định dạng gọi hàm

>>> '%d' % 34.5
'34'
1 trên đối số và vì chúng tôi đang ép buộc theo một chuỗi theo định nghĩa, %s về cơ bản chỉ thực hiện
>>> '%d' % 34.5
'34'
3.

Mặt khác, đang gọi

>>> '%d' % 34.5
'34'
5 trên đối số trước khi gọi
>>> '%d' % 34.5
'34'
1, như
>>> '%d' % 34.5
'34'
7, điều này sẽ gây ra sự ép buộc
>>> '%d' % 34.5
'34'
8 cũng như
>>> '%d' % 34.5
'34'
9 cưỡng chế.

Ví dụ: tôi có thể chuyển đổi giá trị hex thành thập phân,

>>> '%d' % 0x15
'21'

hoặc cắt ngắn một chiếc phao.

>>> '%d' % 34.5
'34'

Nhưng hoạt động sẽ tăng một ngoại lệ nếu đối số không phải là một số.

>>> '%d' % 'thirteen'
Traceback (most recent call last):
  File "", line 1, in 
TypeError: %d format: a number is required, not str

Vì vậy, nếu ý định chỉ là gọi

>>> '%d' % 34.5
'34'
3, thì %s là đủ, nhưng nếu bạn cần định dạng thêm (như định dạng các vị trí thập phân nổi) hoặc sự ép buộc khác, thì cần phải có các ký hiệu định dạng khác.

Với ký hiệu

>>> '%d' % 'thirteen'
Traceback (most recent call last):
  File "", line 1, in 
TypeError: %d format: a number is required, not str
2, khi bạn bỏ định dạng ra, mặc định là
>>> '%d' % 34.5
'34'
9.

>>> a = 1
>>> f'{a}'
'1'
>>> f'{a:d}'
'1'
>>> a = '1'
>>> f'{a:d}'
Traceback (most recent call last):
  File "", line 1, in 
ValueError: Unknown format code 'd' for object of type 'str'

Điều tương tự cũng đúng với

>>> '%d' % 'thirteen'
Traceback (most recent call last):
  File "", line 1, in 
TypeError: %d format: a number is required, not str
4; Mặc định là
>>> '%d' % 34.5
'34'
9.

>>> a = 1
>>> '{}'.format(a)
'1'
>>> '{!s}'.format(a)
'1'
>>> '{:d}'.format(a)
'1'

Đã trả lời ngày 2 tháng 12 năm 2020by Vinita (108K điểm) Dec 2, 2020 by vinita (108k points)

Vui lòng được thông báo rằng '%D' dành cho số thập phân trong Python trong khi '%s' dành cho chuỗi hoặc đối tượng chung và trong trường hợp của một đối tượng, nó sẽ được chuyển đổi thành dữ liệu loại chuỗi.

Tham khảo mã dưới đây để tham khảo:

name = 'Giacomo'

Số = 4.3

in (' %s %s %d %f %g' %(tên, số, số, số, số)))

Đầu ra:

Giacomo 4.3 4 4.300000 4.3

Như bạn có thể nhận thấy rằng %D sẽ cắt giảm thành số nguyên, %s sẽ duy trì định dạng, %F sẽ in dưới dạng float và %g được sử dụng cho số chung:

in (' % d' % (tên))

Mã trên sẽ ném một ngoại lệ vì chúng ta không thể chuyển đổi dữ liệu định dạng chuỗi thành dữ liệu định dạng số.


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" (một 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 "các định hướng đối số", các biểu tượng đặc biệt như "%s" và "%d".

Giả sử bạn có một biến có tên là "Tên" với tên người dùng của bạn trong đó và sau đó bạn muốn in (ra lời chào đến người dùng đó.)

# This prints out "Hello, John!"
name = "John"
print("Hello, %s!" % name)

Để sử dụng hai hoặc nhiều nhà xác định đối số, hãy sử dụng tuple (dấu ngoặc đơn):

# This prints out "John is 23 years old."
name = "John"
age = 23
print("%s is %d years old." % (name, age))

Bất kỳ đối tượng nào không phải là một 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ụ:

# This prints out: A list: [1, 2, 3]
mylist = [1,2,3]
print("A list: %s" % mylist)

Dưới đây là một số trình xác định đối số cơ bản mà bạn nên biết:

>>> '%d' % 'thirteen'
Traceback (most recent call last):
  File "", line 1, in 
TypeError: %d format: a number is required, not str
6

>>> '%d' % 'thirteen'
Traceback (most recent call last):
  File "", line 1, in 
TypeError: %d format: a number is required, not str
7

>>> '%d' % 'thirteen'
Traceback (most recent call last):
  File "", line 1, in 
TypeError: %d format: a number is required, not str
8

>>> '%d' % 'thirteen'
Traceback (most recent call last):
  File "", line 1, in 
TypeError: %d format: a number is required, not str
9

>>> a = 1
>>> f'{a}'
'1'
>>> f'{a:d}'
'1'
>>> a = '1'
>>> f'{a:d}'
Traceback (most recent call last):
  File "", line 1, in 
ValueError: Unknown format code 'd' for object of type 'str'
0

Tập thể dục

Bạn sẽ cần viết một chuỗi định dạng in dữ liệu bằng cú pháp sau:

>>> a = 1
>>> f'{a}'
'1'
>>> f'{a:d}'
'1'
>>> a = '1'
>>> f'{a:d}'
Traceback (most recent call last):
  File "", line 1, in 
ValueError: Unknown format code 'd' for object of type 'str'
1

>>> a = 1
>>> f'{a}'
'1'
>>> f'{a:d}'
'1'
>>> a = '1'
>>> f'{a:d}'
Traceback (most recent call last):
  File "", line 1, in 
ValueError: Unknown format code 'd' for object of type 'str'
2
>>> a = 1
>>> f'{a}'
'1'
>>> f'{a:d}'
'1'
>>> a = '1'
>>> f'{a:d}'
Traceback (most recent call last):
  File "", line 1, in 
ValueError: Unknown format code 'd' for object of type 'str'
3
>>> a = 1
>>> f'{a}'
'1'
>>> f'{a:d}'
'1'
>>> a = '1'
>>> f'{a:d}'
Traceback (most recent call last):
  File "", line 1, in 
ValueError: Unknown format code 'd' for object of type 'str'
4
>>> a = 1
>>> f'{a}'
'1'
>>> f'{a:d}'
'1'
>>> a = '1'
>>> f'{a:d}'
Traceback (most recent call last):
  File "", line 1, in 
ValueError: Unknown format code 'd' for object of type 'str'
5

%D và %s trong Python là gì?

%s được sử dụng làm trình giữ chỗ cho các giá trị chuỗi bạn muốn tiêm vào 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 số thập phân. %d is used as a placeholder for numeric or decimal values.

%D làm gì trong mã?

%d chỉ định số nguyên đã ký trong khi %I chỉ định số nguyên.Không có sự khác biệt giữa các nhà xác định định dạng %I và %D cho printf.Xem xét một ví dụ sau.specifies signed decimal integer while %i specifies integer. There is no difference between the %i and %d format specifiers for printf. Consider a following example.

Làm thế nào để bạn sử dụng %d %s trong python?

Trong, Python %s và %D được sử dụng để định dạng chuỗi.%s hoạt động một trình giữ chỗ cho một chuỗi trong khi %D hoạt động như một trình giữ chỗ cho một số.Các giá trị liên quan của chúng được truyền qua thông qua một tuple bằng toán tử %.%s acts a placeholder for a string while %d acts as a placeholder for a number. Their associated values are passed in via a tuple using the % operator.

Việc sử dụng %D và %F trong Python là gì?

%D định dạng được sử dụng để nhập các giá trị thập phân hoặc toàn bộ số.Nếu bạn cung cấp giá trị nổi, nó sẽ chuyển đổi nó thành một số toàn bộ, bằng cách cắt các giá trị sau điểm thập phân.%F formatter được sử dụng để nhập các giá trị float hoặc số có giá trị sau vị trí thập phân.. If you provide a float value, it will convert it to a whole number, by truncating the values after the decimal point. The %f formatter is used to input float values, or numbers with values after the decimal place.