引用这个答案:
除了元组是不可变的之外,还有一个语义上的区别应该指导它们的使用.元组是异构数据结构(即,它们的条目具有不同的含义),而列表是同构序列.元组有结构,列表有顺序.
这对我来说很有意义.但是为什么Django使用元组而不是列表进行设置?例:
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.staticfiles',
)
Run Code Online (Sandbox Code Playgroud)
这个(以及所有其他设置)在语义上是不是一个完美的案例列表?
从Django介绍教程,在\mysite\polls\admin.py:
from django.contrib import admin
#...
class PollAdmin(admin.ModelAdmin):
#...
inlines = [ChoiceInline]
list_display = ('question', 'pub_date', 'was_published_today')
list_filter = ['pub_date']
admin.site.register(Poll, PollAdmin)
Run Code Online (Sandbox Code Playgroud)
为什么内联和list_filter使用列表,同时list_display使用元组?内联并且list_filters由于某种原因需要变得可变吗?
我只想在这里理解设计决定.