【发布时间】:2013-05-06 08:29:33
【问题描述】:
假设我在 python 中有这个函数:
def get_thing(rule):
if rule == 0:
return 5 #<<<< int
elif rule == 1:
return 'Hello' #<<<<< string
else:
return Student() #<<<<< Object
上述函数根据规则返回不同的值(int或字符串或对象)。
我应该使用上面的函数还是使用这个函数:
def get_int()
return 5
def get_string()
return 'Hello'
def get_student()
return Student()
我的意思是函数返回不同的数据类型或值是 Pythonic 吗?
在 java 中你只能返回一种类型,例如:String only。
希望你能理解我的问题:)
谢谢。
编辑: 其他例子
def get_person(id):
if #id is belongs to student:
return Student()
elif #id belongs to teacher
return Teacher()
【问题讨论】:
-
你需要它做什么?
-
我认为您将不得不为这个问题提供更多背景信息。话虽如此,第一个 sn-p 看起来并不是一个好的解决方案。
标签: python oop python-2.7 python-3.x uml