请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

self调用类变量,类名. 调用类变量,self.__class__. 调用类变量,取得值都是一样的吗,我测试结果都一样啊,有何具体不同

正在回答 回答被采纳积分+3

1回答

7七月 2018-03-10 00:00:28

这个需要你把代码贴出来,然后具体说明下哪里不清楚,我才能做出对应的解答。

0 回复 有任何疑惑可以回复我~
  • 提问者 慕莱坞6468790 #1
    class Student():
        sum=0
        # name='qiyue'
        # age=0
        #特征类变量
        # 数据特征
        def __init__(self,name,age):
            # 构造函数是自动调用的
            # 构造函数主要作用是利用类(模板)生成不同的对象
            self.name=name#此处name是实例变量
            self.age=age#此处age是实例变量,和类变量的关系
            # print(id(name))
            # print(id(self.name))
            print(self.name)
            print(self.age)
            print(self.__class__.sum)
            print(Student.sum)
            print(self.sum)
            # print(self.name)
            # print(self.age)
        
            # print('student')
        def print_file(this):#行为:方法或者函数
           
            print('name: '+ this.name)
            print('age: '+ str(this.age))
            Student.sum+=1
            print(Student.sum)
            print(sum)
            print(this.sum)
            # 数据行为,即为方法或者函数
    
    # 类中在调用别的类的变量测试
    # class Student1():
    #     name=''
    #     def print_file1(self):
    #         print('name: '+ self.name)
    
    student1=Student('jkjkj',15)
    # student1.print_file1()
    # 调用类在C2.py中执行
    # student1=Student('wang',15)
    # student2=Student('ting',15)
    # print(student1.name)
    # print(student2.name)
    # student1.print_file()
    # student1.print_file()
    
    # 自动调用,无需显式调用
    # student.__init__()
    回复 有任何疑惑可以回复我~ 2018-03-10 17:14:11
  • 提问者 慕莱坞6468790 #2
    Student.sum  和 self.__class__.sum 都应该是类变量  ,而self.sum应该是实例变量,我理解是这样的,请老师给与解答
    回复 有任何疑惑可以回复我~ 2018-03-10 17:26:25
  • 7七月 回复 提问者 慕莱坞6468790 #3
    我也很想帮你解答,但是这个代码这样贴出来,我咋看啊。编辑器有格式化代码的功能,麻烦把代码格式化一下啊。
    回复 有任何疑惑可以回复我~ 2018-03-10 18:10:09
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信