Which, not only is ugly and slow
I’d dispute both.
A regex or other string parsing method would be uglier and slower.
I’m not sure that anything much could be faster than the above. It calls the function and returns. Try/Catch doesn’t introduce much overhead because the most common exception is caught without an extensive search of stack frames.
The issue is that any numeric conversion function has two kinds of results
- A number, if the number is valid
- A status code (e.g., via errno) or exception to show that no valid number could be parsed.
C (as an example) hacks around this a number of ways. Python lays it out clearly and explicitly.
I think your code for doing this is perfect.
Related Posts:
- How do I parse a string to a float or int?
- can’t multiply sequence by non-int of type ‘float’
- How do you round UP a number?
- How do you round UP a number?
- (Python) TypeError: ‘float’ object is not subscriptable
- Round a floating-point number down to the nearest integer?
- Limiting floats to two decimal points
- TypeError: ‘float’ object not iterable
- How to get a random number between a float range?
- How can I convert a character to a integer in Python, and viceversa?
- Convert columns to string in Pandas
- Change column type in pandas
- Convert bytes to int?
- Python, print all floats to 2 decimal places in output
- How to truncate float values?
- C convert floating point to int
- Python3 Error: TypeError: Can’t convert ‘bytes’ object to str implicitly
- Easy pretty printing of floats?
- Pandas error “Can only use .str accessor with string values”
- Python: Converting string into decimal number
- Convert a Unicode string to a string in Python (containing extra symbols)python string unicode type-conversion
- Float must be a string or a number?
- Checking if a string can be converted to float in Python
- Convert floats to ints in Pandas?
- Function to determine if two numbers are nearly equal when rounded to n significant decimal digits
- SyntaxError: unexpected EOF while parsing
- How do I lowercase a string in Python?
- How do I copy a file in Python?
- How can I reverse a list in Python?
- Manually raising (throwing) an exception in Python
- How do I copy a file in Python?
- Difference between del, remove, and pop on lists
- How can I reverse a list in Python?
- How to use the pass statement
- How to use filter, map, and reduce in Python 3
- What does enumerate() mean?
- Searching the student-t distribution table for values using python
- How to declare an array in Python?
- Does Python have a ternary conditional operator?
- Use Gif Logo For Loading Screen In Kivy
- Praw & Discord.py: The bot keep sending the same meme. I want the bot to send different meme whenever it is asked
- Pig Latin Translator
- What is the difference between Python’s list methods append and extend?
- How can I make a time delay in Python? [duplicate]
- Python – TypeError: ‘int’ object is not iterable
- TypeError: ‘int’ object is not subscriptable
- sphinx.ext.autodoc: Keeping names of constants in signature
- are there dictionaries in javascript like python?
- Understanding slice notation
- Iterating over dictionaries using ‘for’ loops
- How to define a two-dimensional array?
- how to sort pandas dataframe from one column
- Why am I seeing “TypeError: string indices must be integers”?
- Understanding slice notation
- TypeError: only integer scalar arrays can be converted to a scalar index with 1D numpy indices array
- How do I update\upgrade pip itself from inside my virtual environment?
- How to open a file using the open with statement
- How to emulate a do-while loop?
- How do I update\upgrade pip itself from inside my virtual environment?
- How to comment out a block of code in Python [duplicate]
- Microsoft Visual C++ 14.0 is required (Unable to find vcvarsall.bat)
- Using “with open() as file” method, how to write more than once? [duplicate]
- TypeError: list indices must be integers or slices, not str
- Why there is no do while loop in python
- How do I get a substring of a string in Python?
- How do I sort a dictionary by value?
- ImportError: DLL load failed: The specified module could not be found
- How do I sort a dictionary by value?
- How to prettyprint a JSON file?
- What does the “yield” keyword do?
- ImportError: DLL load failed: The specified module could not be found
- Replacements for switch statement in Python?
- How to install pip with Python 3?
- What is the difference between rw+ and r+
- What does ** (double star/asterisk) and * (star/asterisk) do for parameters?
- Renaming column names in Pandas
- How to reset index in a pandas dataframe? [duplicate]
- pip not recognised as an internal or external command
- Correct way to write line to file?
- Python: Find in list
- Does Python have a string ‘contains’ substring method?
- Is there a “not equal” operator in Python?
- IndexError: list index out of range and python
- How to read a file line-by-line into a list?
- Delete a column from a Pandas DataFrame
- strip(char) on a string
- Python – TypeError: ‘int’ object is not iterable
- How do I sort a dictionary by value?
- Import Error: No module named numpy
- How to deal with SettingWithCopyWarning in Pandas
- How to update/upgrade a package using pip?
- How to deal with SettingWithCopyWarning in Pandas
- ‘Syntax Error: invalid syntax’ for no apparent reason
- Python exit commands – why so many and when should each be used?
- How can I represent an infinite number in Python?
- Constructing pandas DataFrame from values in variables gives “ValueError: If using all scalar values, you must pass an index”
- How to iterate over rows in a DataFrame in Pandas
- pandas read_json: “If using all scalar values, you must pass an index”
- How to iterate over rows in a DataFrame in Pandas
- What is the Python equivalent for a case/switch statement? [duplicate]