class Dog:
"""一次模拟小狗的简单尝试"""
def __init__(self,name,age):
"""初始化属性"""
self.name = name
self.age = age
self.p = 3
def a(self,c):
"""将p设置成指定增加的值"""
self.p += c(self前为什么不能加return,而下面的方法却可以)
def sit(self):
"""模拟小狗被命令时蹲下"""
return(self.name.title() + " is now sitting.")(此处用print()取代return,结果为什么会出现none)
my_dog = Dog('小白',10)
my_dog.a(2)
print(my_dog.p)
print(my_dog.sit())
因为『+=』是一个语句而不是表达式,而return的定义就是只能return表达式。
sit函数如果没有return语句那么就相当于return None,所以结果出现None。
可是sit函数,我用print()取代return()
运行起来不应该输出print()的内容吗?
@TTT周清风:
1 5 2 小白 is now sitting. 3 None
特地试了一下,这是输出
@Uteki: 我还是不咋明白,,,