找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 112|回复: 3

[求助] python函数问题

1

主题

3

帖子

3

积分

贫民

积分
3
Matz 发表于 2018-12-5 09:56:00 | 显示全部楼层 |阅读模式
def f(x):
    x = 100
    print (x)
   
f(x)  #为什么这样调用不行?

def f():    x = 100    print(x)f()  #为什么这样调用就行?
回复

使用道具 举报

0

主题

4

帖子

4

积分

贫民

积分
4
硕锅锅爱py 发表于 2018-12-6 10:08:25 | 显示全部楼层
本帖最后由 硕锅锅爱py 于 2018-12-6 10:11 编辑

第一个函数可以调用啊,只不过x被你重新赋值了而已
回复 支持 反对

使用道具 举报

0

主题

4

帖子

4

积分

贫民

积分
4
硕锅锅爱py 发表于 2018-12-6 10:13:50 | 显示全部楼层
本帖最后由 硕锅锅爱py 于 2018-12-6 10:17 编辑
硕锅锅爱py 发表于 2018-12-6 10:08
第一个函数可以调用啊,只不过x被你重新赋值了而已

一开始没看懂你的问题,  函数定义时()中的参数 为形式参数,在函数调用时必须为这个形参传递一个实际参数
实参必须有值
def func(x):
    x = 100
    print(x)

x = 200 # 实际参数必须有值
func(x) # 这样调用就可以了
回复 支持 反对

使用道具 举报

0

主题

5

帖子

5

积分

贫民

积分
5
smith6036 发表于 2018-12-7 10:51:53 | 显示全部楼层
这是函数闭包的原因,你可以看一下这方面的内容
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表