Ответ Майкла Барбера будет наилучшим для скорости, так как в этом нет лишней логики. Если по какой-то причине вы обнаружите, что вам нужно сделать более детальную оценку, вы можете использовать модуль регулярных выражений стандартной библиотеки Python. Это поможет вам, если вы, например, решите, что хотите получить число, подобное описанному, но у вас есть дополнительные критерии, на которые вы хотите наложить слой.
import re
mystring = '.0323asdffa'
def find_number_with_or_without_decimal(mystring):
return re.findall(r"^\.?\d+", mystring)
In [1]: find_number_with_or_without_decimal(mystring)
Out[1]: ['.0323']
Регулярное выражение говорит: «найдите то, что начинается с одного десятичного знака (« ^ »означает только в начале строки, а«? »Означает до одного; десятичное число экранируется с помощью« \ », поэтому оно выигрывает не имеет специального регулярного выражения, означающего «любой символ») и имеет любое количество цифр. Удачи с Python!