零基础学python-15.2 分解函数
2015-09-10 22:39
399 查看
这一章节我们来说说函数的一些主要概念
我们以一小段代码为例:
1. def是可执行的代码
我们调用test方法,尽管什么都没有,但是test已经执行了
2.def创建了一个对象并将其赋值给某一变量
其实python将pass这个代码封装成一个对象,然后赋值给test这个变量,主要调用这个变量有些特殊,需要加上小括号
3. lambda创建一个对象但将其作为结果返回(暂时不懂lambda,无法解释)
4.return将一个结果返回给调用者
5.yield向调用者发回一个结果对象,但是记住它离开的地方(暂时不懂yield,无法解释)
6. global声明了一个模块级别的变量并且被赋值
我们把下面的代码保存为test.py文件,
然后运行,得出下面结果:
从异常来看,找不到b这个变量,但是我们在回头看代码,x也是这样的定义,但是x却存在,而b就不存在,所以global定义的变量是模块级别的,整个模块都可以使用
7.nonlocal声明将要赋值的一个封闭的函数变量(暂时不懂nonlocal,无法解释)
8.函数通过赋值(对象引用)传递
9.参数、返回值以及变量并不需要声明
我们从上面的方法也可以看见,对于参数、返回值、变量我们都没有做出声明,都是运行的时候有python自己决定
10.函数需要注意的地方:
当函数运行之后,因为他已经在内存里面,我们可以随意增加他的属性
因为本人学java出身,所以个人不建议这样使用
总结:这一章节主要说明函数的一些重要概念以及需要注意的地方
这一章节就说到这里,谢谢大家
------------------------------------------------------------------
点击跳转零基础学python-目录
我们以一小段代码为例:
>>> def test(): pass >>>
1. def是可执行的代码
>>> test() >>>
我们调用test方法,尽管什么都没有,但是test已经执行了
2.def创建了一个对象并将其赋值给某一变量
其实python将pass这个代码封装成一个对象,然后赋值给test这个变量,主要调用这个变量有些特殊,需要加上小括号
3. lambda创建一个对象但将其作为结果返回(暂时不懂lambda,无法解释)
4.return将一个结果返回给调用者
>>> def test(): return "这是一个测试方法" >>> test() '这是一个测试方法' >>>
5.yield向调用者发回一个结果对象,但是记住它离开的地方(暂时不懂yield,无法解释)
6. global声明了一个模块级别的变量并且被赋值
我们把下面的代码保存为test.py文件,
def test(): global x x=1 print(x) b=2 print(b) test() x=50 print(x) print(b)
然后运行,得出下面结果:
>>> ================================ RESTART ================================ >>> 1 2 50 Traceback (most recent call last): File "C:/Python34/test.py", line 10, in <module> print(b) NameError: name 'b' is not defined >>>
从异常来看,找不到b这个变量,但是我们在回头看代码,x也是这样的定义,但是x却存在,而b就不存在,所以global定义的变量是模块级别的,整个模块都可以使用
7.nonlocal声明将要赋值的一个封闭的函数变量(暂时不懂nonlocal,无法解释)
8.函数通过赋值(对象引用)传递
>>> def test(x): print(type(x)) print(id(x)) print(x) >>> test(1) <class 'int'> 505991632 1 >>>
9.参数、返回值以及变量并不需要声明
我们从上面的方法也可以看见,对于参数、返回值、变量我们都没有做出声明,都是运行的时候有python自己决定
10.函数需要注意的地方:
当函数运行之后,因为他已经在内存里面,我们可以随意增加他的属性
>>> def test():
name='ray'
>>> test() >>>test.name='lee'
>>> print(test.name)
lee
>>> test.mind='123'
>>> print(test.mind)
123
>>>
因为本人学java出身,所以个人不建议这样使用
总结:这一章节主要说明函数的一些重要概念以及需要注意的地方
这一章节就说到这里,谢谢大家
------------------------------------------------------------------
点击跳转零基础学python-目录
相关文章推荐
- Python使用Rsa公钥加密,私钥解密以及私钥签名,公钥验签的例子
- wxPython python3.x下载地址
- numpy基础操作
- Python-列表和元祖
- 利用Python访问Mysql数据库
- python库的安装方法
- 常见Python异常
- python unittest 深入failfast及实际应用【示例】
- Python经常使用第三方工具、库、骨架
- Python基础学习笔记之一
- 十八、python 对文件读写
- Python sys.argv
- 机器学习实战2:k近邻算法KNN(python)
- 用python调用C的动态链接库
- [LeetCode]题解(python):007-Reverse Integer
- python随机数函数
- 初学Python
- python写入文件乱码处理
- python调用C函数
- [LeetCode]题解(python):006-ZigZag Conversion