当前位置:  开发笔记 > 编程语言 > 正文

Python风格

如何解决《Python风格》经验,为你挑选了2个好方法。

简单的初学者问题:

我已经创建了一个小的python脚本来切换我用于测试的两个文件.

我的问题是,对于以下代码,什么是一个好的python格式样式:

import filecmp
import shutil

local = "local.txt"
remote = "remote.txt"
config_file = "C:\some\path\file.txt"

shutil.copyfile( remote if( filecmp.cmp(local, config_file ) ) else local, config_file  )

要么

shutil.copyfile( remote 
                     if( filecmp.cmp(local, config_file ) ) 
                     else local,
                 config_file  )

要么

tocopy = remote if( filecmp.cmp( local, config_file ) ) else local 
shutil.copyfile( tocopy, config_file )

或者是什么?

另外,对于多字名称在python中命名var的优先方法是什么,是"to_copy","tocopy","toCopy","ToCopy"

谢谢.



1> Greg Hewgill..:

对于条件语句,我可能会选择:

if filecmp.cmp(local, config_file):
    shutil.copyfile(remote, config_file)
else:
    shutil.copyfile(local, config_file)

y if x else z在这种情况下几乎不需要使用内联,因为周围的代码足够简单.



2> Patrick Harr..:

从Python风格指南:

关于列出复合表达式:

通常不鼓励使用复合语句(同一行上的多个语句).

是:

if foo == 'blah':
    do_blah_thing()
do_one()
do_two()
do_three()

或者对于你提供的代码,Greg的例子很好:

if filecmp.cmp(local, config_file):
    shutil.copyfile(remote, config_file)
else:
    shutil.copyfile(local, config_file)

而不是:

if foo == 'blah': do_blah_thing()
do_one(); do_two(); do_three()

方法名称和实例变量

使用函数命名规则:小写,必要时用下划线分隔,以提高可读性.

更新:根据奥斯卡的要求,还列出了他的代码如何以这种方式看待.

推荐阅读
sx-March23
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有