在Python中,一个类中方法的返回值可不可以是另外一个类呢 python函数可以有多个返回值
在Python中,一个类中方法的返回值可不可以是另外一个类呢?
当然可以了。
Python中有个元类的概念, metaclass就是用来生成类的类。
还有工厂函数的概念,就是说一个函数直接返回一个类。
class MetaDog:
    def __init__(self, color=):
        self.color = color
    def show_color(self):
        print(my dog color is {}..format(self.color))
class Animal:
    def dog_class(self):
        return MetaDog
animal = Animal()
Dog = animal.dog_class()
my_dog = Dog()
my_dog.color = yellow
# my_dog = Dog(yellow)
my_dog.show_color()
# my dog color is yellow.
python函数可以有多个返回值
这种说法不准确,确切的话,是不能返回多个值的
但是,如下这种情况
def abs(x, y, z):
return x, y, z
# 和 return (x, y, z) 一样
看似是返回了多个值,其实是返回了一个元组
当然,也可以返回列表,字典等
如何让函数返回不同类型的值
这种的动态类型不应该在代码的类型层面实现。应该在数据的输入输出IO的时候去判断。
比如从键盘输入字符串"1"
没有小数点,就按整型处理,有小数点且不等于0,就按浮点处理
用分支处理。用if就能处理了。
至于double判断并转换成int。
可以
if(d==floor(d)) //与底数相等。
使用int
else 用浮点
总之,不宜依赖语言自身的隐式转换,会有隐患也是不合语言的设计初衷。
python:返回值问题
python 函数返回值有两种形式:
1 返回一个值。
2 返回多个值。
现看看返回一个值的吧。
def firstvalue(a,b):
c = a b
return c
print firstvalue(1,2)结果:3
再看看返回多个值的: 那怎么可以返回多个值呢,其他的语言一般调用函数的话,只能返回一个值,可能我不太熟悉所有的语言,我知道的语言只能返回一个值,而python可以返回多个值,感觉非常方便,发代码看下:
def secondvalue(a,b):
c = a b
return (a,b,c)
x,y,z = secondvalue(1,2)
print x:,x,y:,y,z:,z
python自定义函数返回值的问题
使用返回值的方法有两种:
可以直接把调用的函数作为变量使用
可以用调用函数给一个变量赋值
第一种情况见如下例子:
l = [1,2,3,4,5]
def add_element(list, element):
list.append(element)
return list
print add_element(l, 6)
# >>> [1,2,3,4,5,6]
print add_element(l, 6)[5]
# >>> 6
第二种情况:
l1 = add_element(l, 6)
print l1
# >>> [1,2,3,4,5,6]
print l1[5]
# >>> 6
注意: 以上例子都是应用于python 2.x
python 如何返回数据类型?比如输入一个3,返回int.输入一个字符串,返回string?
输入是3的话可能是字符串也可能是数字啊。你可以尝试以下代码:
>>> a = 3
>>> type(a)
>>> b = "3"
>>> type(b)
>>> b.isdigit()
True
>>> c = "3d"
>>> c.isdigit()
False
>>>
python怎么知道返回值类型
JAVA、PHP 是肯定不要的了,无他,厌之。
当时 ROR 是被热捧的,但是看了下语法,看到 begin...end 后果断弃之。
后来看了下 douban 的各种路边社报导,感觉 Python 可以看看。
python 一个类的函数如何调用另一个类中函数的返回值?
可以调用,比如下面,common_func被多个函数调用。 class MyClass: def __init__(self): pass def func1(self): # do something self.common_func() def func2(self): # do something self.common_func() def common_func(self): pass