函数在 Python 中继续执行 else 语句
Function keeps executing else statement in Python
def capitalize(string, *restToLower):
if (restToLower == True):
print(string.capitalize())
else: print(string[0].upper() + string[1:])
或
def capitalize(string, *restToLower):
if (restToLower == True):
print(string.capitalize())
print(string[0].upper() + string[1:])
上面提到的函数总是运行else
语句。
我创建了这个函数来获取一个字符串并将其转换为 capitalize
格式。
我想要的
if capitalize('apple')
- “苹果”
如果capitalize('aPPle')
- “APPle”
如果 capitalize('aPPle', restToLower = True')
或 capitalize('aPPle', True)
- “Apple”
这不是您提供的方式 default values for arguments。如果您希望它默认为 False
,则需要执行 def capitalize(string, restToLower=False)
。按照您定义它的方式,restToLower
是一个 tuple
,其中包含您在第一个参数之后输入的任意数量的参数,因此它将 永远不会 等于 True
.
作为实验:
def capitalize(string, *restToLower):
print(restToLower)
capitalize("abcd") # ()
capitalize("abcd", True) # (True,)
capitalize("abcd", True, False) # (True, False)
capitalize("abcd", True, 1234) # (True, 1234)
你可以试试这个,但你总是必须输入布尔值 True 或 False。
def capitalize(string, restToLower: bool):
if restToLower == True:
return string.capitalize()
else:
return string[0].upper() + string[1:]
var = capitalize('aPPle', True)
print(var)
def capitalize(string, *restToLower):
if (restToLower == True):
print(string.capitalize())
else: print(string[0].upper() + string[1:])
或
def capitalize(string, *restToLower):
if (restToLower == True):
print(string.capitalize())
print(string[0].upper() + string[1:])
上面提到的函数总是运行else
语句。
我创建了这个函数来获取一个字符串并将其转换为 capitalize
格式。
我想要的
if capitalize('apple')
- “苹果”
如果capitalize('aPPle')
- “APPle”
如果 capitalize('aPPle', restToLower = True')
或 capitalize('aPPle', True)
- “Apple”
这不是您提供的方式 default values for arguments。如果您希望它默认为 False
,则需要执行 def capitalize(string, restToLower=False)
。按照您定义它的方式,restToLower
是一个 tuple
,其中包含您在第一个参数之后输入的任意数量的参数,因此它将 永远不会 等于 True
.
作为实验:
def capitalize(string, *restToLower):
print(restToLower)
capitalize("abcd") # ()
capitalize("abcd", True) # (True,)
capitalize("abcd", True, False) # (True, False)
capitalize("abcd", True, 1234) # (True, 1234)
你可以试试这个,但你总是必须输入布尔值 True 或 False。
def capitalize(string, restToLower: bool):
if restToLower == True:
return string.capitalize()
else:
return string[0].upper() + string[1:]
var = capitalize('aPPle', True)
print(var)