Hướng dẫn python return none if empty - python không trả lại nếu trống

Tôi muốn trả lại

value = x.get('field')
if value == {}:
    value = None
1 nếu từ điển
value = x.get('field')
if value == {}:
    value = None
2 không có khóa
value = x.get('field')
if value == {}:
    value = None
3 hoặc nếu nó có khóa nhưng giá trị là một chế độ trống.

Tôi đã có

value = x.get('field')
if value == {}:
    value = None
4 trả về
value = x.get('field')
if value == {}:
    value = None
1 nếu khóa không có. Nếu nó có mặt
value = x.get('field')
if value == {}:
    value = None
6 sẽ trả lại một dict. Tôi muốn
value = x.get('field')
if value == {}:
    value = None
7 cũng là
value = x.get('field')
if value == {}:
    value = None
1 nếu
value = x.get('field')
if value == {}:
    value = None
6 trả về
def NoOne(x):
    print(x)
    return None


print(NoOne("Function Called"))
0. Có một cách nào tốt để làm điều này?

Hiện tại tôi có

def NoOne(x):
    print(x)
    return None


print(NoOne("Function Called"))
1. Điều này có vẻ rất phức tạp.

Đã hỏi ngày 13 tháng 7 năm 2018 lúc 19:54Jul 13, 2018 at 19:54

Hướng dẫn python return none if empty - python không trả lại nếu trống

2

Bạn có thể sử dụng toán tử

def NoOne(x):
    print(x)
    return None


print(NoOne("Function Called"))
2 để trả về rõ ràng
value = x.get('field')
if value == {}:
    value = None
1 nếu dict

results = x.get('field') or None

Nhưng hãy lưu ý rằng bạn sẽ không nhận được, đối với các loại giá trị khác, toàn bộ trạng thái bool là sai, ví dụ

def NoOne(x):
    print(x)
    return None


print(NoOne("Function Called"))
4,
def NoOne(x):
    print(x)
    return None


print(NoOne("Function Called"))
5, v.v.

Đã trả lời ngày 13 tháng 7 năm 2018 lúc 19:55Jul 13, 2018 at 19:55

SunithasunithaSunitha

Huy hiệu vàng 11.5K2 Huy hiệu bạc23 Huy hiệu đồng2 gold badges18 silver badges23 bronze badges

2

Python được đánh máy vịt và từ điển có thể chứa bất kỳ loại giá trị nào. Bạn sẽ phải kiểm tra rõ ràng liệu giá trị trả lại có phải là một lệnh không và liệu nó có trống không.

value = x.get('field')
if value == {}:
    value = None

Đã trả lời ngày 13 tháng 7 năm 2018 lúc 20:04Jul 13, 2018 at 20:04

Hướng dẫn python return none if empty - python không trả lại nếu trống

Håken Lidhåken nắpHåken Lid

21.6K9 Huy hiệu vàng47 Huy hiệu bạc64 Huy hiệu đồng9 gold badges47 silver badges64 bronze badges

Vài tuần trước, A đang theo đuổi một số bài viết ở đây về Python và tình cờ thấy một bài viết về thói quen lập trình xấu. Tôi không thể tìm thấy bài báo một lần nữa để tham khảo nhưng ngay trên đỉnh là một cảnh báo bá đạo để tránh trả lại một ý nghĩa không có ý nghĩa. Lúc đó tôi nghĩ, 'Đó chỉ là Droll và dù sao tôi cũng không bao giờ làm điều đó', nhưng hóa ra tôi làm điều đó mọi lúc. Nếu chức năng tìm thấy điều đúng thì hãy trả lại điều chính xác nếu không chỉ cần kết thúc chức năng và Python sẽ không trả về không cho bạn.

Vậy các bạn có làm điều tương tự không? Có gì sai khi trả lại không có ở nơi đầu tiên? Bạn sử dụng chiến lược nào để tránh trả lại không?

Nếu bạn muốn trả về một hàm null trong Python thì hãy sử dụng từ khóa không có trong câu lệnh Returns.

Ví dụ Python trả về null (không có).

def NoOne(x):
    print(x)
    return None


print(NoOne("Function Called"))

Output::

Hướng dẫn python return none if empty - python không trả lại nếu trống

LƯU Ý: Không có thuật ngữ nào như Return Return Null, trong Python. Mỗi hàm trả về một số giá trị (trừ khi nó tăng một ngoại lệ). Nếu không có tuyên bố trả lại rõ ràng được sử dụng, Python coi nó là không trả lại: There is no such term as “return null” in Python. Every function returns some value (unless it raises an exception). If no explicit return statement is used, Python treats it as returning None

Để trả về theo nghĩa đen, không có gì sử dụng

def NoOne(x):
    print(x)
    return None


print(NoOne("Function Called"))
6, về cơ bản trả về giá trị không có gì nếu đặt trong một hàm (các hàm phải trả về một giá trị, vậy tại sao không ‘không có gì khác). Bạn có thể tự làm điều này một cách rõ ràng và
def NoOne(x):
    print(x)
    return None


print(NoOne("Function Called"))
7 mặc dù.

if x>1:
    return(x)
else:
    pass

HOẶC

if x>1:
    return(x)
else:
    return None

Hãy bình luận nếu bạn có bất kỳ nghi ngờ và đề xuất nào về chủ đề trả lại Python này.

Lưu ý: IDE: & NBSP; Pycharm & NBSP; 2021.3.3 (Phiên bản cộng đồng) IDE: PyCharm 2021.3.3 (Community Edition)

Windows 10

Python 3.10.1

