云游碧海 发表于 2020-7-26 10:19:50

符号不懂是为什么

def Saysome(*params):
      print('第二个参数的长度是',len(params))
      print('第一个参数是',params)
Saysome(0,1,2,3)

在这个程序中,为什么print语句中用的不是 + 号,而是用的是 , 号

永恒的蓝色梦想 发表于 2020-7-26 10:20:18

分割参数。

Twilight6 发表于 2020-7-26 10:21:31



和字符串使用 + 号是字符串的拼接操作,前提是 + 号两者都是字符串类型

而你和一个传入参数是整型使 + 号 ,Python 会不知道你是要使用 + 号拼接 还是整数的 + 法

所以这个时候我们用 , 逗号分隔开不同类型的变量直接打印就好了


zltzlt 发表于 2020-7-26 10:23:51

逗号就是传入多个参数,用 + 号拼接字符串要确保 + 号两边的操作数都为字符串,所以打印不同类型建议用逗号分隔

liuzhengyuan 发表于 2020-7-26 10:24:00

“,”比“+”要强,因为 + 只能拼接字符串

也就是说 print("abc" + 8) 是错的,因为程序 试图把 字符串 和 数字 拼接

但是“,”可以拼接所有元素
print("abc", 8)就是正确的

而且使用 sep 参数就可以设置 分隔符
比如:print("abc", 8, sep = " | ") # 将分隔符设置为 " | "
输出: abc | 8

liuzhengyuan 发表于 2020-7-26 10:25:29

太慢了{:10_245:}

nahongyan1997 发表于 2020-7-26 10:28:32

print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)这是 print 函数的定义,

虽然 value 参数并没有 * 号,但是它是一个收集参数,也就是说为 print 函数传递的所有非关键字参数都会被打印出来,

当你使用 print('第二个参数的长度是',len(params)) 语句时,为Print 函数的 value 传递了两个参数,


当你使用 print('第二个参数的长度是' + len(params)) 语句时,为Print 函数的 value 传递了一个参数,但是这条语句会报错,因为 str 类型无法与 int 类型进行加法运算,

所以你应该这么做print('第二个参数的长度是' + str(len(params)))。

昨非 发表于 2020-7-26 10:33:15

+是用来连接两个字符串的,而,说明print函数有两个参数,一个字符串,一个len(params)返回的整型数
页: [1]
查看完整版本: 符号不懂是为什么