鱼C论坛

 找回密码
 立即注册
查看: 1064|回复: 7

【Python:类实例化时出现的问题。】

[复制链接]
发表于 2018-3-31 08:39:08 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
#!/usr/bin/env python3
#filename:pp.py
#coding=utf-8

class People(object):
        #定义基本属性
        name = ''
        age  = 0
        #定义私有属性,私有属性在类外部无法直接访问
        __weight=0
        def __init__(self,n,a,w):
                self.name = n
                self.age = a
                # self.__weight = weight
        def speak(self):
                print("%s 说: 我 %d 岁。" %(self.name,self.age)

p = People("Albert", 18, 120)
p.speak()

-----------------------------------------------------------------------

pydev debugger: starting (pid: 2104)
Traceback (most recent call last):
  File "/Applications/Eclipse.app/Contents/Eclipse/plugins/org.python.pydev.core_6.3.2.201803171248/pysrc/pydevd.py", line 1621, in <module>
    main()
  File "/Applications/Eclipse.app/Contents/Eclipse/plugins/org.python.pydev.core_6.3.2.201803171248/pysrc/pydevd.py", line 1615, in main
    globals = debugger.run(setup['file'], None, None, is_module)
  File "/Applications/Eclipse.app/Contents/Eclipse/plugins/org.python.pydev.core_6.3.2.201803171248/pysrc/pydevd.py", line 1022, in run
    pydev_imports.execfile(file, globals, locals)  # execute the script
  File "/Applications/Eclipse.app/Contents/Eclipse/plugins/org.python.pydev.core_6.3.2.201803171248/pysrc/_pydev_imps/_pydev_execfile.py", line 25, in execfile
    exec(compile(contents+"\n", file, 'exec'), glob, loc)
  File "/Users/macbookpro/eclipse-workspace/GrayHatPython/pra011.py", line 18
    p = People("Alex", 100, 120)
    ^
SyntaxError: invalid syntax
--------------------------------------------------------------------------

为什么会报错啊??!!
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2018-3-31 08:40:17 | 显示全部楼层
#!/usr/bin/env python3
#filename:pp.py
#coding=utf-8

class People(object):
    #定义基本属性
    name = ''
    age  = 0
    #定义私有属性,私有属性在类外部无法直接访问
    __weight=0
    def __init__(self,n,a,w):
        self.name = n
        self.age = a
        # self.__weight = weight
    def speak(self):
        print("%s 说: 我 %d 岁。" %(self.name,self.age)

p = People("Alex", 100)
p.speak()

-----------------------------------------------

pydev debugger: starting (pid: 2117)
Traceback (most recent call last):
  File "/Applications/Eclipse.app/Contents/Eclipse/plugins/org.python.pydev.core_6.3.2.201803171248/pysrc/pydevd.py", line 1621, in <module>
    main()
  File "/Applications/Eclipse.app/Contents/Eclipse/plugins/org.python.pydev.core_6.3.2.201803171248/pysrc/pydevd.py", line 1615, in main
    globals = debugger.run(setup['file'], None, None, is_module)
  File "/Applications/Eclipse.app/Contents/Eclipse/plugins/org.python.pydev.core_6.3.2.201803171248/pysrc/pydevd.py", line 1022, in run
    pydev_imports.execfile(file, globals, locals)  # execute the script
  File "/Applications/Eclipse.app/Contents/Eclipse/plugins/org.python.pydev.core_6.3.2.201803171248/pysrc/_pydev_imps/_pydev_execfile.py", line 25, in execfile
    exec(compile(contents+"\n", file, 'exec'), glob, loc)
  File "/Users/macbookpro/eclipse-workspace/GrayHatPython/pra011.py", line 18
    p = People("Alex", 100)
    ^
SyntaxError: invalid syntax

----------------------------------------------------

上面发错了。应该是下面这个。大家看下面这个
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-3-31 09:11:54 | 显示全部楼层
第一段代码没错啊。

第二段你在实例化的时候少了一个参数。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-3-31 09:50:24 | 显示全部楼层
反正就是编译不了。
还请看仔细,是第一个多了一个参数。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-3-31 09:55:24 | 显示全部楼层
print("%s 说: 我 %d 岁。" %(self.name,self.age))
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-3-31 10:18:36 | 显示全部楼层
#!/usr/bin/env python3
#filename:pp.py
#coding=utf-8

class People(object):
        #定义基本属性
        name = ''
        age  = 0
        #定义私有属性,私有属性在类外部无法直接访问
        __weight=0
        def __init__(self,n,a,w):
                self.name = n
                self.age = a
                # self.__weight = weight
        def speak(self):
                print("%s 说: 我 %d 岁。" %(self.name,self.age))

p = People("Albert", 18, 120)
p.speak()
-------------------------------------------------
好吧问题不在这(把括号加上后还是编译失败。)
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-3-31 10:20:54 | 显示全部楼层
好了我知道错在哪里了。我用的是Eclipse,编译环境忘记改成Python3了,,,
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-3-31 11:22:19 | 显示全部楼层
ABC23 发表于 2018-3-31 10:20
好了我知道错在哪里了。我用的是Eclipse,编译环境忘记改成Python3了,,,

看5楼,倒数第三行print语句最后少了一个)
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-12-29 00:12

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表