Ale*_*lex 5 python function naming-conventions
Python对函数变量有命名约定吗?在PEP-8中,我看不到任何特定的东西(除了命名变量)。
由于函数是Python中的一类对象,因此使用_fn后缀或类似的东西是公认的约定吗?
编辑:更新了更现实的例子
例:
def foo_a():
print 'a'
def foo_b():
print 'b'
funcs = {'a': foo_a, 'b': foo_b}
# dynamically select function based on some key
key = 'a'
foo_fn = funcs[key]
Run Code Online (Sandbox Code Playgroud)
Python 是否有函数变量的命名约定?
不,不是,函数是 Python 中的第一类对象。传递函数名称,就像访问它进行调用一样。
例如:
def foo():
pass
foo() # calling
another_function(foo) # passing foo
Run Code Online (Sandbox Code Playgroud)
然而,编程中最困难的事情之一是正确命名。我当然会使用更具描述性的名称,可能是动词。例如:
def do_nothing():
pass
Run Code Online (Sandbox Code Playgroud)
编辑:同样的交易,但_fn如果它使您的代码更清晰,则没有什么可以阻止您将其用作后缀:
def foo_a():
print 'a'
def foo_b():
print 'b'
funcs = {'a': foo_a, 'b': foo_b}
# dynamically select function based on some key
key = 'a'
foo_fn = funcs[key]
foo_fn() # calling
another_function(foo_fn) # passing
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
806 次 |
| 最近记录: |