Python - пишемо код правильно
Дотримання найкращих практик програмування важливе для написання чистого, ефективного і підтримуваного коду на Python. Наведені тут приклади допоможуть вам не припускатися поширених помилок. Вивчення найкращих практик робить вас більш досвідченим і ефективним програмістом на Python. Застосовуйте ці принципи у своєму коді для підвищення його якості та читабельності.
Приклад 1: Робота з рядками
Неправильний код:
string1 = 'Hello' string2 = 'World' result = string1 + ' ' + string2
Правильний код:
string1 = 'Hello' string2 = 'World' result = ' '.join([string1, string2])
Пояснення: У неправильному коді використовується конкатенація рядків через "+", що може бути неефективним при роботі з великими обсягами даних. Правильний код використовує метод join для об'єднання рядків, що більш продуктивно.
Приклад 2: Ітерація за списком
Неправильний код:
numbers = [1, 2, 3, 4, 5] for i in range(len(numbers)): print(numbers[i])
Правильний код:
numbers = [1, 2, 3, 4, 5] for num in numbers: print(num)
Пояснення: Використання range(len(numbers)) для ітерації за списком є неефективним. Правильний код просто ітерує по самому списку.
Приклад 3: Робота з файлами
Неправильний код:
file = open('example.txt', 'r')
content = file.readlines()
file.close()
Правильний код:
with open('example.txt', 'r') as file:
content = file.readlines()
Пояснення: Використання конструкції "open" і "close" може призвести до проблем під час керування ресурсами. Правильний код використовує контекстний менеджер "with", який автоматично закриває файл після використання.
Приклад 4: Використання List Comprehension
Неправильний код:
squares = [] for i in range(1, 6): squares.append(i**2)
Правильний код:
squares = [i**2 for i in range(1, 6)]
Пояснення: Використання List Comprehension робить код компактнішим і читабельнішим, замість явного використання циклу і методу append.
Приклад 5: Обробка винятків
Неправильний код:
try: result = x / y except: result = None
Правильний код:
try:
result = x / y
except ZeroDivisionError as er:
print('Error:', er)
result = None
Пояснення: У неправильному коді обробляються всі винятки неявним чином, що може приховати проблеми в коді. Правильний код явно обробляє виняток ділення на нуль і виводить інформацію про помилку.
Приклад 6: Використання генераторів
Неправильний код:
squares = [] for i in range(1, 6): squares.append(i**2) even_squares = filter(lambda x: x % 2 == 0, squares)
Правильний код:
squares = (i**2 for i in range(1, 6)) even_squares = filter(lambda x: x % 2 == 0, squares)
Пояснення: Використання генератора для створення послідовності робить код ефективнішим, ніж явне створення списку. Генератори економлять пам'ять і покращують продуктивність.
Приклад 7: Використання List Slicing
Неправильний код:
elements = [1, 2, 3, 4, 5]
selected_elements = []
for i in range(len(elements)):
if i % 2 == 0:
selected_elements.append(elements[i])
Правильний код:
selected_elements = elements[::2]
Пояснення: Використання зрізів списку робить код коротшим і читабельнішим, уникаючи явного використання циклу для вибору кожного другого елемента.
Приклад 8: Об'єднання списків
Неправильний код:
list1 = [1, 2, 3] list2 = [4, 5, 6] merged_list = list1 + list2
Правильний код:
list1 = [1, 2, 3] list2 = [4, 5, 6] merged_list = list1.extend(list2)
Пояснення: Використання методу extend при об'єднанні списків більш ефективне, ніж операція "+", і уникає створення нового списку.
Приклад 9: Використання функції map
Неправильний код:
numbers = [1, 2, 3, 4, 5] squared_numbers = [] for num in numbers: squared_numbers.append(num**2)
Правильний код:
numbers = [1, 2, 3, 4, 5] squared_numbers = [] squared_numbers = list(map(lambda x: x**2, numbers))
Пояснення: Використання функції map робить код компактнішим і покращує читабельність, застосовуючи операцію до кожного елемента списку.
Приклад 10: Сортування списку
Неправильний код:
numbers = [3, 1, 4, 1, 5, 9, 2] numbers.sort()
Правильний код:
numbers = [3, 1, 4, 1, 5, 9, 2] sorted_numbers = sorted(numbers)
Пояснення: Використання функції sorted для сортування списку створює новий відсортований список, зберігаючи оригінальний порядок елементів.
Приклад 11: Робота з JSON
Неправильний код:
import json
data = '{"name": "John", "age": 30, "city": "New York"}'
user_info = json.loads(data)
Правильний код:
import json
data = '{"name": "John", "age": 30, "city": "New York"}'
user_info = json.loads(data)
Пояснення: Використання методу loads для десеріалізації JSON-рядка в об'єкт Python забезпечує правильну обробку даних.
P.S. Можна сперечатися і пропонувати ваші приклади тут у коментарях.
- Логіка в Lean: типові операції та п ..
- Графіка в Lean: приклади для початк ..
- Python і Lean 4: дві мови на однако ..
- Чи правильно відповів штучний інтел ..
- Lean-4: докази. Як довести, перевір ..
- Lean: приклади коду ..
- Lean онлайн: допомога користувачу ..
- Мова Lean - коли програма доводить ..
- Орнамент української вишиванки в Py ..
- Календари в Python: пятницы 13-го и ..