简单的初学者问题:
我已经创建了一个小的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"
谢谢.
对于条件语句,我可能会选择:
if filecmp.cmp(local, config_file): shutil.copyfile(remote, config_file) else: shutil.copyfile(local, config_file)
y if x else z
在这种情况下几乎不需要使用内联,因为周围的代码足够简单.
从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()
方法名称和实例变量
使用函数命名规则:小写,必要时用下划线分隔,以提高可读性.
更新:根据奥斯卡的要求,还列出了他的代码如何以这种方式看待.