这一章节我们来说说函数的一些主要概念

我们以一小段代码为例:

>>> 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

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)

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-15.2 分解函数相关推荐

  1. python自学步骤-零基础学Python应该学习哪些入门知识及学习步骤安排

    众所周知,Python以优雅.简洁著称,入行门槛低,可以从事Linux运维.Python Web网站工程师.Python自动化测试.数据分析.人工智能等职位!就目前来看,Python岗位人才缺口高达4 ...

  2. python是什么意思中文、好学吗-零基础学python难吗?好学吗?

    Python是一种什么语言? Python是一种计算机程序设计语言.你可能已经听说过很多种流行的编程语言,比如非常难学的C语言,非常流行的Java语言,适合初学者的Basic语言,适合网页编程的Jav ...

  3. python提供两种基本循环结构_零基础学python 12 程序不枯燥:for循环结构(课后习题)...

    上节课我们一起学习了咱们的for循环结构,这节课咱们来就之前学过的知识做一下习题吧: 1. 主题: Duck, Duck, Goose! 假设你在一个家禽农场工作,需要计算从传送带传下来的动物数量(不 ...

  4. python零基础电子书免费下载-零基础学Python

    准备自学Python朋友,不放来看看<零基础学Python>吧!小编这里为各位送上的是这本书的全彩PDF版,该书从初学者角度出发,通过通俗易懂的语言.流行有趣的实例,详细地介绍了使用IDL ...

  5. 零基础学python电子书-零基础学Python

    准备自学Python朋友,不放来看看<零基础学Python>吧!小编这里为各位送上的是这本书的全彩PDF版,该书从初学者角度出发,通过通俗易懂的语言.流行有趣的实例,详细地介绍了使用IDL ...

  6. python自学需要哪些基础知识-零基础学Python应该学习哪些入门知识及学习步骤安排...

    众所周知,Python以优雅.简洁著称,入行门槛低,可以从事Linux运维.Python Web网站工程师.Python自动化测试.数据分析.人工智能等职位!就目前来看,Python岗位人才缺口高达4 ...

  7. 学python需要什么基础-零基础学Python应该学习哪些入门知识及学习步骤安排

    众所周知,Python以优雅.简洁著称,入行门槛低,可以从事Linux运维.Python Web网站工程师.Python自动化测试.数据分析.人工智能等职位!就目前来看,Python岗位人才缺口高达4 ...

  8. 零基础学python看什么书-零基础学python推荐几本python学习的书籍

    原标题:零基础学python推荐几本python学习的书籍 无论是否已经学习了一些其他的编程语言,在开始学习Python时,都应该先从Python的基本概念学起,这样在之后的编程实战中就能尽量减少因为 ...

  9. 视频教程-数据挖掘基础:零基础学Python数据分析-大数据

    数据挖掘基础:零基础学Python数据分析 辽宁师范大学教师,特聘教授,硕士生导师.大数据与商务智能实验室主任. 李洪磊 ¥198.00 立即订阅 扫码下载「CSDN程序员学院APP」,1000+技术 ...

最新文章

  1. 解决: AttributeError: module 'cv2' has no attribute 'SURF'
  2. 【JMAIL】jmail无法收邮件问题
  3. select2 手动输入匹配下拉框内容可多选
  4. 编程理论:多态,继承,和开闭原则
  5. python中函数定义可以不包括什么_Python 中,函数定义可以不包括以下_______。
  6. jms mdb_MDB!= JMS,反之亦然
  7. java Session生命周期讨论
  8. 镜像分割与高可用性灾难恢复
  9. canvas实现数字雨
  10. Cannot convert a symbolic Tensor (simple_rnn/strided_slice:0) to a numpy array. 报错 (解决方法)
  11. 松翰单片机定时器c语言,松翰T0 定时器中断
  12. 计算机无法识别苹果6手机,电脑无法识别iphone6怎么处理
  13. XCOM 导入条目显示正在使用中解决方案
  14. 百度地图Geolocation的getStatus状态值(百度API获取当前位置[经纬度])
  15. 教你使用python在终端创建炫酷二维码!!!
  16. 我用AI技术修万里长城
  17. 超高颜值高性价比蓝牙耳机,2021学生党最爱平价蓝牙耳机推荐
  18. 基于STM32单片机的智能家居毕设
  19. 揭秘 Google 成长史:荒诞梦想的副产品
  20. JavaScript 行间事件、提取行间事件

热门文章

  1. AtCoder Regular Contest 060
  2. newcode Gene Tree 点分治
  3. P4245 【模板】任意模数多项式乘法(NTT)
  4. P4009 汽车加油行驶问题
  5. [ZJOI2007] 时态同步(拓扑序)
  6. 12.15模拟:总结
  7. 欢乐纪中某B组赛【2019.1.30】The penultimate day
  8. loj#10050-The XOR Largest Pair【Trie(字典树)】
  9. 【交互】Omkar and the Meaning of Life(CF-1586D)
  10. 【离散化】【DP】命运石之门的选择