Python hex 0

Orri Ganel singxduck tại gmail. com
Thứ năm ngày 16 tháng 12 02. 44. 29 CET 2004
On Wed, 15 Dec 2004 17:47:58 -0800 [PST], Tony Cappellini
 wrote:
> 
> I'm trying to get Python to automatically print a leading 0 for hex
> numbers, but it only
> seems to work for for decimal numbers.
> 
> print "0x%0X" % 12345
> 
> displays
> 0x3039
> 
> instead of 0x03039
> 
> The Python docs state
> The conversion will be zero padded for numeric values, when a 0 is used as
> a flag between the % and the conversion type.
> 
> Is this expected Python behaviour, or a mistake?
> 
> Sure, I can add some code to calculate the length of the current string to
> decide if a leading 0 is needed., but if I don't have to, I'd rather not.
> 
> _______________________________________________
> Tutor maillist  -  Tutor at python.org
> //mail.python.org/mailman/listinfo/tutor
> 

>>> print "0x%0X" % 12345
0x3039
>>> print "0x%0.X" % 12345
0x3039
>>> print "0x%1X" % 12345
0x3039
>>> print "0x%10X" % 12345
0x      3039
>>> print "0x%2X" % 12345
0x3039
>>> print "0x%3X" % 12345
0x3039
>>> print "0x%0.10X" % 12345
0x0000003039
>>> print "0x%0.5X" % 12345
0x03039
>>> print "0x%0.5X" % 123456
0x1E240
>>> print "0x%0X" % 123456
0x1E240
>>> print "0x%0.5X" % 2222
0x008AE
>>> print "0x%0.5X" % 22222
0x056CE
>>> print "0x%0.5X" % 122222
0x1DD6E

Ok, so the character after the % and before the . is the padding
character, and the number after the . and before the X is the minimum
size for the string to be.

So

print "0x%0.5X" % 12345

seems to do what you want.

-- 
Email: singingxduck AT gmail DOT com
AIM: singingxduck
Programming Python for the fun of it.
Thông tin thêm về danh sách gửi thư Tutor

Nếu bạn in một số thập lục phân, Python sử dụng tiền tố

x = hex[42]

print[x]
# 0x2a

print[x[2:]]
# 2a
3 để chỉ ra rằng đó là một số trong hệ thống thập lục phân chứ không phải trong hệ thống thập phân như số nguyên bình thường

print[hex[42]]
# 0x2a

Tuy nhiên, nếu bạn đã biết rằng các số đầu ra là hệ thập lục phân, thì bạn không nhất thiết cần tiền tố

x = hex[42]

print[x]
# 0x2a

print[x[2:]]
# 2a
3

Làm cách nào để in số hex mà không có tiền tố

x = hex[42]

print[x]
# 0x2a

print[x[2:]]
# 2a
3?

Phương pháp 1. cắt lát

Để bỏ qua tiền tố, hãy sử dụng cắt và bắt đầu với chỉ mục 2 trên chuỗi thập lục phân. Ví dụ: để bỏ qua tiền tố

x = hex[42]

print[x]
# 0x2a

print[x[2:]]
# 2a
3 trên kết quả của
x = hex[42]

print[x]
# 0x2a

print[x[2:]]
# 2a
7, hãy sử dụng thao tác cắt
x = hex[42]

print[x]
# 0x2a

print[x[2:]]
# 2a
0 chỉ cho kết quả là số thập lục phân
x = hex[42]

print[x]
# 0x2a

print[x[2:]]
# 2a
1 mà không có tiền tố
x = hex[42]

print[x]
# 0x2a

print[x[2:]]
# 2a
3

x = hex[42]

print[x]
# 0x2a

print[x[2:]]
# 2a

Vui lòng đi sâu vào chức năng tích hợp sẵn của

x = hex[42]

print[x]
# 0x2a

print[x[2:]]
# 2a
3 trong video hướng dẫn này

Hàm hex[] trong Python – Không phải là một trò ảo thuật


Xem video này trên YouTube

Nhưng nếu bạn thực sự muốn thay thế tiền tố

x = hex[42]

print[x]
# 0x2a

print[x[2:]]
# 2a
3 bằng tiền tố
x = hex[42]

print[x]
# 0x2a

print[x[2:]]
# 2a
5 để chuỗi kết quả có cùng độ dài thì sao?

Phương pháp 2. Cắt lát + zfill[]

Phương thức

x = hex[42]

print[x]
# 0x2a

print[x[2:]]
# 2a
6 của Python điền vào chuỗi từ bên trái bằng các ký tự
x = hex[42]

print[x]
# 0x2a

print[x[2:]]
# 2a
7. Kết hợp với việc cắt từ ký tự thứ ba, bạn có thể dễ dàng xây dựng một chuỗi thập lục phân mà không cần đầu
x = hex[42]

print[x]
# 0x2a

