Có vẻ như cho đến nay chỉ có hai câu trả lời xử lý các tiêu cực và số thập phân [thử ... ngoại trừ câu trả lời và regex?]. Tìm thấy một câu trả lời thứ ba ở đâu đó một thời gian trở lại ở đâu đó [đã thử tìm kiếm nó, nhưng không thành công] sử dụng kiểm tra trực tiếp rõ ràng của từng nhân vật chứ không phải là một regex đầy đủ.
Có vẻ như nó vẫn chậm hơn rất nhiều so với phương pháp thử/ngoại lệ, nhưng nếu bạn không muốn gây rối với những điều đó, một số trường hợp sử dụng có thể tốt hơn so với regex khi sử dụng nặng, đặc biệt nếu một số số ngắn/không -phủ định:
>>> from timeit import timeit
Trên Python 3.10 trên Windows hiển thị kết quả đại diện cho tôi:
Kiểm tra rõ ràng từng nhân vật::
>>> print[timeit['text="1234"; z=text[0]; [z.isdigit[] or z == "-" or z == "."] and all[character.isdigit[] or character == "." for character in text[1:]]']]
0.5673831000458449
>>> print[timeit['text="-4089175.25"; z=text[0]; [z.isdigit[] or z == "-" or z == "."] and all[character.isdigit[] or character == "." for character in text[1:]]']]
1.0832774000009522
>>> print[timeit['text="-97271851234.28975232364"; z=text[0]; [z.isdigit[] or z == "-" or z == "."] and all[character.isdigit[] or character == "." for character in text[1:]]']]
1.9836419000057504
Chậm hơn rất nhiều so với thử/ngoại trừ:try/except:
>>> def exception_try[string]:
... try:
... return type[float[string]] == int
... except:
... return false
>>> print[timeit['text="1234"; exception_try[text]', "from __main__ import exception_try"]]
0.22721579996868968
>>> print[timeit['text="-4089175.25"; exception_try[text]', "from __main__ import exception_try"]]
0.2409859000472352
>>> print[timeit['text="-97271851234.28975232364"; exception_try[text]', "from __main__ import exception_try"]]
0.45190039998851717
Nhưng nhanh hơn một chút so với Regex, trừ khi bạn có một chuỗi cực kỳ dài?regex, unless you have an extremely long string?
>>> print[timeit['import re']]
0.08660140004940331
[Trong trường hợp bạn đang sử dụng nó rồi] ... và sau đó:
>>> print[timeit['text="1234"; import re; num_format = re.compile["^[\-]?[1-9][0-9]*\.?[0-9]+$"]; re.match[num_format,text]']]
1.3882658999646083
>>> print[timeit['text="-4089175.25"; import re; num_format = re.compile["^[\-]?[1-9][0-9]*\.?[0-9]+$"]; re.match[num_format,text]']]
1.4007637000177056
>>> print[timeit['text="-97271851234.28975232364"; import re; num_format = re.compile["^[\-]?[1-9][0-9]*\.?[0-9]+$"]; re.match[num_format,text]']]
1.4191589000402018
Không có gì gần với những điều đơn giản nhất, nhưng tất nhiên điều đó sẽ không bắt được những tiêu cực ...isdecimal, but that of course won't catch the negatives...
>>> print[timeit['text="1234"; text.isdecimal[]']]
0.04747540003154427
Luôn luôn tốt để có các tùy chọn tùy thuộc vào nhu cầu?
Giới thiệu
Trong bài viết này, chúng tôi sẽ trải qua một vài ví dụ về cách kiểm tra xem một biến có phải là một số trong Python không.
Python được gõ động. Không cần phải khai báo một loại biến, trong khi khởi tạo nó - phiên dịch thông tin loại vào thời gian chạy:
variable = 4
another_variable = 'hello'
Ngoài ra, một biến có thể được chỉ định lại thành một loại mới tại bất kỳ thời điểm nào:
# Assign a numeric value
variable = 4
# Reassign a string value
variable = 'four'
Cách tiếp cận này, trong khi có lợi thế, cũng giới thiệu cho chúng tôi một vài vấn đề. Cụ thể, khi chúng tôi nhận được một biến, chúng tôi thường không biết nó là loại nào. Nếu chúng tôi mong đợi một số, nhưng nhận
>>> print[timeit['text="1234"; z=text[0]; [z.isdigit[] or z == "-" or z == "."] and all[character.isdigit[] or character == "." for character in text[1:]]']]
0.5673831000458449
>>> print[timeit['text="-4089175.25"; z=text[0]; [z.isdigit[] or z == "-" or z == "."] and all[character.isdigit[] or character == "." for character in text[1:]]']]
1.0832774000009522
>>> print[timeit['text="-97271851234.28975232364"; z=text[0]; [z.isdigit[] or z == "-" or z == "."] and all[character.isdigit[] or character == "." for character in text[1:]]']]
1.9836419000057504
6, chúng tôi sẽ muốn kiểm tra xem đó có phải là số trước khi làm việc với nó không.Sử dụng hàm loại []
Hàm
>>> print[timeit['text="1234"; z=text[0]; [z.isdigit[] or z == "-" or z == "."] and all[character.isdigit[] or character == "." for character in text[1:]]']]
0.5673831000458449
>>> print[timeit['text="-4089175.25"; z=text[0]; [z.isdigit[] or z == "-" or z == "."] and all[character.isdigit[] or character == "." for character in text[1:]]']]
1.0832774000009522
>>> print[timeit['text="-97271851234.28975232364"; z=text[0]; [z.isdigit[] or z == "-" or z == "."] and all[character.isdigit[] or character == "." for character in text[1:]]']]
1.9836419000057504
7 trong Python trả về loại đối số chúng ta chuyển cho nó, vì vậy đó là một hàm tiện dụng cho mục đích này:myNumber = 1
print[type[myNumber]]
myFloat = 1.0
print[type[myFloat]]
myString = 's'
print[type[myString]]
Kết quả này trong:
Do đó, một cách để kiểm tra loại là:
>>> print[timeit['text="1234"; z=text[0]; [z.isdigit[] or z == "-" or z == "."] and all[character.isdigit[] or character == "." for character in text[1:]]']]
0.5673831000458449
>>> print[timeit['text="-4089175.25"; z=text[0]; [z.isdigit[] or z == "-" or z == "."] and all[character.isdigit[] or character == "." for character in text[1:]]']]
1.0832774000009522
>>> print[timeit['text="-97271851234.28975232364"; z=text[0]; [z.isdigit[] or z == "-" or z == "."] and all[character.isdigit[] or character == "." for character in text[1:]]']]
1.9836419000057504
0Ở đây, chúng tôi kiểm tra xem loại biến, được nhập bởi người dùng là
>>> print[timeit['text="1234"; z=text[0]; [z.isdigit[] or z == "-" or z == "."] and all[character.isdigit[] or character == "." for character in text[1:]]']]
0.5673831000458449
>>> print[timeit['text="-4089175.25"; z=text[0]; [z.isdigit[] or z == "-" or z == "."] and all[character.isdigit[] or character == "." for character in text[1:]]']]
1.0832774000009522
>>> print[timeit['text="-97271851234.28975232364"; z=text[0]; [z.isdigit[] or z == "-" or z == "."] and all[character.isdigit[] or character == "." for character in text[1:]]']]
1.9836419000057504
8 hoặc >>> print[timeit['text="1234"; z=text[0]; [z.isdigit[] or z == "-" or z == "."] and all[character.isdigit[] or character == "." for character in text[1:]]']]
0.5673831000458449
>>> print[timeit['text="-4089175.25"; z=text[0]; [z.isdigit[] or z == "-" or z == "."] and all[character.isdigit[] or character == "." for character in text[1:]]']]
1.0832774000009522
>>> print[timeit['text="-97271851234.28975232364"; z=text[0]; [z.isdigit[] or z == "-" or z == "."] and all[character.isdigit[] or character == "." for character in text[1:]]']]
1.9836419000057504
9, tiến hành chương trình nếu có. Mặt khác, chúng tôi thông báo cho người dùng rằng họ đã nhập biến không số. Xin lưu ý rằng nếu bạn so sánh với nhiều loại, chẳng hạn như >>> print[timeit['text="1234"; z=text[0]; [z.isdigit[] or z == "-" or z == "."] and all[character.isdigit[] or character == "." for character in text[1:]]']]
0.5673831000458449
>>> print[timeit['text="-4089175.25"; z=text[0]; [z.isdigit[] or z == "-" or z == "."] and all[character.isdigit[] or character == "." for character in text[1:]]']]
1.0832774000009522
>>> print[timeit['text="-97271851234.28975232364"; z=text[0]; [z.isdigit[] or z == "-" or z == "."] and all[character.isdigit[] or character == "." for character in text[1:]]']]
1.9836419000057504
8 hoặc >>> print[timeit['text="1234"; z=text[0]; [z.isdigit[] or z == "-" or z == "."] and all[character.isdigit[] or character == "." for character in text[1:]]']]
0.5673831000458449
>>> print[timeit['text="-4089175.25"; z=text[0]; [z.isdigit[] or z == "-" or z == "."] and all[character.isdigit[] or character == "." for character in text[1:]]']]
1.0832774000009522
>>> print[timeit['text="-97271851234.28975232364"; z=text[0]; [z.isdigit[] or z == "-" or z == "."] and all[character.isdigit[] or character == "." for character in text[1:]]']]
1.9836419000057504
9, bạn phải sử dụng hàm >>> print[timeit['text="1234"; z=text[0]; [z.isdigit[] or z == "-" or z == "."] and all[character.isdigit[] or character == "." for character in text[1:]]']]
0.5673831000458449
>>> print[timeit['text="-4089175.25"; z=text[0]; [z.isdigit[] or z == "-" or z == "."] and all[character.isdigit[] or character == "." for character in text[1:]]']]
1.0832774000009522
>>> print[timeit['text="-97271851234.28975232364"; z=text[0]; [z.isdigit[] or z == "-" or z == "."] and all[character.isdigit[] or character == "." for character in text[1:]]']]
1.9836419000057504
7 cả hai lần.Nếu chúng ta chỉ nói
>>> def exception_try[string]:
... try:
... return type[float[string]] == int
... except:
... return false
>>> print[timeit['text="1234"; exception_try[text]', "from __main__ import exception_try"]]
0.22721579996868968
>>> print[timeit['text="-4089175.25"; exception_try[text]', "from __main__ import exception_try"]]
0.2409859000472352
>>> print[timeit['text="-97271851234.28975232364"; exception_try[text]', "from __main__ import exception_try"]]
0.45190039998851717
3, điều này có vẻ ổn, một vấn đề sẽ phát sinh:>>> print[timeit['text="1234"; z=text[0]; [z.isdigit[] or z == "-" or z == "."] and all[character.isdigit[] or character == "." for character in text[1:]]']]
0.5673831000458449
>>> print[timeit['text="-4089175.25"; z=text[0]; [z.isdigit[] or z == "-" or z == "."] and all[character.isdigit[] or character == "." for character in text[1:]]']]
1.0832774000009522
>>> print[timeit['text="-97271851234.28975232364"; z=text[0]; [z.isdigit[] or z == "-" or z == "."] and all[character.isdigit[] or character == "." for character in text[1:]]']]
1.9836419000057504
1Điều này, bất kể đầu vào, trả về:
>>> print[timeit['text="1234"; z=text[0]; [z.isdigit[] or z == "-" or z == "."] and all[character.isdigit[] or character == "." for character in text[1:]]']]
0.5673831000458449
>>> print[timeit['text="-4089175.25"; z=text[0]; [z.isdigit[] or z == "-" or z == "."] and all[character.isdigit[] or character == "." for character in text[1:]]']]
1.0832774000009522
>>> print[timeit['text="-97271851234.28975232364"; z=text[0]; [z.isdigit[] or z == "-" or z == "."] and all[character.isdigit[] or character == "." for character in text[1:]]']]
1.9836419000057504
2Điều này là do Python kiểm tra các giá trị sự thật của các tuyên bố. Các biến trong Python có thể được đánh giá là
>>> def exception_try[string]:
... try:
... return type[float[string]] == int
... except:
... return false
>>> print[timeit['text="1234"; exception_try[text]', "from __main__ import exception_try"]]
0.22721579996868968
>>> print[timeit['text="-4089175.25"; exception_try[text]', "from __main__ import exception_try"]]
0.2409859000472352
>>> print[timeit['text="-97271851234.28975232364"; exception_try[text]', "from __main__ import exception_try"]]
0.45190039998851717
4 ngoại trừ >>> def exception_try[string]:
... try:
... return type[float[string]] == int
... except:
... return false
>>> print[timeit['text="1234"; exception_try[text]', "from __main__ import exception_try"]]
0.22721579996868968
>>> print[timeit['text="-4089175.25"; exception_try[text]', "from __main__ import exception_try"]]
0.2409859000472352
>>> print[timeit['text="-97271851234.28975232364"; exception_try[text]', "from __main__ import exception_try"]]
0.45190039998851717
5, >>> def exception_try[string]:
... try:
... return type[float[string]] == int
... except:
... return false
>>> print[timeit['text="1234"; exception_try[text]', "from __main__ import exception_try"]]
0.22721579996868968
>>> print[timeit['text="-4089175.25"; exception_try[text]', "from __main__ import exception_try"]]
0.2409859000472352
>>> print[timeit['text="-97271851234.28975232364"; exception_try[text]', "from __main__ import exception_try"]]
0.45190039998851717
6, >>> def exception_try[string]:
... try:
... return type[float[string]] == int
... except:
... return false
>>> print[timeit['text="1234"; exception_try[text]', "from __main__ import exception_try"]]
0.22721579996868968
>>> print[timeit['text="-4089175.25"; exception_try[text]', "from __main__ import exception_try"]]
0.2409859000472352
>>> print[timeit['text="-97271851234.28975232364"; exception_try[text]', "from __main__ import exception_try"]]
0.45190039998851717
7 và các thùng chứa trống như >>> def exception_try[string]:
... try:
... return type[float[string]] == int
... except:
... return false
>>> print[timeit['text="1234"; exception_try[text]', "from __main__ import exception_try"]]
0.22721579996868968
>>> print[timeit['text="-4089175.25"; exception_try[text]', "from __main__ import exception_try"]]
0.2409859000472352
>>> print[timeit['text="-97271851234.28975232364"; exception_try[text]', "from __main__ import exception_try"]]
0.45190039998851717
8, >>> def exception_try[string]:
... try:
... return type[float[string]] == int
... except:
... return false
>>> print[timeit['text="1234"; exception_try[text]', "from __main__ import exception_try"]]
0.22721579996868968
>>> print[timeit['text="-4089175.25"; exception_try[text]', "from __main__ import exception_try"]]
0.2409859000472352
>>> print[timeit['text="-97271851234.28975232364"; exception_try[text]', "from __main__ import exception_try"]]
0.45190039998851717
9, >>> print[timeit['import re']]
0.08660140004940331
0, >>> print[timeit['import re']]
0.08660140004940331
1, >>> print[timeit['import re']]
0.08660140004940331
2 hoặc >>> print[timeit['import re']]
0.08660140004940331
3.Do đó, khi chúng tôi viết
>>> print[timeit['import re']]
0.08660140004940331
4 trong điều kiện >>> print[timeit['import re']]
0.08660140004940331
5 của chúng tôi, nó tương đương với việc viết >>> print[timeit['import re']]
0.08660140004940331
6 sẽ luôn đánh giá thành >>> def exception_try[string]:
... try:
... return type[float[string]] == int
... except:
... return false
>>> print[timeit['text="1234"; exception_try[text]', "from __main__ import exception_try"]]
0.22721579996868968
>>> print[timeit['text="-4089175.25"; exception_try[text]', "from __main__ import exception_try"]]
0.2409859000472352
>>> print[timeit['text="-97271851234.28975232364"; exception_try[text]', "from __main__ import exception_try"]]
0.45190039998851717
4.numbers.Number
Một cách tốt để kiểm tra xem một biến là số là mô -đun
>>> print[timeit['import re']]
0.08660140004940331
8. Bạn có thể kiểm tra xem biến có phải là một phiên bản của lớp >>> print[timeit['import re']]
0.08660140004940331
9 không, với hàm >>> print[timeit['text="1234"; import re; num_format = re.compile["^[\-]?[1-9][0-9]*\.?[0-9]+$"]; re.match[num_format,text]']]
1.3882658999646083
>>> print[timeit['text="-4089175.25"; import re; num_format = re.compile["^[\-]?[1-9][0-9]*\.?[0-9]+$"]; re.match[num_format,text]']]
1.4007637000177056
>>> print[timeit['text="-97271851234.28975232364"; import re; num_format = re.compile["^[\-]?[1-9][0-9]*\.?[0-9]+$"]; re.match[num_format,text]']]
1.4191589000402018
0:>>> print[timeit['text="1234"; z=text[0]; [z.isdigit[] or z == "-" or z == "."] and all[character.isdigit[] or character == "." for character in text[1:]]']]
0.5673831000458449
>>> print[timeit['text="-4089175.25"; z=text[0]; [z.isdigit[] or z == "-" or z == "."] and all[character.isdigit[] or character == "." for character in text[1:]]']]
1.0832774000009522
>>> print[timeit['text="-97271851234.28975232364"; z=text[0]; [z.isdigit[] or z == "-" or z == "."] and all[character.isdigit[] or character == "." for character in text[1:]]']]
1.9836419000057504
3Điều này sẽ dẫn đến:
>>> print[timeit['text="1234"; z=text[0]; [z.isdigit[] or z == "-" or z == "."] and all[character.isdigit[] or character == "." for character in text[1:]]']]
0.5673831000458449
>>> print[timeit['text="-4089175.25"; z=text[0]; [z.isdigit[] or z == "-" or z == "."] and all[character.isdigit[] or character == "." for character in text[1:]]']]
1.0832774000009522
>>> print[timeit['text="-97271851234.28975232364"; z=text[0]; [z.isdigit[] or z == "-" or z == "."] and all[character.isdigit[] or character == "." for character in text[1:]]']]
1.9836419000057504
4Kiểm tra hướng dẫn thực hành của chúng tôi, thực tế để học Git, với các thực hành tốt nhất, các tiêu chuẩn được công nghiệp chấp nhận và bao gồm bảng gian lận. Ngừng các lệnh git googling và thực sự tìm hiểu nó!
Lưu ý: Cách tiếp cận này có thể hành xử bất ngờ với các loại số bên ngoài Core Python. Một số khung có thể có không thực hiện số 39, trong trường hợp đó, phương pháp này sẽ trả lại sai
5. This approach can behave unexpectedly with numeric types outside of core Python. Certain frameworks might have non->>> def exception_try[string]:
... try:
... return type[float[string]] == int
... except:
... return false
>>> print[timeit['text="1234"; exception_try[text]', "from __main__ import exception_try"]]
0.22721579996868968
>>> print[timeit['text="-4089175.25"; exception_try[text]', "from __main__ import exception_try"]]
0.2409859000472352
>>> print[timeit['text="-97271851234.28975232364"; exception_try[text]', "from __main__ import exception_try"]]
0.45190039998851717
>>> print[timeit['import re']]
0.08660140004940331
9
numeric implementation, in which case this approach will falsely return >>> def exception_try[string]:
... try:
... return type[float[string]] == int
... except:
... return false
>>> print[timeit['text="1234"; exception_try[text]', "from __main__ import exception_try"]]
0.22721579996868968
>>> print[timeit['text="-4089175.25"; exception_try[text]', "from __main__ import exception_try"]]
0.2409859000472352
>>> print[timeit['text="-97271851234.28975232364"; exception_try[text]', "from __main__ import exception_try"]]
0.45190039998851717
5.Sử dụng một khối Except thử
Một phương pháp khác để kiểm tra xem một biến có phải là một số đang sử dụng khối Excet Try-Except hay không. Trong khối thử, chúng tôi sử dụng biến đã cho đến
>>> print[timeit['text="1234"; z=text[0]; [z.isdigit[] or z == "-" or z == "."] and all[character.isdigit[] or character == "." for character in text[1:]]']]
0.5673831000458449
>>> print[timeit['text="-4089175.25"; z=text[0]; [z.isdigit[] or z == "-" or z == "."] and all[character.isdigit[] or character == "." for character in text[1:]]']]
1.0832774000009522
>>> print[timeit['text="-97271851234.28975232364"; z=text[0]; [z.isdigit[] or z == "-" or z == "."] and all[character.isdigit[] or character == "." for character in text[1:]]']]
1.9836419000057504
8 hoặc >>> print[timeit['text="1234"; z=text[0]; [z.isdigit[] or z == "-" or z == "."] and all[character.isdigit[] or character == "." for character in text[1:]]']]
0.5673831000458449
>>> print[timeit['text="-4089175.25"; z=text[0]; [z.isdigit[] or z == "-" or z == "."] and all[character.isdigit[] or character == "." for character in text[1:]]']]
1.0832774000009522
>>> print[timeit['text="-97271851234.28975232364"; z=text[0]; [z.isdigit[] or z == "-" or z == "."] and all[character.isdigit[] or character == "." for character in text[1:]]']]
1.9836419000057504
9. Thực hiện thành công khối >>> print[timeit['text="1234"; import re; num_format = re.compile["^[\-]?[1-9][0-9]*\.?[0-9]+$"]; re.match[num_format,text]']]
1.3882658999646083
>>> print[timeit['text="-4089175.25"; import re; num_format = re.compile["^[\-]?[1-9][0-9]*\.?[0-9]+$"]; re.match[num_format,text]']]
1.4007637000177056
>>> print[timeit['text="-97271851234.28975232364"; import re; num_format = re.compile["^[\-]?[1-9][0-9]*\.?[0-9]+$"]; re.match[num_format,text]']]
1.4191589000402018
5 có nghĩa là một biến là số, tức là >>> print[timeit['text="1234"; z=text[0]; [z.isdigit[] or z == "-" or z == "."] and all[character.isdigit[] or character == "." for character in text[1:]]']]
0.5673831000458449
>>> print[timeit['text="-4089175.25"; z=text[0]; [z.isdigit[] or z == "-" or z == "."] and all[character.isdigit[] or character == "." for character in text[1:]]']]
1.0832774000009522
>>> print[timeit['text="-97271851234.28975232364"; z=text[0]; [z.isdigit[] or z == "-" or z == "."] and all[character.isdigit[] or character == "." for character in text[1:]]']]
1.9836419000057504
8 hoặc >>> print[timeit['text="1234"; z=text[0]; [z.isdigit[] or z == "-" or z == "."] and all[character.isdigit[] or character == "." for character in text[1:]]']]
0.5673831000458449
>>> print[timeit['text="-4089175.25"; z=text[0]; [z.isdigit[] or z == "-" or z == "."] and all[character.isdigit[] or character == "." for character in text[1:]]']]
1.0832774000009522
>>> print[timeit['text="-97271851234.28975232364"; z=text[0]; [z.isdigit[] or z == "-" or z == "."] and all[character.isdigit[] or character == "." for character in text[1:]]']]
1.9836419000057504
9:>>> print[timeit['text="1234"; z=text[0]; [z.isdigit[] or z == "-" or z == "."] and all[character.isdigit[] or character == "." for character in text[1:]]']]
0.5673831000458449
>>> print[timeit['text="-4089175.25"; z=text[0]; [z.isdigit[] or z == "-" or z == "."] and all[character.isdigit[] or character == "." for character in text[1:]]']]
1.0832774000009522
>>> print[timeit['text="-97271851234.28975232364"; z=text[0]; [z.isdigit[] or z == "-" or z == "."] and all[character.isdigit[] or character == "." for character in text[1:]]']]
1.9836419000057504
5Điều này hoạt động cho cả
>>> print[timeit['text="1234"; z=text[0]; [z.isdigit[] or z == "-" or z == "."] and all[character.isdigit[] or character == "." for character in text[1:]]']]
0.5673831000458449
>>> print[timeit['text="-4089175.25"; z=text[0]; [z.isdigit[] or z == "-" or z == "."] and all[character.isdigit[] or character == "." for character in text[1:]]']]
1.0832774000009522
>>> print[timeit['text="-97271851234.28975232364"; z=text[0]; [z.isdigit[] or z == "-" or z == "."] and all[character.isdigit[] or character == "." for character in text[1:]]']]
1.9836419000057504
8 và >>> print[timeit['text="1234"; z=text[0]; [z.isdigit[] or z == "-" or z == "."] and all[character.isdigit[] or character == "." for character in text[1:]]']]
0.5673831000458449
>>> print[timeit['text="-4089175.25"; z=text[0]; [z.isdigit[] or z == "-" or z == "."] and all[character.isdigit[] or character == "." for character in text[1:]]']]
1.0832774000009522
>>> print[timeit['text="-97271851234.28975232364"; z=text[0]; [z.isdigit[] or z == "-" or z == "."] and all[character.isdigit[] or character == "." for character in text[1:]]']]
1.9836419000057504
9 vì bạn có thể chuyển một >>> print[timeit['text="1234"; z=text[0]; [z.isdigit[] or z == "-" or z == "."] and all[character.isdigit[] or character == "." for character in text[1:]]']]
0.5673831000458449
>>> print[timeit['text="-4089175.25"; z=text[0]; [z.isdigit[] or z == "-" or z == "."] and all[character.isdigit[] or character == "." for character in text[1:]]']]
1.0832774000009522
>>> print[timeit['text="-97271851234.28975232364"; z=text[0]; [z.isdigit[] or z == "-" or z == "."] and all[character.isdigit[] or character == "." for character in text[1:]]']]
1.9836419000057504
8 đến >>> print[timeit['text="1234"; z=text[0]; [z.isdigit[] or z == "-" or z == "."] and all[character.isdigit[] or character == "." for character in text[1:]]']]
0.5673831000458449
>>> print[timeit['text="-4089175.25"; z=text[0]; [z.isdigit[] or z == "-" or z == "."] and all[character.isdigit[] or character == "." for character in text[1:]]']]
1.0832774000009522
>>> print[timeit['text="-97271851234.28975232364"; z=text[0]; [z.isdigit[] or z == "-" or z == "."] and all[character.isdigit[] or character == "." for character in text[1:]]']]
1.9836419000057504
9 và >>> print[timeit['text="1234"; z=text[0]; [z.isdigit[] or z == "-" or z == "."] and all[character.isdigit[] or character == "." for character in text[1:]]']]
0.5673831000458449
>>> print[timeit['text="-4089175.25"; z=text[0]; [z.isdigit[] or z == "-" or z == "."] and all[character.isdigit[] or character == "." for character in text[1:]]']]
1.0832774000009522
>>> print[timeit['text="-97271851234.28975232364"; z=text[0]; [z.isdigit[] or z == "-" or z == "."] and all[character.isdigit[] or character == "." for character in text[1:]]']]
1.9836419000057504
9 đến >>> print[timeit['text="1234"; z=text[0]; [z.isdigit[] or z == "-" or z == "."] and all[character.isdigit[] or character == "." for character in text[1:]]']]
0.5673831000458449
>>> print[timeit['text="-4089175.25"; z=text[0]; [z.isdigit[] or z == "-" or z == "."] and all[character.isdigit[] or character == "." for character in text[1:]]']]
1.0832774000009522
>>> print[timeit['text="-97271851234.28975232364"; z=text[0]; [z.isdigit[] or z == "-" or z == "."] and all[character.isdigit[] or character == "." for character in text[1:]]']]
1.9836419000057504
8.Nếu bạn cụ thể chỉ muốn kiểm tra xem một biến có phải là một trong số này hay không, bạn nên sử dụng chức năng
>>> print[timeit['text="1234"; z=text[0]; [z.isdigit[] or z == "-" or z == "."] and all[character.isdigit[] or character == "." for character in text[1:]]']]
0.5673831000458449
>>> print[timeit['text="-4089175.25"; z=text[0]; [z.isdigit[] or z == "-" or z == "."] and all[character.isdigit[] or character == "." for character in text[1:]]']]
1.0832774000009522
>>> print[timeit['text="-97271851234.28975232364"; z=text[0]; [z.isdigit[] or z == "-" or z == "."] and all[character.isdigit[] or character == "." for character in text[1:]]']]
1.9836419000057504
7.Sự kết luận
Python là một ngôn ngữ được đánh máy động, có nghĩa là chúng ta có thể nhận được một loại dữ liệu khác với ngôn ngữ chúng ta mong đợi.
Trong trường hợp chúng tôi muốn thực thi các loại dữ liệu, đáng để kiểm tra xem một biến thuộc loại mong muốn. Trong bài viết này, chúng tôi đã đề cập đến ba cách để kiểm tra xem một biến có phải là một số trong Python không.