当前位置:首页>综合>正文

在Python中,一个类中方法的返回值可不可以是另外一个类呢 python函数可以有多个返回值

2023-04-20 03:57:20 互联网 未知 综合

 在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