设为首页收藏本站

Crossin的编程教室

 找回密码
 立即加入
查看: 9551|回复: 5
打印 上一主题 下一主题

第48课类的函数疑问

[复制链接]

12

主题

0

好友

126

积分

注册会员

Rank: 2

跳转到指定楼层
楼主
发表于 2017-12-19 22:32:04 |只看该作者 |倒序浏览
如图:为什么定义类的函数一定要用self.name呢?直接用函数的变量self为什么不可以
#encoding:utf-8

class MyClass:
    name = 'sam'
    def sayHi(self):
        print 'Hello %s'%self.name

mc = MyClass()
print mc.name
mc.name = 'lily'
mc.sayHi()


class myclass:
    name = 'aa'
    def say(self):
        print 'hello' + self

mm = myclass()
mm.name = 'lucy'
print mm.name
#mm.say(mm.name)
WX20171219-223017@2x.png
回复

使用道具 举报

0

主题

0

好友

114

积分

注册会员

Rank: 2

沙发
发表于 2017-12-20 09:34:46 |只看该作者
self表示的是类的本身,不是同name一样是类的属性变量
回复

使用道具 举报

6

主题

2

好友

654

积分

实习版主

Rank: 7Rank: 7Rank: 7

板凳
发表于 2017-12-20 09:35:55 |只看该作者
有个讲python self 的,你看下 http://python.jobbole.com/81921/
回复

使用道具 举报

12

主题

0

好友

126

积分

注册会员

Rank: 2

地板
发表于 2017-12-20 10:48:48 |只看该作者
TED 发表于 2017-12-20 09:35
有个讲python self 的,你看下 http://python.jobbole.com/81921/

大概明白,但后续在实验过程中,遇到这个和他们结果不同的?
我这里没有再调用回desc类,而且我把t.x注释掉也不行

WX20171220-104507@2x.png
回复

使用道具 举报

6

主题

2

好友

654

积分

实习版主

Rank: 7Rank: 7Rank: 7

5#
发表于 2017-12-20 11:13:20 |只看该作者
变色幽灵 发表于 2017-12-20 10:48
大概明白,但后续在实验过程中,遇到这个和他们结果不同的?
我这里没有再调用回desc类,而且我把t.x注释 ...

刚试了下 用python3 结果就正常

python2不行,版本差异的原因吧
回复

使用道具 举报

12

主题

0

好友

126

积分

注册会员

Rank: 2

6#
发表于 2017-12-20 12:44:52 |只看该作者
TED 发表于 2017-12-20 11:13
刚试了下 用python3 结果就正常

python2不行,版本差异的原因吧

soga
谢谢版主
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即加入

QQ|手机版|Archiver|Crossin的编程教室 ( 苏ICP备15063769号  

GMT+8, 2024-5-9 05:22 , Processed in 0.026531 second(s), 24 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部