鱼C论坛

 找回密码
 立即注册
查看: 1848|回复: 1

[已解决]python新生求助

[复制链接]
发表于 2017-5-25 19:55:24 | 显示全部楼层 |阅读模式

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

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

x
class Ball:
    def getname(self,name):
        self.name=name
        print('我叫%s,啊啊啊'%self.name)        
a=Ball("球")
a.getname()


为什么不能这么写呢?????
最佳答案
2017-5-25 20:47:01
感觉楼主你不太明白类的定义,可以再看看书,仔细捉摸一下。首先要明白类当中有两个东西,一个是属性(变量),另一个是方法(定义的函数),如果你想要类的实例化的时候,要设置初值,那你就要定义初始值的函数,多看看程序就习惯了。例如: 下面用不同的方法赋初值
class Ball:
    def setName(self, name):
        self.name = name
    def kick(self):
        print('我叫%s,该死的,谁踢我。。。' % self.name)

a = Ball()
a.setName('土豆')
a.kick()

#初始化
class Bball:
    def __init__(self, name):
        self.name = name
    def kick(self):
        print('我叫%s,该死的,谁踢我。。。' % self.name)

c = Bball('stone')
c.kick()
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2017-5-25 20:47:01 | 显示全部楼层    本楼为最佳答案   
感觉楼主你不太明白类的定义,可以再看看书,仔细捉摸一下。首先要明白类当中有两个东西,一个是属性(变量),另一个是方法(定义的函数),如果你想要类的实例化的时候,要设置初值,那你就要定义初始值的函数,多看看程序就习惯了。例如: 下面用不同的方法赋初值
class Ball:
    def setName(self, name):
        self.name = name
    def kick(self):
        print('我叫%s,该死的,谁踢我。。。' % self.name)

a = Ball()
a.setName('土豆')
a.kick()

#初始化
class Bball:
    def __init__(self, name):
        self.name = name
    def kick(self):
        print('我叫%s,该死的,谁踢我。。。' % self.name)

c = Bball('stone')
c.kick()
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-2-27 17:12

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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