鱼C论坛

 找回密码
 立即注册
查看: 6253|回复: 6

关于python中 函数名.变量名 定义变量方法的问题

[复制链接]
发表于 2017-1-10 20:15:10 | 显示全部楼层 |阅读模式
10鱼币
在《机器学习实战》中,作者的源代码中有一种定义方法是 函数名.变量名 ,解释该方法为定义全局变量,但是我在各种教程、百度上都没有搜到这种方法,所以想知道这种方法具体用法以及解释,最好可以附上链接。
事例:
  1. def fun1():
  2.     pass

  3. def fun2():
  4.     fun1.variable = 4
  5.     varible = 5

  6. fun2()
复制代码


访问变量 varible 时,因为是局部变量,故不能访问;但是当我们访问 fun1.variable ,发现是可以访问其值4的,也就是说被定义了全局变量。

求解??????这算什么用法?

最佳答案

查看完整内容

对于Python来说,一切都是对象。 你定义的函数也是对象,“函数.变量名”的用法就是 对象属性的调用 不止函数的变量名可以这样调用,函数还可以以对象的形式进行参数传递。 函数名.变量名就没找到链接了。 你可以参考下面这个 http://www.cnblogs.com/vamei/archive/2012/07/10/2582772.html
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-1-10 20:15:11 | 显示全部楼层
对于Python来说,一切都是对象。
你定义的函数也是对象,“函数.变量名”的用法就是 对象属性的调用
不止函数的变量名可以这样调用,函数还可以以对象的形式进行参数传递。
函数名.变量名就没找到链接了。
你可以参考下面这个
http://www.cnblogs.com/vamei/archive/2012/07/10/2582772.html
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-1-14 17:43:10 | 显示全部楼层
我也准备看这本书
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-1-14 17:56:49 | 显示全部楼层
这不是全局变量吧,只是附加到函数的属性吧。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-1-15 10:45:41 | 显示全部楼层
python里没有局部变量吧,你直接fun2.varible就可以
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-1-18 16:59:03 | 显示全部楼层
python中你的这种用法应该算调用对象的属性吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-1-19 12:11:59 | 显示全部楼层
我觉得是不是可以把fun1看成一个全局变量
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-20 00:52

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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