python 以逗号差结尾的元组
python tuple ending with comma difference
有什么区别
("a")
和
("a",)
我注意到,例如 mysql 包装器参数格式不适用于第一种情况,它必须以逗号结尾。
cursorA.execute(query, (url,))
如果在括号()中只写一个元素,则括号()被忽略,不被认为是一个元组。
x = ("a")
print(type(x))
输出:str
要生成单元素元组,末尾需要一个逗号,
。
x = ("a", )
print(type(x))
输出:tuple
第一个将创建一个字符串,第二个将创建一个元组。这实际上就是在两个括号之间制作元组和字符串之间的区别。
当仅使用括号时,您并没有创建元组,因为解释器将其视为增加运算符优先级(就像数学中的括号),如果您使用逗号,解释器将理解我们正在尝试创建一个只有一个元素的元组,并且不增加优先级
下面的代码不是 “元组” 是:
x = ("a") # Is not Tuple
与下面的代码相同:
x = "a"
虽然下面的代码是 "元组":
("a",) # Is Tuple
有什么区别
("a")
和
("a",)
我注意到,例如 mysql 包装器参数格式不适用于第一种情况,它必须以逗号结尾。
cursorA.execute(query, (url,))
如果在括号()中只写一个元素,则括号()被忽略,不被认为是一个元组。
x = ("a")
print(type(x))
输出:str
要生成单元素元组,末尾需要一个逗号,
。
x = ("a", )
print(type(x))
输出:tuple
第一个将创建一个字符串,第二个将创建一个元组。这实际上就是在两个括号之间制作元组和字符串之间的区别。
当仅使用括号时,您并没有创建元组,因为解释器将其视为增加运算符优先级(就像数学中的括号),如果您使用逗号,解释器将理解我们正在尝试创建一个只有一个元素的元组,并且不增加优先级
下面的代码不是 “元组” 是:
x = ("a") # Is not Tuple
与下面的代码相同:
x = "a"
虽然下面的代码是 "元组":
("a",) # Is Tuple