Tất cả & nbsp; ví dụ python & nbsp; là trong & nbsp; Python & nbsp; 3, vì vậy có thể khác với các phiên bản Python 2 hoặc nâng cấp. Python Examples are in Python 3, so Maybe its different from python 2 or upgraded versions.

Hướng dẫn python return none if empty - python không trả lại nếu trống

Bằng cấp về Khoa học máy tính và Kỹ sư: Nhà phát triển ứng dụng và có nhiều ngôn ngữ lập trình kinh nghiệm. Sự nhiệt tình cho công nghệ và thích học kỹ thuật.

Ngăn chặn một chức năng trả về không có trong Python #

Để ngăn chặn một hàm trả về

value = x.get('field')
if value == {}:
    value = None
1 trong Python, hãy đảm bảo trả về giá trị từ hàm. Tất cả các chức năng không trả lại một cách rõ ràng một giá trị trả về
value = x.get('field')
if value == {}:
    value = None
1 trong Python.

Copied!

# 👇️ returns None def example(): print('hi there') result = example() print(result) # 👉️ None

Chúng tôi đã không trả về một cách rõ ràng một giá trị từ hàm, vì vậy nó hoàn toàn trả về

value = x.get('field')
if value == {}:
    value = None
1.

Sử dụng câu lệnh

if x>1:
    return(x)
else:
    pass
1 để trả về giá trị từ hàm.

Copied!

# 👇️ returns None def example(): return 'hi there' result = example() print(result) # 👉️ 'hi there'

Lưu ý rằng tất cả các chức năng không trả lại một cách rõ ràng một giá trị, cuối cùng sẽ hoàn trả

value = x.get('field')
if value == {}:
    value = None
1.

Các nguồn giá trị

value = x.get('field')
if value == {}:
    value = None
1 phổ biến nhất là:

  1. Có một chức năng không trả về bất cứ điều gì (trả về
    value = x.get('field')
    if value == {}:
        value = None
    
    1 ngầm).
  2. Cài đặt rõ ràng một biến thành
    value = x.get('field')
    if value == {}:
        value = None
    
    1.
  3. Gán một biến cho kết quả gọi chức năng tích hợp không trả về bất cứ điều gì.
  4. Có một hàm chỉ trả về một giá trị nếu một điều kiện nhất định được đáp ứng.

Lưu ý rằng có nhiều chức năng tích hợp (ví dụ:

if x>1:
    return(x)
else:
    pass
6) làm biến đổi đối tượng gốc tại chỗ và trả về
value = x.get('field')
if value == {}:
    value = None
1.

Copied!

my_list = ['c', 'b', 'a'] result = my_list.sort() print(result) # 👉️ None

Nếu hàm làm biến đổi đối tượng gốc, đừng gán kết quả gọi nó cho một biến.

Copied!

my_list = ['c', 'b', 'a'] my_list.sort() print(my_list) # 👉️ ['a', 'b', 'c']

Một nguồn phổ biến khác của các giá trị

value = x.get('field')
if value == {}:
    value = None
1 là có hàm trả về giá trị chỉ khi đáp ứng điều kiện.

Copied!

def get_list(a): if len(a) > 3: return a # 👇️ None my_list = get_list([1, 2]) print(my_list) # 👉️ None

Câu lệnh

if x>1:
    return(x)
else:
    pass
9 trong hàm
if x>1:
    return(x)
else:
    return None
0 chỉ được chạy nếu thông qua trong đối số có độ dài lớn hơn
if x>1:
    return(x)
else:
    return None
1.

Trong tất cả các trường hợp khác, chức năng không trả lại bất cứ điều gì và cuối cùng hoàn toàn trả lại

value = x.get('field')
if value == {}:
    value = None
1.

Để khắc phục điều này, chúng tôi có thể trả về một giá trị mặc định nếu điều kiện không được đáp ứng, ví dụ: Một chuỗi trống, một danh sách trống,

def NoOne(x):
    print(x)
    return None


print(NoOne("Function Called"))
4 hoặc bất kỳ giá trị nào khác phù hợp với trường hợp sử dụng của bạn.

value = x.get('field')
if value == {}:
    value = None
0

Bây giờ chức năng được đảm bảo để trả về một giá trị bất kể điều kiện có được đáp ứng.

Tôi có thể trả lại không trong Python không?

Nếu bạn muốn trả về một hàm null trong Python thì hãy sử dụng từ khóa không có trong câu lệnh Returns.Ví dụ Python trả về null (không có).Để trả về theo nghĩa đen 'không có gì' sử dụng Pass, về cơ bản trả về giá trị không có nếu đặt trong một hàm (các hàm phải trả về một giá trị, vậy tại sao không 'không có gì').use the None keyword in the returns statement. Example Python return null (None). To literally return 'nothing' use pass , which basically returns the value None if put in a function(Functions must return a value, so why not 'nothing').

Đó có phải là thực hành tốt để trả lại không?

Mặc dù có vẻ tự nhiên khi không trả lại trong một số trường hợp, nhưng nên tránh vì nó có thể dễ bị lỗi.it should be avoided because it can be error-prone.

Tại sao chức năng của tôi trở lại không có python?

Các chức năng thường không in không khi chúng ta vượt qua kết quả của việc gọi một hàm không trả lại bất cứ điều gì cho hàm in ().Tất cả các chức năng không trả lại một cách rõ ràng một giá trị, không trả lại trong Python.

Làm thế nào để bạn tạo một chức năng không trả về không có trong Python?

Để ngăn chặn một hàm trả về không có trong Python, hãy đảm bảo trả về giá trị từ hàm.Tất cả các chức năng không trả về một cách rõ ràng một giá trị trả về không có trong Python.make sure to return a value from the function. All functions that don't explicitly return a value return None in Python.