鱼C论坛

 找回密码
 立即注册
查看: 1317|回复: 5

Python29讲课堂内容疑问

[复制链接]
发表于 2018-1-29 14:00:28 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
箭头方向,调用了函数save_file,def save_file的时候为什么一定要def save_file(boy,girl,count)?为什么def save_file()不可以呢外部函数split_file中的变量boy,girl,count不可以直接调用吗
Layer~1.png
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2018-1-29 14:04:59 | 显示全部楼层
应该是可以的,你试试就知道了
问题是如果那样写那代码的逻辑就太死了,无法单独使用save函数
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-1-29 14:08:37 | 显示全部楼层
你没理解清楚变量作用域

这三个变量只有在 split_file函数中才有效

出了split_file函数的代码块儿就没用了。

别的函数要想使用,只有两种方法

1、将这三个变量变成全局变量,那么在整个Python文件都可以直接使用这三个变量
2、通过传参使用,就是图中的使用方法了。这样就可以在作用域这种使用这三个变量了。

不推荐第一种方法、污染全局环境 而且不安全。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-1-29 14:11:12 | 显示全部楼层
BngThea 发表于 2018-1-29 14:04
应该是可以的,你试试就知道了
问题是如果那样写那代码的逻辑就太死了,无法单独使用save函数

试了,程序出错,显示count这个变量没定义就使用:NameError: name 'count' is not defined
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-1-29 14:16:14 | 显示全部楼层
Noxiousli 发表于 2018-1-29 14:11
试了,程序出错,显示count这个变量没定义就使用:NameError: name 'count' is not defined

你在函数内部定义的局部变量不能被其他函数直接使用
除非是中外部定义的全局变量
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-1-29 16:26:10 | 显示全部楼层
Noxiousli 发表于 2018-1-29 14:11
试了,程序出错,显示count这个变量没定义就使用:NameError: name 'count' is not defined

我把函数内部调用函数,理解成内嵌函数了。。。如果是内嵌函数,就可以使用这三个变量了,对吧~
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-12-27 13:51

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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