¿Por qué diccionarios y леван кортежей una кома () al финал? en settings.py de Django

Меня encuentro aprendiendo Python y estoy haciendo ООН parcial подставляют el платформу Django, y al momento de modificar los datos de settings.py, я он море encontrado que ya diccionarios y tuplas contienen una coma () al финал y никакой logro comprender cual es su función.


Diccionario dentro de settings.py

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles', #<-- esta coma
]

Tupla dentro de settings.py

STATICFILES_DIRS = (os.path.join(BASE_DIR, "static"),) #<-- esta coma

Грех ella никакой puedo hacer ООН migrate


  • ¿Por qué никакой puedo prescindir de ella?

  • Он hecho tuplas y diccionarios грешите ella al final pero nunca меня ха облицовывает панелями ошибку ООН de sintaxis ¿Por qué?

  • ¿Qué función cumple estando al final de una tupla o diccionario?


Довод "против" Estoy trabajando:

  • Python 3.7.4
  • Django 2.2.7
1
задан 01.12.2019, 05:08
1 ответ

В общем, рекомендует, хороший prГЎctica, оставлять как запятая в конце концов.

Следующее:

my_dict = {
    'a': 1,
    'b': 2,
}

Позволяет серию вещей:

  • , Если aГ±ades новость lГ-nea обычно является обычной проблемой забывать запятая предыдущего элемента / линии, с которым obtendrГЎs нежелательная ошибка, которая возможно, что он прыгает, или что невнимательный пропуск.

  • В diffs verГЎs меньше шум, так как он только меняет одну lГ-nea, вместо двух (первая lГ-nea меняет в aГ±adir запятую и вторую состоит та lГ-nea новая в том, что ты входишь).

ты Можешь видеть это mГЎs подробный и разработанный aquГ - .

В случае Словаря, что ты показываешь podrГ-туз опускать запятую без проблем (но не делай это). Для случая tupla, который ты показываешь sГ - что он необходим, что aГ±adas запятая. tupla определяется отделяя элементы с запятыми. Они parГ©ntesis они не необходимы, но aГ±aden, чтобы это делать mГЎs читабельно. Если ты не помещаешь эту запятую tupla элемента не serГЎ tupla. Следующее:

STATICFILES_DIRS = (os.path.join(BASE_DIR, "static")) # Esto no es una tupla

равен

STATICFILES_DIRS = os.path.join(BASE_DIR, "static")

, Если STATIFILES_DIRS estГЎ ожидая tupla предыдущее darГЎ ошибка.

Взамен, следующее:

STATICFILES_DIRS = os.path.join(BASE_DIR, "static"),

эквивалентный в:

STATICFILES_DIRS = (os.path.join(BASE_DIR, "static"),) # Los paréntesis añaden claridad
4
ответ дан 01.12.2019, 12:28
  • 1
    Спасибо!, не tení ни в идея, состоящая в том, что она была хорошей prá ctica, habrá что применять это тогда :) – Riaven 07.11.2019, 16:52

Теги

Похожие вопросы