Không có một int trong Python?

Nó là một đối tượng Python đặc biệt không có giá trị. Nó được sử dụng để biểu thị sự vắng mặt của một giá trị hoặc để biểu thị rằng không có dữ liệu nào

Sau đây là những cách mà chúng ta có thể chuyển đổi một NoneType thành một số nguyên hoặc chuỗi

Phương pháp 1. Sử dụng toán tử Boolean OR

Trước hết, hãy xem một số ví dụ

1

2

3

4

var1 = Không có

 

converted_var1 = 99 hoặc var1

in(converted_var1)

đầu ra

99

1

2

3

4

var2 = Không có

 

converted_var2 = "Pháo đài Ternan" hoặc var2<

in(converted_var2)

đầu ra

Fort-Ternan

Trong ví dụ trên, các biến var1 và var2 giữ Không có Loại. Sử dụng toán tử OR, chúng ta có thể chuyển đổi các Không có Loại này thành một số nguyên hoặc một chuỗi do chúng ta chọn

Nhưng tại sao điều này làm việc?

Điểm 1. Hiểu cách toán tử OR boolean hoạt động

Cú pháp chung của toán tử OR là

biểu thức1 và biểu thức2

ở đâu

biểu thức1biểu thức2 expression1 or expression2TrueTrueTrueTrueFalseTrueFalseTrueTrueFalseFalseFalseTable 1. Cách sử dụng toán tử OR hoạt động

điểm 2. Python coi một số giá trị là sai

Những giá trị này bao gồm. 0, Không, Sai, [ ] (danh sách trống), ( ) (loại trống), { } (từ điển trống), set() (tập hợp trống) và phạm vi (0) (phạm vi trống)

Khi các quy tắc trong Bảng 1 ở trên được sử dụng với Điểm 2, rõ ràng là “Không hoặc 99” cho kết quả là 99 vì Không được hiểu là giá trị sai và 99 là giá trị đúng. Dưới đây là nhiều ví dụ hơn

1

2

3

4

5

6

7

8

9

10

11

val1 = Không có hoặc 7. 89 # false hoặc true cho kết quả đúng (7. 89)

in("val1. ", val1)

 

val2 = Không có hoặc [] # false or false yields false

in("val2. ", val2)

 

val3 = 456 hoặc -8.3 # true hoặc true cho kết quả đúng

in("val3. ", val3)

 

val4 = 2. 5 hoặc Không #true hoặc false cho kết quả đúng

in("val4. ", val4)

đầu ra

val1:  7.89
val2:  [ ]
val3:  456
val4:  2.5

Ghi chú. “x hoặc y” ước lượng thành x nếu x đúng; . Nói cách khác, nếu x là true, nó được trả về bất kể giá trị của y, nhưng nếu x sai, y được trả về bất kể giá trị của nó

Một ví dụ thú vị hơn

Giả sử chúng ta muốn chuyển đổi tất cả các phần tử trong danh sách sau thành số nguyên. [2. 36, -1. 87, Không có, 9. 6]. Cách đầu tiên có thể là lặp qua danh sách chuyển đổi từng mục như sau

1

2

3

4

5

6

7

8

9

10

11

12

13

list1 = [2. 36, -1. 87, Không có, 9. 6]

 

# khởi tạo danh sách rỗng

list2 = []

 

cho mục trong danh sách1.

    # nếu giá trị sai, thì chúng tôi chuyển đổi 99 thành int, vẫn là 99

    # điều này nắm bắt giá trị Không có trong danh sách1.

    kết quả = int(item or 99)

    # nối kết quả vào list2

    list2. chắp thêm(kết quả)

 

in(list2)

đầu ra

[2, -1, 99, 9]

Ngoài ra, chúng ta có thể sử dụng hiểu danh sách như hình dưới đây

1

2

3

list1 = [2. 36, -1. 87, Không có, 9. 6]

list2 =[int(i or 99) for i in list1]

