def run(a,b,c): if a == b : c a = 1 b = 1 c = print('1') run(a,b,c)
1、为什么没有报错? 2、执行过程中到底执行了哪个 c ?
def run(a,b,c): if a == b : c a = 1 b = 1 c = print('1') run(a,b,c)
1、为什么没有报错? 2、执行过程中到底执行了哪个 c ?
|
zhanglintcMay 15, 2018
1
这个代码咋看啊...
|
|
2
def run(a,b,c):
if a == b : c a = 1 b = 1 c = print('1') run(a,b,c) |
|
blodsideMay 15, 2018
3
>>> def run(a,b,c): if a == b : c a = 1 b = 1 c = print('1') run(a,b,c)
File "<stdin>", line 1 def run(a,b,c): if a == b : c a = 1 b = 1 c = print('1') run(a,b,c) ^ SyntaxError: invalid syntax |
|
4
def run(a,b,c):
if a == b : c # a = 1 b = 1 c = print('1') run(a,b,c) |
|
5
print 函数返回值是 None。。
|
|
magicOMay 15, 2018
6
同楼上,
语法错误 |
|
8
格式是这样(·是空格):
def run(a,b,c): ····if a == b : ········c a = 1 b = 1 c = print('1') run(a,b,c) 我的上面正常运行,而且打印出 1 |
|
rabbbitMay 15, 2018
10
|
|
holajamcMay 15, 2018
11
c 就是你定义的 print('1') 呀,函数的参数可以是另外一个函数)
|
|
magicOMay 15, 2018
12
11L 正解,没毛病啊
|
|
13
在执行 6 行时,c = print('1') 这个地方 print 执行了
在 run()里面的 c 也应该被执行啊,那应该打印出两个 1 |
|
14
@magicO 在执行 6 行时,c = print('1') 这个地方 print 执行了
在 run()里面的 c 也应该被执行啊,那应该打印出两个 1 |
|
15
你是不是对函数 /变量有什么误解
调用一个函数的格式方式: 函数名([参数]) print('1')返回的是 None,不是一个函数 |
|
freeminderMay 15, 2018
17
看的我这个难受,你要是说"执行了 print", 那就只有 c = print('1') 这一句执行了 print。c 在这句之后就是一个函数调用的返回值。你在 run 里面写的那个 c,可能是想要完成执行一个函数的事情?但是就算 c 在 run 中是一个函数引用-比如 lambda 创建的,你也得给人家一个括号吧-c()。
|
|
FrailLoveMay 15, 2018
18
a = 1;
b = 1; print('1') 任何函数不 return 默认返回 None 打印出 1 后 c= None 执行 run(1 ,1 ,None) 什么都不做 |
|
clinoMay 15, 2018 via Android
19
为什么不用 gist 贴代码?
|
|
20
谢谢大家,问题解决。打算入编程坑,努力成为大神中......
|
|
whoami9894May 15, 2018 via Android
21
c 被赋值为 print 函数的返回值,为 none。
如果 c 被赋值为函数的话后面得有()调用函数操作符 |
|
MartinWuMay 15, 2018
22
c 是 print("1")的返回值,也就是 None。并不是这个语句本身。
|
|
1daydaydeMay 16, 2018 via iPhone
23
貌似有个标准错误输出流 了解一下?
|