`

学习Python中遇到的问题

 
阅读更多
最近学习Python中。
先上代码:
# -*- coding: UTF-8 -*-
class Person:
    '''Represents a person'''
    population=0
    def _init_(self,name):
        self.name=name
        print '初始化参数 %s'%self.name
        Person.population+=1
    def _del_(self):
        '''I am dying'''
        print '%s says Bye'%self.name
        Person.population-=1
        if Person.population==0:
            print ' I am the last one'
        else:
            print 'There are still %d people leftl'%Person.population
    def sayHi(self):
        '''Greeting by the people.

        Really,that's all it does.'''
        print 'Hi,My name is %s'%self.name
    def howMany(self):
        '''print the current population'''
        if Person.population==1:
            print 'I am the only one person here'
        else:
            print 'We have %d persons here'%Person.population
print '测试开始!'
toby=Person('toby Huang')
toby.sayHi()
toby.howMany()

jimmy=Person('jimmy Huang')
jimmy.sayHi()
jimmy.howMany()

toby.sayHi()
toby.howMany()

这是我写的一段测试学习代码。报错如下:
Traceback (most recent call last):
  File "<pyshell#7>", line 1, in <module>
    import ObjVarTest.py
  File "ObjVarTest.py", line 29, in <module>
    toby=Person('toby Huang')
TypeError: this constructor takes no arguments

下面是正确的代码:
# -*- coding: UTF-8 -*-
class Person:
    '''Represents a person'''
    population=0
    def __init__(self,name):
        self.name=name
        print '初始化参数 %s'%self.name
        Person.population+=1
    def __del__(self):
        '''I am dying'''
        print '%s says Bye'%self.name
        Person.population-=1
        if Person.population==0:
            print ' I am the last one'
        else:
            print 'There are still %d people leftl'%Person.population
    def sayHi(self):
        '''Greeting by the people.

        Really,that's all it does.'''
        print 'Hi,My name is %s'%self.name
    def howMany(self):
        '''print the current population'''
        if Person.population==1:
            print 'I am the only one person here'
        else:
            print 'We have %d persons here'%Person.population
print '测试开始!'
toby=Person('toby Huang')
toby.sayHi()
toby.howMany()

jimmy=Person('jimmy Huang')
jimmy.sayHi()
jimmy.howMany()

toby.sayHi()
toby.howMany()

是不是一眼没看出有什么不一样?
开始的时候我也是快读浏览了下,然后就直接开始写了。知道运行时报错,都一直找不到错在哪?直到写这篇博客前,才发现错误!
其实这真是一个低级错误,原来不是_inti_方法,应该是__init__方法!我少打了一个_。
这都是快速浏览带来的恶果啊,就因为这简单错误害我两天都不爽。
还是那句话:Devil in the details
分享到:
评论

相关推荐

    学习 Python 过程中遇到的问题

    在学习Python编程的过程中,我们经常会遇到各种问题,这些问题既是挑战也是进步的阶梯。Python作为一种强大且易学的编程语言,其简洁的语法和丰富的库使得它成为初学者和专业人士的首选。下面,我们将深入探讨一些在...

    python机器学习案例

    在本文中,我们将深入探讨"Python机器学习案例"这一主题,包括Logistic回归、K-均值聚类和随机森林等重要算法的应用。这些技术在数据科学领域具有广泛的应用,帮助我们从数据中发现模式、预测未来趋势以及进行决策。...

    Python学习笔记,Python3.5中文无法显示

    在Python编程过程中,遇到中文无法显示或报错“Non-UTF-8 code”通常是由于源代码文件的编码格式与Python解释器默认的UTF-8编码不一致所导致的问题。这个问题在Python 3.x版本中尤为常见,因为Python 3默认采用UTF-8...

    深入学习python(PDF)

    3. 异常处理:Python的异常处理机制使用try/except语句,允许程序在遇到错误时优雅地处理问题,而不是突然崩溃。理解异常类型和如何捕获及处理异常,有助于编写健壮的代码。 4. 面向对象编程:Python完全支持面向...

    五种形式的宽度学习BLS代码,python语言

    在Python中实现宽度学习可以帮助开发者快速构建和训练模型,同时提高模型的可理解性。下面将详细阐述宽度学习的基本概念、BLS的Python实现以及压缩包中的相关文件。 宽度学习的核心思想是将多个浅层学习单元(如...

    学习Python,练习Python,各种实用Python代码示例!.zip

    这个名为"学习Python,练习Python,各种实用Python代码示例!.zip"的压缩包文件显然包含了一系列的Python代码示例,旨在帮助用户加深对Python语言的理解并提高实践能力。 首先,让我们来探讨一下Python的基础知识。...

    Python-解决爬虫中遇到的js加密问题

    在Python Web爬虫开发中,我们经常会遇到网页数据被JavaScript加密的情况,这使得直接通过简单的HTTP请求获取到的HTML源代码并不能直接解析出我们需要的数据。本文将深入探讨如何解决这一问题,主要涵盖以下几个方面...

    python学习手册第四版中文和第五版英文版

    在学习过程中,你可能会遇到如下的Python知识点: 1. **基本语法**:包括缩进规则、注释、变量声明及赋值、数据类型的转换。 2. **控制结构**:if条件语句、for和while循环,以及break和continue语句。 3. **函数**...

    《Python学习手册》示例代码.zip

    《Python学习手册》是一本广泛认可的Python编程教程,它为初学者提供了全面...同时,解决代码中可能遇到的问题也是提升编程能力的好方法。记得实践是检验理解的最好方式,动手编写和修改代码将使你更熟练地掌握Python。

    学习python的练习题

    "学习Python的练习题"这个资源显然是为了帮助Python新手巩固和提升编程技能而设计的。下面我们将深入探讨Python编程的一些关键知识点,并结合提供的"Python100经典练习题.pdf"文件,为你揭示Python学习的一些核心...

    Python-中文文档

    通过系统学习,你可以更好地理解Python的工作原理,提高编程效率,并能够利用Python解决实际问题。无论你是初入编程殿堂的新手,还是寻求技术突破的开发者,这份文档都将是你前行路上的得力助手。

    python学习宝典

    在学习Python语言的过程中,初学者经常遇到各种编译错误,影响学习的进度和效率。为了帮助新手们解决这些常见的编译问题,本文将深入剖析Pycharm环境下常见的编译错误类型及其解决方法,另外也会涉及如何利用Debug...

    Python3.8官方中文API参考手册

    6. **extending.pdf**:扩展Python,讲述了如何使用C或C++编写Python扩展,以及如何将C/C++库集成到Python程序中,是深入学习Python底层原理的重要资料。 7. **using.pdf**:使用Python,可能包含Python的配置、...

    python学习源码和开发应用技术

    - **MySQLdb使用指南(Python数据库操作)**、**Python访问MySQL数据库**、**Python安装MySQLDb模块的种种问题及解决**:这三个资源共同构成了学习Python操作MySQL数据库的完整体系...

    Python入门教程+1小时入门+简明教程+核心编程(非常全面经典的中文学习Python资料)

    总的来说,这个压缩包中的资源为学习Python提供了丰富的材料,从入门到进阶,覆盖了Python的各个方面。通过阅读这些教程,学习者可以逐步建立自己的Python编程技能,无论是为了个人兴趣还是职业发展,都能找到适合...

    Python学习中的问题分析

    在Python学习过程中,遇到一些问题是很常见的,特别是涉及到科学计算和数据分析时,如标题中提到的"Python学习中的问题分析"。在这个问题中,开发者发现能够成功导入`scipy`模块,但尝试导入`scipy.misc`时却遇到了...

    Python学习手册 (第4版) 中文

    《Python学习手册(第4版)》是Python编程领域中一本经典的教材,由著名Python专家Mark Lutz撰写。这本书深入浅出地介绍了Python语言的核心概念、语法结构以及实用技巧,适合初学者和有一定经验的开发者作为参考。在...

    Python3.7.3中文离线文档HTML版

    通过Python3.7.3中文离线文档HTML版,开发者可以系统性地学习Python语言,理解其背后的原理,掌握各种编程技巧,从而更好地进行Python项目开发。无论你是初学者还是经验丰富的开发者,这个离线文档都将是你不可或缺...

    python学习资料几套教程打包下载,比较好的资料和源码

    在学习Python时,首先要掌握基础语法,如变量、数据类型(整型、浮点型、字符串、布尔型、列表、元组、字典等)、流程控制(条件语句、循环语句)以及函数定义和调用。 其次,了解Python的标准库是至关重要的。...

Global site tag (gtag.js) - Google Analytics