我应该传递什么来使用" name"的默认值?我不想明确传递' lisa'因为它是默认参数,用户可能不知道。但是如果我传递一个变量" name",我必须使用if else子句来传递函数才能打印" lisa"。
def print_name(name='lisa'):
print name
if name != '':
print_name(name)
else:
print_name() # print lisa
答案 0 :(得分:3)
这里你可能想要的是让函数更复杂一点:
def print_name(name=None):
if not name:
name='lisa'
print name
...所以你可以简单地调用它:
print_name(name)
if not name:
只要name
有任何错误 - {默认值是None
的默认值,还是空字符串,那么''
将为真。这可能不是你想要的 - 也许你想明确地将默认值设置为if name == '':
并检查>>> name = ''
>>> print_name(name)
lisa
>>> name = 'alis'
>>> print_name(name)
alis
,例如 - 但这通常是一个很好的初步猜测。
所以:
>>> print_name()
lisa
...但你仍然可以这样做:
const routes: Routes = [
{
path: 'login',
loadChildren: 'app/modules/auth/auth.module#AuthModule'
},
{
path: '',
redirectTo: 'dashboard',
pathMatch: 'full'
},
{
path: 'dashboard',
loadChildren: 'app/modules/dashboard/dashboard.module#DashboardModule',
canActivate: [AuthenticationGuard]
},
{
path: 'yards',
loadChildren: 'app/modules/yards/yards.module#YardsModule',
canActivate: [AuthenticationGuard]
},
{
path: 'inspections',
loadChildren: 'app/modules/inspections/inspections.module#InspectionsModule'
},
{
path: 'settings',
loadChildren: 'app/modules/settings/settings.module#SettingsModule'
},
{
path: 'notfound',
loadChildren: 'app/modules/errors/errors.module#ErrorsModule'
},
{
path: '**',
redirectTo: 'notfound'
}
];
...这可能是您首先添加默认值的原因。