找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 1852|回复: 2

[求助] 求助下面的例子哪里错了?

11

主题

26

帖子

26

积分

贫民

积分
26
jingseyi2011 发表于 2018-1-3 14:01:01 | 显示全部楼层 |阅读模式
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import os
class SingleClass(object):
    def __init__(self,x = 0):
        self.x = 0
        sc = SingleClass()
    def tsc():
        print(sc.x)
        sc.x = 18
        print(sc.x)
    def tsc20():
        print(sc.x)
        sc.x = 9
        print(sc.x)
if __name__ == '__main__':
    sc.tsc()
    sc.tsc2()

输出报错:
Traceback (most recent call last):
  File "D:/SW/Python/program-defined/59_design_model.py", line 18, in <module>
    sc.tsc()
NameError: name 'sc' is not defined

回复

使用道具 举报

11

主题

26

帖子

26

积分

贫民

积分
26
jingseyi2011  楼主| 发表于 2018-1-3 14:59:22 | 显示全部楼层
正确的输出是这样的:
0
18
18
9
[Finished in 0.1s]
回复 支持 反对

使用道具 举报

11

主题

26

帖子

26

积分

贫民

积分
26
jingseyi2011  楼主| 发表于 2018-1-3 15:27:16 | 显示全部楼层
上面的例子里,缩进有问题。
改为如下的格式:
#!/usr/bin/python
# -*- coding: UTF-8 -*-

class SingleClass:
    def __init__(self,x=0):
        self.x = 0
sc = SingleClass()

def tsc():
    print(sc.x)
    sc.x = 10
    print(sc.x)

def tsc2():
    print(sc.x)
    sc.x = 9
    print(sc.x)



if __name__ == '__main__':

    tsc()

    tsc2()

run成功,后面定义的这两个函数是主程序下面的函数,不是类里面的函数。
回复 支持 反对

使用道具 举报

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

本版积分规则

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