首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python编程--“创建类函数”中的输出问题

Python编程--“创建类函数”中的输出问题
EN

Stack Overflow用户
提问于 2022-02-03 09:17:54
回答 2查看 42关注 0票数 0

我来自非计算机科学背景(生物化学家)。在Python编程中,在“创建类函数”下,我没有获得以下编写函数的输出:

代码语言:javascript
复制
 class circle (object):
      def __init__(self, 10, 'red'):
          self.radius=10;
          self.color='red'

我遇到了如下语法错误:

代码语言:javascript
复制
File "<ipython-input-1-ab699251caa9>", line 2
def_init_(self,10,'red'):
                         ^
SyntaxError: invalid syntax
EN

回答 2

Stack Overflow用户

发布于 2022-02-03 09:25:06

你不能传递纯值,你需要用变量传递它

代码语言:javascript
复制
class circle (object):
      def __init__(self,number=10,color='red'):
          self.radius=number
          self.color=color
票数 0
EN

Stack Overflow用户

发布于 2022-02-03 09:42:10

函数参数必须是变量,而不是数字或字符串。改变这一点:

代码语言:javascript
复制
 class circle (object):
  def __init__(self, 10, 'red'):
      self.radius = 10
      self.color = 'red'

对此:

代码语言:javascript
复制
 class circle (object):
  def __init__(self, radius, color):
      self.radius = radius
      self.color = color

这个类可以用以下方法实例化:

代码语言:javascript
复制
myCircleObject = circle(10, 'red')

或者,如果希望使关联参数-值更加清晰,可以使用以下方法实例化:

代码语言:javascript
复制
myCircleObject = circle(radius = 10, color = 'red')

还可以为参数设置默认值:

代码语言:javascript
复制
class circle (object):
  def __init__(self, radius = 10, color = 'red'):
      self.radius = radius
      self.color = color

通过这种方式,您仍然可以像以前一样实例化对象,但也可以使用:

代码语言:javascript
复制
myCircleObject = circle()

在这种情况下,radius和color将具有签名中指定的默认值(radius为10,颜色为“红色”)。

请注意,为了避免误解,只能在最右边列出具有默认值的参数。因此,如果只想为参数半径指定默认值,则需要将其移到右侧:

代码语言:javascript
复制
class circle (object):
  def __init__(self, color, radius = 10):
      self.radius = radius
      self.color = color
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70968594

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档