print[x[2:]]
# 2a
3 ký tự và với đầu
x = hex[42]

print[x]
# 0x2a

print[x[2:]]
# 2a
7 ký tự cho đến độ dài được truyền vào phương thức
print[hex[42]]
# 0x2a
00

print[hex[42]]
# 0x2a
0

Ngoài ra, nếu bạn muốn tạo một chuỗi có 8 ký tự, hãy sử dụng

print[hex[42]]
# 0x2a
01

print[hex[42]]
# 0x2a
3

Bạn có thể tìm hiểu thêm về

print[hex[42]]
# 0x2a
02 trong video này về các phương thức chuỗi Python

Phương thức chuỗi Python [Hướng dẫn cơ bản]


Xem video này trên YouTube

Phương pháp 3. Số Hex âm

Nếu bạn cần xử lý các số thập lục phân âm, các phương pháp trên không hoạt động vì số hex lúc này cần thay thế ký tự thứ hai và thứ ba

x = hex[42]

print[x]
# 0x2a

print[x[2:]]
# 2a
3. Ví dụ: số thập lục phân
print[hex[42]]
# 0x2a
04 là
print[hex[42]]
# 0x2a
05. Bạn không thể đơn giản bỏ qua hai ký tự đầu tiên để có được kết quả chính xác, phải không? . Vậy lam gi?

Để in một hệ thập lục phân dương hoặc âm mà không có tiền tố

x = hex[42]

print[x]
# 0x2a

print[x[2:]]
# 2a
3 hoặc
print[hex[42]]
# 0x2a
07, bạn chỉ cần sử dụng phương pháp
print[hex[42]]
# 0x2a
08 và thay thế mỗi lần xuất hiện của
print[hex[42]]
# 0x2a
09 bằng
x = hex[42]

print[x]
# 0x2a

print[x[2:]]
# 2a
7. Chuỗi kết quả là chính xác về mặt toán học vì các
x = hex[42]

print[x]
# 0x2a

print[x[2:]]
# 2a
7 đứng đầu không thay đổi giá trị của số

x = hex[42]

print[x]
# 0x2a

print[x[2:]]
# 2a
2

Đi đâu từ đây?

Đủ lý thuyết. Hãy thực hành một số

Các lập trình viên được trả sáu con số trở lên vì họ có thể giải quyết vấn đề hiệu quả hơn bằng cách sử dụng trí thông minh máy móc và tự động hóa

Để trở nên thành công hơn trong việc viết mã, hãy giải quyết nhiều vấn đề thực tế hơn cho người thực. Đó là cách bạn trau dồi những kỹ năng bạn thực sự cần trong thực tế. Rốt cuộc, việc sử dụng lý thuyết học tập mà không ai cần là gì?

Bạn xây dựng các kỹ năng mã hóa có giá trị cao bằng cách làm việc trên các dự án mã hóa thực tế

Bạn có muốn ngừng học với các dự án đồ chơi và tập trung vào các dự án mã thực tế giúp bạn kiếm tiền và giải quyết các vấn đề thực sự cho mọi người không?

🚀 Nếu câu trả lời của bạn là CÓ. , cân nhắc trở thành nhà phát triển Python tự do. Đó là cách tốt nhất để tiếp cận nhiệm vụ cải thiện kỹ năng Python của bạn—ngay cả khi bạn là người hoàn toàn mới bắt đầu

Nếu bạn chỉ muốn tìm hiểu về cơ hội làm việc tự do, vui lòng xem hội thảo trên web miễn phí của tôi “Cách xây dựng kỹ năng Python có thu nhập cao của bạn” và tìm hiểu cách tôi phát triển công việc viết mã của mình trực tuyến cũng như cách bạn có thể làm được—từ sự thoải mái của bạn

Tham gia hội thảo trên web miễn phí ngay bây giờ

Lập Trình Hài Hước

Chris

Trong khi làm việc với tư cách là một nhà nghiên cứu trong các hệ thống phân tán, Dr. Christian Mayer tìm thấy tình yêu của mình với việc dạy sinh viên khoa học máy tính

Để giúp sinh viên đạt được mức độ thành công Python cao hơn, anh ấy đã thành lập trang web giáo dục lập trình Finxter. com. Ông là tác giả của cuốn sách lập trình nổi tiếng Python One-Liners [NoStarch 2020], đồng tác giả của loạt sách tự xuất bản Coffee Break Python, người đam mê khoa học máy tính, cộng tác viên tự do và chủ sở hữu của một trong 10 blog Python lớn nhất thế giới

Niềm đam mê của anh ấy là viết, đọc và mã hóa. Nhưng niềm đam mê lớn nhất của anh ấy là phục vụ các lập trình viên đầy tham vọng thông qua Finxter và giúp họ nâng cao kỹ năng của mình. Bạn có thể tham gia học viện email miễn phí của anh ấy tại đây

Chủ Đề