Since Python 3.6+ with an f string:

>>> '{:^14s}'.format(f'0x{data:02x}')
'     0x0a     '

Which can be (perhaps abusively) shortened to:

>>> f'{f"0x{data:02x}":^14}'
'     0x0a     '

And perhaps a little more straightforwardly:

>>> f'{format(data, "#04x"):^14}'
'     0x0a     '

With Python<3.6:

>>> '{:^14s}'.format('{:#04x}'.format(data))
'     0x0a     '
Answer from dawg on Stack Overflow
🌐
Finxter
blog.finxter.com › home › learn python blog › f-string python hex, oct, and bin: efficient number conversions
F-String Python Hex, Oct, and Bin: Efficient Number Conversions - Be on the Right Side of Change
March 27, 2023 - They improve upon the older string formatting methods, such as using %-formatting and the str.format() method. One of the key advantages of f-strings is their ability to handle various numeric representations, such as hexadecimal (hex), octal (oct), ...
🌐
Myshell
myshell.co.uk › blog › 2018 › 11 › python-f-string-formatting-cheatsheet
Python: f-string formatting cheatsheet :: myshell.co.uk
Note: All examples below were executed in Python interactive shell (REPL - Read, Eval, Print and Loop). [[fill]align][sign][#][0][width][grouping_option][.precision][type]
🌐
W3Schools
w3schools.com › python › python_string_formatting.asp
Python String Formatting
Before Python 3.6 we had to use the format() method. F-string allows you to format selected parts of a string.
🌐
Python Morsels
pythonmorsels.com › string-formatting
Python f-string tips & cheat sheets - Python Morsels
April 12, 2022 - Python also has format specifiers for representing numbers in binary or hexadecimal.
Top answer
1 of 2
3
Here's what I have as a reference. Basically a summary of the Format Specification Mini-Language . This would all go after a : in the f-string curly braces. So if you want a float with 2 decimal place precision, with * as fill and right aligned in a field width of 10 characters you'd do f"{val:*>10.2f}" [[fill]align][sign][#][0][minimumwidth][.precision][type] Fill: Add a character to fill with. Must be followed by Align flag. Align: '<' - Forces the field to be left-aligned within the available space (This is the default.) '>' - Forces the field to be right-aligned within the available space. '=' - Forces the padding to be placed after the sign (if any) but before the digits. This is used for printing fields in the form '+000000120'. This alignment option is only valid for numeric types. '^' - Forces the field to be centered within the available space. Sign: '+' - indicates that a sign should be used for both positive as well as negative numbers '-' - indicates that a sign should be used only for negative numbers (this is the default behavior) ' ' - indicates that a leading space should be used on positive numbers #: Flags alternate numbering formats; binary, octal, and hexadecimal output will be prefixed with '0b', '0o', and '0x', respectively. 0: Zero-padding. Equivalent to fill '=' and character of '0' Minimumwidth: Min width of the field. Precision: Decimal places for floats or max field size for non-numeric types. Type: Integers: 'b' - Binary. Outputs the number in base 2. 'c' - Character. Converts the integer to the corresponding Unicode character before printing. 'd' - Decimal Integer. Outputs the number in base 10. 'o' - Octal format. Outputs the number in base 8. 'x' - Hex format. Outputs the number in base 16, using lower- case letters for the digits above 9. 'X' - Hex format. Outputs the number in base 16, using upper- case letters for the digits above 9. 'n' - Number. This is the same as 'd', except that it uses the current locale setting to insert the appropriate number separator characters. '' (None) - the same as 'd' Floats: 'e' - Exponent notation. Prints the number in scientific notation using the letter 'e' to indicate the exponent. 'E' - Exponent notation. Same as 'e' except it converts the number to uppercase. 'f' - Fixed point. Displays the number as a fixed-point number. 'F' - Fixed point. Same as 'f' except it converts the number to uppercase. 'g' - General format. This prints the number as a fixed-point number, unless the number is too large, in which case it switches to 'e' exponent notation. 'G' - General format. Same as 'g' except switches to 'E' if the number gets to large. 'n' - Number. This is the same as 'g', except that it uses the current locale setting to insert the appropriate number separator characters. '%' - Percentage. Multiplies the number by 100 and displays in fixed ('f') format, followed by a percent sign. '' (None) - similar to 'g', except that it prints at least one digit after the decimal point.
2 of 2
1
A cheat sheet for f-string would be too short and kind of useless since f-string are super simple. If you want to put a number just do it. Ex. name: str = "Albus Dumbledore" age: int = 116 print(f"Name: {name}, Age: {age}") As you can see, I simply put age (which is an int) inside 2 brackets in the string (don't forget the f) and let Python do it's magic. (If you want you can use the example above as your cheat sheet)
🌐
Reddit
reddit.com › r/python › you should know these f-string tricks
r/Python on Reddit: You should know these f-string tricks
October 28, 2023 -

F-strings are faster than the other string formatting methods and are easier to read and use. Here are some tricks you may not have known.

1. Number formatting :

You can do various formatting with numbers.

>>> number = 150

>>> # decimal places to n -> .nf
>>> print(f"number: {number:.2f}")
number: 150.00

>>> # hex conversion
>>> print(f"hex: {number:#0x}")
hex: 0x96

>>> # binary conversion
>>> print(f"binary: {number:b}")
binary: 10010110

>>> # octal conversion
>>> print(f"octal: {number:o}")
octal: 226

>>> # scientific notation
>>> print(f"scientific: {number:e}")
scientific: 1.500000e+02

>>> # total number of characters
>>> print(f"Number: {number:09}")
Number: 000000150

>>> ratio = 1 / 2
>>> # percentage with 2 decimal places
>>> print(f"percentage = {ratio:.2%}")
percentage = 50.00%

2. Stop writing print(f”var = {var}”)

This is the debug feature with f-strings. This is known as self-documenting expression released in Python 3.8 .

>>> a, b = 5, 15
>>> print(f"a = {a}") # Doing this ?
a = 5
>>> # Do this instead.
>>> print(f"{a = }")
a = 5
>>> # Arithmatic operations
>>> print(f"{a + b = }")
a + b = 20
>>> # with formatting
>>> print(f"{a + b = :.2f}")
a + b = 20.00

3. Date formatting

You can do strftime() formattings from f-string.

>>> import datetime

>>> today = datetime.datetime.now()
>>> print(f"datetime : {today}")
datetime : 2023-10-27 11:05:40.282314

>>> print(f"date time: {today:%m/%d/%Y %H:%M:%S}")
date time: 10/27/2023 11:05:40

>>> print(f"date: {today:%m/%d/%Y}")
date: 10/27/2023

>>> print(f"time: {today:%H:%M:%S %p}")
time: 11:05:40 AM

Check more formatting options.

Part 2 - https://www.reddit.com/r/Python/s/Tzx7QQwa7A

Thank you for reading!

Comment down other tricks you know.
🌐
Medium
medium.com › @davidlfliang › intro-python-f-string-formatting-31657b6226fe
Intro — Python F-String Formatting | by David Liang | Medium
August 10, 2024 - In this example, 255 is converted to its hexadecimal representation, which is ff. ... In this example, you can define the field width and pad with leading zeros if required. ... In this case, each percentage is right-aligned in a field of width 10, with 2 decimal places. F-strings support nested expressions, which can be useful for more complex formatting.
Find elsewhere
🌐
YouTube
youtube.com › shorts › S-swX1rzwa4
How To Display A Number As Hex Using F-Strings - YouTube
In this python tutorial, I show you how to display a number as hex using f-strings. Let's get coding!======== Ask Case Digital ========If you have a question...
Published   December 4, 2024
🌐
LabEx
labex.io › tutorials › python-how-to-format-the-hexadecimal-output-in-python-417964
How to format the hexadecimal output in Python | LabEx
Different ways to format hexadecimal ... spaces: ab 2. Using f-strings: Basic format: ab Uppercase: AB With 0x prefix: 0xab With 0X prefix and uppercase: 0XAB Padded to 4 digits: 00ab Centered: ab 3....
🌐
ZetCode
zetcode.com › python › fstring
Python f-string - formatting strings in Python with f-string
F-strings enable direct conversion of bytes objects into hexadecimal representation using hex, while bytearray supports decoding into readable text using decode. These methods enhance the usability of binary data in formatted output. Python's Enum class allows defining symbolic constants, and ...
🌐
Python.org
discuss.python.org › python help
Add length parameter to hex - Python Help - Discussions on Python.org
April 22, 2023 - Hey everyone! During my wrok I need to convert int to hex and send it to a server. The problem is that data I send must be paired. To achieve this I write code like this: value_to_send = hex(value)[2:] if len(value_to_send) % 2: value_to_send = '0' + value_to_send My suggestion is to add optional parameter in hex() to automatically pad output with 0 Signature will be changed to def hex(value, length: int | None = None) -> str: pass You would use it like so: >>> hex(13) # 0xd >>> hex...
🌐
Python Forum
python-forum.io › thread-31611.html
Convert hex value into string
Hello, >>> hex_value = 0xFF >>> string_value = 'hex value is: ' + str(hex_value) >>> string_value 'hex value is: 255'How to get hex value is: FF ? Thanks Sancho
🌐
Cheatography
cheatography.com › brianallan › cheat-sheets › python-f-strings-number-formatting
Python F-Strings Number Formatting Cheat Sheet by BrianAllan - Download free from Cheatography - Cheatography.com: Cheat Sheets For Every Occasion
Contains formulas, tables, and examples showing patterns and options focused on number formatting for Python's Formatted String Literals -- i.e., F-Strings.
Rating: 0 ​ - ​ 2 votes
🌐
Finxter
blog.finxter.com › home › learn python blog › python int to hex | string formatting
Python Int to Hex | String Formatting - Be on the Right Side of Change
November 16, 2022 - 💬 Question: How to use Python’s string formatting capabilities — f-strings, percentage operator, format(), string.format() — to convert an integer to a hexadecimal string? Lowercase Solution without ‘0x’ Prefix You can convert an integer my_int to a simple lowercase hex string without '0x' prefix by using any of the four string formatting variants—all based on ...
🌐
Miguendes
miguendes.me › 73-examples-to-help-you-master-pythons-f-strings
Python F-String: 73 Examples to Help You Master It
November 7, 2020 - Learn Python f-strings by example. Use string interpolation to format float precision, multiline strings, decimal places, hex and other objects.
🌐
Note.nkmk.me
note.nkmk.me › home › python
How to Use f-strings in Python | note.nkmk.me
May 18, 2023 - PEP 498 -- Literal String Interpolation | Python.org · Contents · Basic usage of f-strings · Format specifications · Left-justify, center, right-justify · Zero-padding · Separator · Binary, octal, and hexadecimal representation · Decimal places and significant digits ·
🌐
Nickmccullum
nickmccullum.com › complete-guide-python-f-strings
The Complete Guide to Python f-Strings | Nick McCullum
In the above example, we call the functions “converttohex” and “converttostring” from the f-string to convert the given values to hex and then back to string format.
🌐
LabEx
labex.io › tutorials › python-how-to-ensure-precise-hex-formatting-436768
How to ensure precise hex formatting | LabEx
Python provides multiple ways to convert and format hexadecimal values: The built-in hex() function converts integers to hexadecimal strings:
🌐
Java2Blog
java2blog.com › home › python › print int as hex in python
Print int as hex in Python [3 ways] - Java2Blog
November 27, 2023 - The "x" in {number:x} specifies hexadecimal formatting, producing "ff". ... F-strings are efficient and highly readable, often offering better performance than traditional formatting methods. Below is a Python script that uses the timeit module to compare the performance of different methods ...