Python一课一练(1)

本文解析了Python编程中常见的几种错误,包括循环导入导致的NoModuleNamed或ImportError、类方法缺少self参数引发的takenoarguments错误,以及因全局变量和局部变量混淆导致的UnboundLocalError和Globalnameisnotdefined错误。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. “No Module Named或者ImportError类的错误”,基本都是由于循环嵌套导致,建议把继承关系的子类和父类放到一个py文件里。 错误示例: 我们写两个类文件,一个父类room.py,一个子类goldroom.py
    • 1.room.py
    
    import goldroom
    class Room(object):
    
        #此处建立一个列表来模拟错误
        rooms = [GoldRoom()]
        def enter(self):
            print "Enter the room"
    

    - 2.goldroom.py
    ```
    imort room
    class GoldRoom.py
        
        rooms = [Room()]
        def enter(self):
            print "Enter the GoldRoom."
  1. “take no arguments”错误,由于类方法定义缺少‘self’参数导致程序报错。 错误示例: 编写一个空参数的python方法。
    • Test.py
    class Test(object):
    
    def test():
        print "Test none argument"
    
    test = Test()
    test.test()
    

3. “UnboundLocalError: local variable referenced before assignment”和“Global name is not defined”类错误,这种错误主要是因为全局变量和局部变量区分不清导致,当我们在函数里使用全局变量时,需要加上self前缀,而使用局部变量时需要初始化局部变量。
    错误示例:
    - Test.py
    ```

    class Test(object):

    items = [1,1,1,2]
    def test(self):
        for t in items:
            print "number is %d" % t

    test = Test()
    test.test()

转载于:https://my.oschina.net/lengwei/blog/808279

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值