Visitar URL original
11 прикладів правильного коду Python

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. Можна сперечатися і пропонувати ваші приклади тут у коментарях.

Он­лайн підруч­ник Python

28.01.24  
  [ 577 ]
[ python ]
[ ]
ChatGPTClaudeGrok Perplexity