V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
wellhome
V2EX  ›  Python

临时变量命名生命周期的问题

  •  
  •   wellhome · 2017-09-28 10:21:31 +08:00 · 2669 次点击
    这是一个创建于 2598 天前的主题,其中的信息可能已经有所发展或是发生改变。
    请教一下, 一些临时变量的名字在某个 section 完成后,不会在使用
    大家是重复使用同一个名字还是每次都重新起一个新名字,

    场景如下,
    一个取得当前汇率的程序
    __main__
    1. 取得 aud 汇率, 做一些计算,print
    aud_usd = fx_rate('aud', 'usd')
    使用 aud_usd 做一些运算,aud_usd 使命完成, 后面不会在有 call
    打印结果

    2. 取得 CAD 汇率, 做一些计算,print
    cad_usd = fx_rate('aud', 'usd')
    使用 cad_usd 做一些运算
    打印结果

    (第一步和第二部中的运算 是不同的场景, 所以没法抽象到一个 function 中)

    那么 aud_usd cad_usd 是不是可以直接用一个 common 变量 to_usd ?

    谢谢大家.
    6 条回复    2017-09-28 15:53:48 +08:00
    oaix
        1
    oaix  
       2017-09-28 10:58:21 +08:00
    用两个变量
    wmhx
        2
    wmhx  
       2017-09-28 11:08:20 +08:00
    明显 2 个啊, 如果你取一个名, 接坑的人会骂你的.
    lrh3321
        3
    lrh3321  
       2017-09-28 11:49:12 +08:00
    用两个
    wellhome
        4
    wellhome  
    OP
       2017-09-28 12:08:39 +08:00
    谢谢楼上的 3 个大神的回答。
    wangr927
        5
    wangr927  
       2017-09-28 15:44:32 +08:00
    @wmhx 意思是使用两个不同的变量名主要是为了方便编写程序的人员分辨,但其实对代码本身的运行不会有什么影响,是吗?
    xomix
        6
    xomix  
       2017-09-28 15:53:48 +08:00
    @wangr927
    有啊。
    第一种方案没有新的变量。
    如果是 java 或.net 之类自动回收的语言就是在未回收前占内存,导致你的代码更耗电。
    没有自动回收的语言忘记回收,你这个操作多来几万次你看看你的内存占用量…………
    当然一般程序对耗电量等没有什么特别需求,所以就是无自动回收语言注意回收内存,有自动回收语言没什么区别。
    为了可读性牺牲性能是团队工作中正确的做法。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2576 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 15:32 · PVG 23:32 · LAX 07:32 · JFK 10:32
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.