in(list2)

đầu ra

[2, -1, 99, 9]

Như được hiển thị trong đầu ra, giá trị Không có được chuyển đổi thành 99 vì Không có hoặc 99 ước tính thành 99

Phương pháp 2. Sử dụng điều kiện if

Trong phương pháp này, chúng tôi sử dụng câu lệnh if để kiểm tra xem biến có giữ giá trị Không hay không và nếu đúng như vậy, chúng tôi sẽ gán lại một số nguyên hoặc một chuỗi như trong các ví dụ sau

1

2

3

4

5

var3 = Không có

 

nếu var3 Không.

    var3 = 99

in(var3)

đầu ra

99

Nếu var3 là Không có (đúng như vậy), chúng tôi gán lại biến var3 thành giá trị mới là 99, nếu không, chúng tôi đặt nó thành giá trị ban đầu của var3. Chúng ta có thể viết mã giống như một lớp lót như trong các ví dụ sau

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

var4 = Không có

var4 = 99 if var4 is None else var4

in("var4. ", var4)

 

var5 = 12. 6

var5 = 0 if var5 is None else var5

in("var5. ", var5)

 

var6 = Không có

var6 = "Thiếu" if var6 is None else var6

in("var6. ", var6)

 

var7 = 3. 142

# biến nó thành một số nguyên nếu nó không phải là NoneType

 

var7 = 0 if var7 is None else int(var7)

in("var7. ", var7)

đầu ra

var4:  99
var5:  12.6
var6:  Missing
var7:  3

Đây là cách chúng ta có thể sử dụng câu lệnh if để chuyển đổi từng phần tử của danh sách sau thành một số nguyên. [2. 36, -1. 87, Không có, 9. 6] sử dụng một lớp lót

1

2

3

list1 = [2. 36, -1. 87, Không có, 9. 6]

converted_list1 = [99 if i is None else int(i) for i in list1]

in("converted_list1. ", converted_list1)

đầu ra

converted_list1:  [2, -1, 99, 9]

Trong mã, chúng tôi lặp qua list1 và tại mỗi lần lặp kiểm tra xem phần tử có phải là Không nếu nó được đặt thành 99 và nếu không chuyển nó thành một số nguyên bằng cách sử dụng hàm int()

Phần kết luận

Một NoneType có thể được chuyển đổi thành một số nguyên hoặc một chuỗi theo hai cách mà chúng ta đã thảo luận trong bài viết này – sử dụng toán tử boolean OR hoặc bằng câu lệnh if. Trong cả hai trường hợp, bạn có thể sử dụng hàm int() để chuyển kết quả thành một số nguyên nếu cần

Loại dữ liệu nào là Không có trong Python?

Từ khóa Không được sử dụng để xác định giá trị rỗng hoặc không có giá trị nào. Không có gì không giống như 0, Sai hoặc một chuỗi rỗng. None là loại dữ liệu của riêng nó (NoneType) và chỉ Không có thể là Không.

Không có giá trị nào trong Python?

Là null trong Python, Không có giá trị nào không được định nghĩa là 0 hoặc bất kỳ giá trị nào khác. Trong Python, Không ai là đối tượng và là công dân hạng nhất.

Làm thế nào là Không đại diện trong Python?

Trong Python, để biểu thị việc không có giá trị, bạn có thể sử dụng Không có giá trị (loại. NoneType. None) đối với đối tượng và "" (hoặc len() == 0) đối với chuỗi .

Không có gì so với null trong Python?

Python sử dụng từ khóa Không có để xác định các đối tượng và biến null. Mặc dù Không có gì phục vụ một số mục đích giống như null trong các ngôn ngữ khác, nhưng nó hoàn toàn là một con thú khác. Là null trong Python, Không có giá trị nào không được xác định là 0 hoặc bất kỳ giá trị nào khác. Trong Python, Không ai là một đối tượng và là công dân hạng nhất