def语句常见错误

自觉不才,使用def语句时容易出现以下错误,

参考: 习题—25

http://www.2cto.com/shouce/Pythonbbf/ex25.html

def add():

print "A true man does what he will, not what he must!"

add()                # 输出print过的内容

a = add()         # 同上

print add()       # 输出print过的内容和return过的值

print a             # 输出return过的值,没有则输出None

a                    # 仅作为变量存在,无输出

---------------------------------------------------------------------

摘自习题—25

def break_words(words):          # def: (define)定义函数

print words.split(‘ ‘)              # 记得 ‘  ‘ 要有空格,不然提示出错信息:

ValueError: empty  separator(分隔符)

def sort_words(words):

print sorted(words)

txt = "A true man does what he will, not what he must!"

list = break_words(txt)

sort_words(list)

ValueError: ‘NoneType‘ object is not iterable(迭代)

偶觉得这是一个经典的错误,因为NoneType表示变量的值是空的。而上面说

过的return,返回的是值。所以应该这样改。就是因为是print而不是return,

返回值,所以才会出现NoneType,(返回的值是空)这种情况。

def break_words(words)

return words.split(‘ ‘)

或者把list = break_words(txt) 改为 list = txt.split(‘ ‘)

时间: 2024-10-01 02:20:32

def语句常见错误的相关文章

php中sql语句常见错误

.php文件中sql语句的写法导致的错误如下: 1.$logSql="select * from jd_login where uname=".$u."and upwd=".$p; 报错如下: 查询用户失败: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use

Python程序的常见错误(收集篇)

关于Python Python是一门解释性的,面向对象的,并具有动态语义的高级编程语言.它高级的内置数据结构,结合其动态类型和动态绑定的特性,使得它在快速应用程序开发(Rapid Application Development)中颇为受欢迎,同时Python还能作为脚本语言或者胶水语言讲现成的组件或者服务结合起来.Python支持模块(modules)和包(packages),所以也鼓励程序的模块化以及代码重用. 关于本文 Python简单.易学的语法可能会误导一些Python程序员(特别是那些

Python程序员的10个常见错误(转)

add by zhj:虽然学Python也有两年了,但这些问题的确容易犯,看来对Python的理解还有些地方不深入.先转了,有时间再好好看 译文:http://blog.jobbole.com/68256/ 本文由 伯乐在线 - datorhjaelten 翻译.未经许可,禁止转载!英文出处:toptal.欢迎加入翻译小组. 关于Python Python是一门解释性的,面向对象的,并具有动态语义的高级编程语言.它高级的内置数据结构,结合其动态类型和动态绑定的特性,使得它在快速应用程序开发(Ra

Python程序员的10个常见错误

关于Python Python是一门解释性的,面向对象的,并具有动态语义的高级编程语言.它高级的内置数据结构,结合其动态类型和动态绑定的特性,使得它在快速应用程序开发(Rapid Application Development)中颇为受欢迎,同时Python还能作为脚本语言或者胶水语言讲现成的组件或者服务结合起来.Python支持模块(modules)和包(packages),所以也鼓励程序的模块化以及代码重用. 关于本文 Python简单.易学的语法可能会误导一些Python程序员(特别是那些

Hibernate常见错误整理

Hibernate常见错误合集 1.错误:object references an unsaved transient instance - save the transient instance before flushing: com.xxxx.bean.java.Sysblog; nested exception is org.hibernate.TransientObjectException: object references an unsaved transient instanc

MDK常见错误详解集合

错误代码及错误信息 错误释义 error 1: Out of memory 内存溢出 error 2: Identifier expected 缺标识符 error 3: Unknown identifier 未定义的标识符 error 4: Duplicate identifier 重复定义的标识符 error 5: Syntax error 语法错误 error 6: Error in real constant 实型常量错误 error 7: Error in integer consta

MySQL主从多种架构部署及常见错误问题解析

本文的主要内容有mysql复制原理,mysql一主多从.双主架构的示例解读,以及mysql在主从复制架构实践中的常见错误问题和解决方法. 一 mysql复制原理 1 原理解读 mysql的复制(replication)是异步复制,即从一个mysql实列或端口(Master)复制到另一个mysql实列的或端口(slave):复制操作由3个进程完成,其中2个(SQL进程和I/O进程)在Slave上,另一个在Master上:要实现复制,必须打开Master端的二进制日志(log-bin),log-bi

GO 新开发者要注意的陷阱和常见错误

转自:http://colobu.com/2015/09/07/gotchas-and-common-mistakes-in-go-golang/ 初级 开大括号不能放在单独的一行 未使用的变量 未使用的Imports 简式的变量声明仅可以在函数内部使用 使用简式声明重复声明变量 偶然的变量隐藏Accidental Variable Shadowing 不使用显式类型,无法使用"nil"来初始化变量 使用"nil" Slices and Maps Map的容量 字符

.Net常见错误

常见错误 #1: 把引用当做值来用,或者反过来 C++ 和其他很多语言的程序员,习惯了给变量赋值的时候,要么赋单纯的值,要么是现有对象的引用.然而,在C# 中,是值还是引用,是由写这个对象的程序员决定的,而不是实例化对象并赋值的程序员决定的.这往往会坑到 C# 的新手程序员. 如果你不知道你正在使用的对象是否是值类型或引用类型,你可能会遇到一些惊喜.例如:   Point point1 = new Point(20, 30);   Point point2 = point1;   point2.