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
# Assign a numeric value
variable = 4
# Reassign a string value
variable = 'four'
0, 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
# Assign a numeric value
variable = 4
# Reassign a string value
variable = 'four'
1 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à:
myVariable = input['Enter a number']
if type[myVariable] == int or type[myVariable] == float:
# Do something
else:
print['The variable is not a number']
Ở đây, chúng tôi kiểm tra xem loại biến, được nhập bởi người dùng là
# Assign a numeric value
variable = 4
# Reassign a string value
variable = 'four'
2 hoặc # Assign a numeric value
variable = 4
# Reassign a string value
variable = 'four'
3, 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ư # Assign a numeric value
variable = 4
# Reassign a string value
variable = 'four'
2 hoặc # Assign a numeric value
variable = 4
# Reassign a string value
variable = 'four'
3, bạn phải sử dụng hàm # Assign a numeric value
variable = 4
# Reassign a string value
variable = 'four'
1 cả hai lần.Nếu chúng ta chỉ nói
# Assign a numeric value
variable = 4
# Reassign a string value
variable = 'four'
7, điều này có vẻ ổn, một vấn đề sẽ phát sinh:myVariable = 'A string'
if type[myVariable] == int or float:
print['The variable a number']
else:
print['The variable is not a number']
Điều này, bất kể đầu vào, trả về:
The variable is a number
Đ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à
# Assign a numeric value
variable = 4
# Reassign a string value
variable = 'four'
8 ngoại trừ # Assign a numeric value
variable = 4
# Reassign a string value
variable = 'four'
9, myNumber = 1
print[type[myNumber]]
myFloat = 1.0
print[type[myFloat]]
myString = 's'
print[type[myString]]
0, myNumber = 1
print[type[myNumber]]
myFloat = 1.0
print[type[myFloat]]
myString = 's'
print[type[myString]]
1 và các thùng chứa trống như myNumber = 1
print[type[myNumber]]
myFloat = 1.0
print[type[myFloat]]
myString = 's'
print[type[myString]]
2, myNumber = 1
print[type[myNumber]]
myFloat = 1.0
print[type[myFloat]]
myString = 's'
print[type[myString]]
3, myNumber = 1
print[type[myNumber]]
myFloat = 1.0
print[type[myFloat]]
myString = 's'
print[type[myString]]
4, myNumber = 1
print[type[myNumber]]
myFloat = 1.0
print[type[myFloat]]
myString = 's'
print[type[myString]]
5, myNumber = 1
print[type[myNumber]]
myFloat = 1.0
print[type[myFloat]]
myString = 's'
print[type[myString]]
6 hoặc myNumber = 1
print[type[myNumber]]
myFloat = 1.0
print[type[myFloat]]
myString = 's'
print[type[myString]]
7.Do đó, khi chúng tôi viết
myNumber = 1
print[type[myNumber]]
myFloat = 1.0
print[type[myFloat]]
myString = 's'
print[type[myString]]
8 trong điều kiện myNumber = 1
print[type[myNumber]]
myFloat = 1.0
print[type[myFloat]]
myString = 's'
print[type[myString]]
9 của chúng tôi, nó tương đương với việc viết
0 sẽ luôn đánh giá thành # Assign a numeric value
variable = 4
# Reassign a string value
variable = 'four'
8.numbers.Number
Một cách tốt để kiểm tra xem một biến là số là mô -đun
2. Bạn có thể kiểm tra xem biến có phải là một phiên bản của lớp
3 không, với hàm
4:import numbers
variable = 5
print[isinstance[5, numbers.Number]]
Điều này sẽ dẫn đến:
True
Kiể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ố 33, trong trường hợp đó, cách tiếp cận này sẽ trả lại sai
9. This approach can behave unexpectedly with numeric types outside of core Python. Certain frameworks might have non-# Assign a numeric value
variable = 4
# Reassign a string value
variable = 'four'
3
numeric implementation, in which case this approach will falsely return # Assign a numeric value
variable = 4
# Reassign a string value
variable = 'four'
9.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
# Assign a numeric value
variable = 4
# Reassign a string value
variable = 'four'
2 hoặc # Assign a numeric value
variable = 4
# Reassign a string value
variable = 'four'
3. Thực hiện thành công khối
9 có nghĩa là một biến là số, tức là # Assign a numeric value
variable = 4
# Reassign a string value
variable = 'four'
2 hoặc # Assign a numeric value
variable = 4
# Reassign a string value
variable = 'four'
3:myVariable = 1
try:
tmp = int[myVariable]
print['The variable a number']
except:
print['The variable is not a number']
Điều này hoạt động cho cả
# Assign a numeric value
variable = 4
# Reassign a string value
variable = 'four'
2 và # Assign a numeric value
variable = 4
# Reassign a string value
variable = 'four'
3 vì bạn có thể chuyển # Assign a numeric value
variable = 4
# Reassign a string value
variable = 'four'
2 đến # Assign a numeric value
variable = 4
# Reassign a string value
variable = 'four'
3 và # Assign a numeric value
variable = 4
# Reassign a string value
variable = 'four'
3 đến # Assign a numeric value
variable = 4
# Reassign a string value
variable = 'four'
2.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
# Assign a numeric value
variable = 4
# Reassign a string value
variable = 'four'
1.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.