Skip to content

Andrew1543-go/CP2020

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

48 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Требования к стилю для домашних заданий

Полностью стандартные требования к стилю кода на Python изложены в руководстве PEP8. Мы не будем требовать неукоснительного соблюдения всех требований PEP8, но вам стоит их изучить, если вы планируете профессионально писать код на Python.

В рамках курса к коду, написанному студентами, предъявляется четыре требования по стилю, за несоблюдение которых оценка может быть снижена.

  1. Имена функций и переменных должны быть осмысленными. Например, если функция записывает в строку числитель и знаменатель дроби, вместо
def func1(x,y):
    return str(x) + " / " + str(y)

пишите

def fraction_to_string(num, den):
    return str(num) + " / " + str(den)
  1. Имена переменных, за исключением тривиальных счётчиков, должны быть осмысленными. Если в переменной накапливается сумма квадратов, вместо
s = 0
for i in range(10):
    s += i**2

пишите

sum_squares = 0
for i in range(10):
    sum_squares += i**2

Обозначение i для счётчика цикла общепринято. 3. Повторяющиеся блоки кода выделяйте в отдельные именованные функции. Например, вместо

dist1 = (x1 ** 2 + y1 ** 2) ** 0.5
dist2 = (x2 ** 2 + y2 ** 2) ** 0.5

выделяйте функцию

def distance(x, y):
    return (x ** 2 + y ** 2) ** 0.5
dist1 = distance(x1, y1)
dist2 = distance(x2, y2)
  1. Избегайте побочных эффектов функций. В идеале функция должна изменять только переменные внутри своей области видимости. Например, следующий код отлаживать менее удобно:
count = 0
sum = 0
def count_and_sum(x):
    count += 1
    sum += x
print count, sum

а удобнее отлаживать код, в котором функция явно возвращает эти значения:

def count_and_sum(x, prev_count, prev_sum):
    return prev_count + 1, prev_sum + x
  1. При написании математических формул, используйте пробелы справа и слева от бинарных операций. Операции разного приоритета группируйте для отражения приоритета:
1==(a**2+b**2)/c**2               # плохо
1 == (a ** 2 + b ** 2) / c ** 2   # тоже плохо
1 == (a**2 + b**2) / c**2    # хорошо

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Jupyter Notebook 84.4%
  • TeX 15.6%