在Python中,是更喜欢声明局部变量来从对象中提取数据,还是直接处理对象?

2024-06-10 15:54:52 发布

您现在位置:Python中文网/ 问答频道 /正文

例如,假设您有一个具有3种不同字符串属性(吠叫、睡觉、吃饭)的对象狗。还假设您有一个函数,在该函数中您将多次重复访问这些变量(狗叫, 狗叫, 狗。睡觉). 是否最好在函数开头声明这些(bark=狗叫)或者直接使用狗的对象?你知道吗

示例:

def print_dog_actions(dog):
    print dog.bark
    if dog.bark == 'loud':
       print 'dog bark is loud! {bark}'.format(bark=dog.bark)
    print dog.sleep
    print dog.eat 
    print dog.sleep + dog.eat

与:

def print_dog_actions(dog):
    bark = dog.bark
    sleep = dog.sleep
    eat = dog.eat
    print sleep
    print sleep + eat
    print bark + eat

这可能是个愚蠢的问题,但我很难找到Python中的某些标准/约定,这只是我遇到的众多问题之一。你知道吗


Tags: 对象函数字符串actions声明示例属性def
2条回答

第一个是你会经常看到的,但这取决于你的总体目标是什么。但更多的时候,你会想这样做。你知道吗

我真的想不出第二种方法的理由,除了有时它可能会让你更可读,如果变量变得毛茸茸的。你知道吗

不过,这两种方法都是完全有效的。第一种方式更标准。你知道吗

如果您不打算不止一次地使用对象的属性,比如说dog.bark,那么声明一个额外的变量来做一件事是没有意义的——除了可读性。你知道吗

这个问题可以引出内存管理主题;看看“堆”和“堆栈”以及Python如何处理存储变量。你知道吗

相关问题 更多 >