
- Python - Home
- Python - Overview
- Python - History
- Python - Features
- Python vs C++
- Python - Hello World Program
- Python - Application Areas
- Python - Interpreter
- Python - Environment Setup
- Python - Virtual Environment
- Python - Basic Syntax
- Python - Variables
- Python - Data Types
- Python - Type Casting
- Python - Unicode System
- Python - Literals
- Python - Operators
- Python - Arithmetic Operators
- Python - Comparison Operators
- Python - Assignment Operators
- Python - Logical Operators
- Python - Bitwise Operators
- Python - Membership Operators
- Python - Identity Operators
- Python - Operator Precedence
- Python - Comments
- Python - User Input
- Python - Numbers
- Python - Booleans
- Python - Control Flow
- Python - Decision Making
- Python - If Statement
- Python - If else
- Python - Nested If
- Python - Match-Case Statement
- Python - Loops
- Python - for Loops
- Python - for-else Loops
- Python - While Loops
- Python - break Statement
- Python - continue Statement
- Python - pass Statement
- Python - Nested Loops
- Python Functions & Modules
- Python - Functions
- Python - Default Arguments
- Python - Keyword Arguments
- Python - Keyword-Only Arguments
- Python - Positional Arguments
- Python - Positional-Only Arguments
- Python - Arbitrary Arguments
- Python - Variables Scope
- Python - Function Annotations
- Python - Modules
- Python - Built in Functions
- Python Strings
- Python - Strings
- Python - Slicing Strings
- Python - Modify Strings
- Python - String Concatenation
- Python - String Formatting
- Python - Escape Characters
- Python - String Methods
- Python - String Exercises
- Python Lists
- Python - Lists
- Python - Access List Items
- Python - Change List Items
- Python - Add List Items
- Python - Remove List Items
- Python - Loop Lists
- Python - List Comprehension
- Python - Sort Lists
- Python - Copy Lists
- Python - Join Lists
- Python - List Methods
- Python - List Exercises
- Python Tuples
- Python - Tuples
- Python - Access Tuple Items
- Python - Update Tuples
- Python - Unpack Tuples
- Python - Loop Tuples
- Python - Join Tuples
- Python - Tuple Methods
- Python - Tuple Exercises
- Python Sets
- Python - Sets
- Python - Access Set Items
- Python - Add Set Items
- Python - Remove Set Items
- Python - Loop Sets
- Python - Join Sets
- Python - Copy Sets
- Python - Set Operators
- Python - Set Methods
- Python - Set Exercises
- Python Dictionaries
- Python - Dictionaries
- Python - Access Dictionary Items
- Python - Change Dictionary Items
- Python - Add Dictionary Items
- Python - Remove Dictionary Items
- Python - Dictionary View Objects
- Python - Loop Dictionaries
- Python - Copy Dictionaries
- Python - Nested Dictionaries
- Python - Dictionary Methods
- Python - Dictionary Exercises
- Python Arrays
- Python - Arrays
- Python - Access Array Items
- Python - Add Array Items
- Python - Remove Array Items
- Python - Loop Arrays
- Python - Copy Arrays
- Python - Reverse Arrays
- Python - Sort Arrays
- Python - Join Arrays
- Python - Array Methods
- Python - Array Exercises
- Python File Handling
- Python - File Handling
- Python - Write to File
- Python - Read Files
- Python - Renaming and Deleting Files
- Python - Directories
- Python - File Methods
- Python - OS File/Directory Methods
- Python - OS Path Methods
- Object Oriented Programming
- Python - OOPs Concepts
- Python - Classes & Objects
- Python - Class Attributes
- Python - Class Methods
- Python - Static Methods
- Python - Constructors
- Python - Access Modifiers
- Python - Inheritance
- Python - Polymorphism
- Python - Method Overriding
- Python - Method Overloading
- Python - Dynamic Binding
- Python - Dynamic Typing
- Python - Abstraction
- Python - Encapsulation
- Python - Interfaces
- Python - Packages
- Python - Inner Classes
- Python - Anonymous Class and Objects
- Python - Singleton Class
- Python - Wrapper Classes
- Python - Enums
- Python - Reflection
- Python Errors & Exceptions
- Python - Syntax Errors
- Python - Exceptions
- Python - try-except Block
- Python - try-finally Block
- Python - Raising Exceptions
- Python - Exception Chaining
- Python - Nested try Block
- Python - User-defined Exception
- Python - Logging
- Python - Assertions
- Python - Built-in Exceptions
- Python Multithreading
- Python - Multithreading
- Python - Thread Life Cycle
- Python - Creating a Thread
- Python - Starting a Thread
- Python - Joining Threads
- Python - Naming Thread
- Python - Thread Scheduling
- Python - Thread Pools
- Python - Main Thread
- Python - Thread Priority
- Python - Daemon Threads
- Python - Synchronizing Threads
- Python Synchronization
- Python - Inter-thread Communication
- Python - Thread Deadlock
- Python - Interrupting a Thread
- Python Networking
- Python - Networking
- Python - Socket Programming
- Python - URL Processing
- Python - Generics
- Python Libraries
- NumPy Tutorial
- Pandas Tutorial
- SciPy Tutorial
- Matplotlib Tutorial
- Django Tutorial
- OpenCV Tutorial
- Python Miscellenous
- Python - Date & Time
- Python - Maths
- Python - Iterators
- Python - Generators
- Python - Closures
- Python - Decorators
- Python - Recursion
- Python - Reg Expressions
- Python - PIP
- Python - Database Access
- Python - Weak References
- Python - Serialization
- Python - Templating
- Python - Output Formatting
- Python - Performance Measurement
- Python - Data Compression
- Python - CGI Programming
- Python - XML Processing
- Python - GUI Programming
- Python - Command-Line Arguments
- Python - Docstrings
- Python - JSON
- Python - Sending Email
- Python - Further Extensions
- Python - Tools/Utilities
- Python - GUIs
- Python Advanced Concepts
- Python - Abstract Base Classes
- Python - Custom Exceptions
- Python - Higher Order Functions
- Python - Object Internals
- Python - Memory Management
- Python - Metaclasses
- Python - Metaprogramming with Metaclasses
- Python - Mocking and Stubbing
- Python - Monkey Patching
- Python - Signal Handling
- Python - Type Hints
- Python - Automation Tutorial
- Python - Humanize Package
- Python - Context Managers
- Python - Coroutines
- Python - Descriptors
- Python - Diagnosing and Fixing Memory Leaks
- Python - Immutable Data Structures
- Python Useful Resources
- Python - Questions & Answers
- Python - Interview Questions & Answers
- Python - Online Quiz
- Python - Quick Guide
- Python - Reference
- Python - Cheatsheet
- Python - Projects
- Python - Useful Resources
- Python - Discussion
- Python Compiler
- NumPy Compiler
- Matplotlib Compiler
- SciPy Compiler
Python json.encoder.FLOAT_REPR Attribute
The Python json.encoder.FLOAT_REPR attribute was historically used to control the string representation of floating-point numbers in JSON encoding.
However, in modern versions of Python, this attribute has been removed, and floating-point representation is now handled internally by the built-in repr() function.
Syntax
Following is the syntax of the json.encoder.FLOAT_REPR attribute −
import json.encoder json.encoder.FLOAT_REPR = custom_float_repr_function
Description
- The FLOAT_REPR attribute was used to set a custom function for formatting floating-point numbers in JSON output.
- It allowed modifying how floats were represented as strings when encoding JSON.
- As of Python 3.6+, this attribute has been removed, and JSON encoding uses the default floating-point representation.
Example: Custom Float Representation
In this example, we define a custom float representation function and assign it to json.encoder.FLOAT_REPR (only applicable in older Python versions) −
import json # Define a custom float representation function def custom_float_repr(value): return format(value, ".2f") # Represent floats with two decimal places # Assign custom function to FLOAT_REPR (Only works in older Python versions) json.encoder.FLOAT_REPR = custom_float_repr # Sample dictionary with float values data = {"price": 12.34567, "weight": 9.87654} # Encode dictionary to JSON string json_output = json.dumps(data) print("Custom Float JSON:", json_output)
Following is the output obtained (Only in older Python versions) −
Custom Float JSON: {"price": 12.34567, "weight": 9.87654}
Example: Formatting Floats in Modern Python
Since FLOAT_REPR is no longer available, we can use the default parameter in json.dumps() to format floats −
import json # Define a function to format floats def format_floats(obj): if isinstance(obj, float): return format(obj, ".2f") # Keep two decimal places raise TypeError("Type not serializable") # Sample dictionary with float values data = {"length": 23.56789, "temperature": 98.65432} # Encode with custom float formatting json_output = json.dumps(data, default=format_floats) print("Formatted Float JSON:", json_output)
Following is the output of the above code −
Formatted Float JSON: {"length": 23.56789, "temperature": 98.65432}
Example: Using Custom Encoder Class
We can define a custom JSON encoder class to control float representation −
import json # Custom JSON encoder class class CustomFloatEncoder(json.JSONEncoder): def encode(self, obj): if isinstance(obj, float): return format(obj, ".3f") # Represent float with three decimal places return super().encode(obj) # Sample data with float values data = {"distance": 45.6789, "speed": 123.456789} # Encode with custom float formatting json_output = json.dumps(data, cls=CustomFloatEncoder) print("Custom Encoder JSON:", json_output)
We get the output as shown below −
Custom Encoder JSON: {"distance": 45.6789, "speed": 123.456789}
Example: Rounding Floats Before Encoding
We can manually round float values before encoding them to JSON −
import json # Sample dictionary with float values data = {"price": 45.67891, "tax": 7.891234} # Round float values before encoding rounded_data = {key: round(value, 2) if isinstance(value, float) else value for key, value in data.items()} # Encode dictionary to JSON string json_output = json.dumps(rounded_data) print("Rounded Float JSON:", json_output)
The result produced is as follows −
Rounded Float JSON: {"price": 45.68, "tax": 7.89}