1. 1.引入函数
  2. 2.函数执行过程
  3. 4.带参数的函数
  4. 5.带返回值的函数
  5. 6. 多个返回值 return a,b,c)元组
  6. 7.4种函数

1.引入函数

  1. 独立功能代码块 ---> 封装 ----> 函数
  1. 把具有独立功能带代码块,当成一个整体。这个整体称为函数(独立功能代码块)
  2.  
  3. 把一段代码“封装”成一个函数
  4. ”封装“ 整体

2.函数执行过程

   

3.多个函数的执行过程

    

4.带参数的函数

  1)版本1 :实现2个数的加法

  1. #1.定义1个函数
  2. def add():
  3. pass
  4.  
  5. #2.调用函数
  6. add()

  2)版本2:只能实现10+20

  1. #1.定义1个函数
  2. def add():
  3. a = 10
  4. b = 20
  5. result = a + b
  6. print("%s+%s=%s"%(a,b,result))
  7.  
  8. #2.调用函数
  9. add()

  3)版本3  :让小孩买烟

  1. #1.定义1个函数
  2. def add(a,b):
  3. # a = 10
  4. # b = 20
  5. result = a + b
  6. print("%s+%s=%s"%(a,b,result))
  7.  
  8. num1 = int(input("请输入第1个数:"))
  9. num2 = int(input("请输入第2个数:"))
  10.  
  11. #2.调用函数
  12. add(num1,num2)

   

5.带返回值的函数

  1)版本1:为什么需要返回值?

  1. #1.定义一个函数
  2. #定义函数1:获取室内温度
  3. def get_temper():
  4. temper = 20
  5. print("室内温度是:%s"%temper)
  6.  
  7. #定义函数2:转换成华氏温度
  8. def get_huashi():
  9. huashi = temper + 100
  10. print("当前的华氏温度是%s"%huashi)
  11.  
  12. #2.调用函数
  13.  
  14. get_temper()
  15. get_huashi()

    

  2)版本2:如何调试程序?

    10000行程序如何调试?  二分法

      

  1. #1.定义一个函数
  2. #定义函数1:获取室内温度
  3. def get_temper():
  4. temper = 20
  5. print("室内温度是:%s"%temper)
  6.  
  7. #定义函数2:转换成华氏温度
  8. def get_huashi():
  9. print("-----4------")
  10. huashi = temper + 100
  11. print("-----5------")
  12. print("当前的华氏温度是%s"%huashi)
  13. print("-----6------")
  14.  
  15. #2.调用函数
  16.  
  17. print("-----1------")
  18. get_temper()
  19. print("-----2------")
  20. get_huashi()
  21. print("-----3------")

    

  3)版本3:返回值    小孩买烟,带回来的烟

  1. #1.定义一个函数
  2. #定义函数1:获取室内温度
  3. def get_temper():
  4. temper = 20
  5. print("室内温度是:%s"%temper)
  6. return temper #返回值 回娘家,带回来22个礼包
  7.  
  8. #定义函数2:转换成华氏温度
  9. def get_huashi(temper): #带参数的函数
  10. print("-----4------")
  11. huashi = temper + 100
  12. print("-----5------")
  13. print("当前的华氏温度是%s"%huashi)
  14. print("-----6------")
  15.  
  16. #2.调用函数
  17.  
  18. print("-----1------")
  19. result = get_temper() #result = 返回值
  20. print("-----2------")
  21. get_huashi(result) #result 作为下个函数的参数 走亲戚,带着22个礼包去
  22. print("-----3------")

      

  

6. 多个返回值 (return a,b,c)元组

  1. return 结束函数
  2.  
  3. break 结束循环

      

  1. #### 第1种 返回list列表
  2. def num():
  3. a = 11
  4. b = 22
  5. c = 33
  6.  
  7. #第1种
  8. d = [a,b,c]
  9. return d
  10.  
  11. result = num()
  12. print(result)
  13.  
  14. ####### 第2种 返回list
  15. def num():
  16. a = 11
  17. b = 22
  18. c = 33
  19.  
  20. #第2种
  21. return [a,b,c]
  22.  
  23. result = num()
  24. print(result)

      

  1. #### 第3种 返回元组
  2. def num():
  3. a = 11
  4. b = 22
  5. c = 33
  6.  
  7. #第3种
  8. #d = (a,b,c)
  9. #return d
  10.  
  11. result = num()
  12. print(result)
  13.  
  14. #### return a,b,c
  15. #### 默认 返回元组
  16.  
  17. def num():
  18. a = 11
  19. b = 22
  20. c = 33
  21.  
  22. #第4种
  23. return a,b,c
  24.  
  25. result = num()
  26. print(result)

    

7.4种函数

  1. ### 1 ####
  2. def 函数名():
  3. pass
  4.  
  5. #### 2 ###
  6. def 函数名():
  7. return xxx
  8.  
  9. #### 3 ####
  10. def 函数名(参数):
  11. pass
  12.  
  13. #### 4 有参数有返回值 (经常用的)
  14. def 函数名():
  15. pass

day1 函数 (独立功能代码块)的更多相关文章

  1. Java静态变量、静态块、构造块、构造函数、main函数、普通代码块的执行顺序

    测试代码 public class SingleTest { public static String v = "StaticValue"; static { System.out ...

  2. python功能代码块记录

    python Autopep8——按PEP8风格自动排版Python代码(参考链接) autopep8 --in-place --aggressive --aggressive test_autope ...

  3. Android常用功能代码块

    1.设置activity无标题,全屏 // 设置为无标题栏 requestWindowFeature(Window.FEATURE_NO_TITLE); // 设置为全屏模式 getWindow(). ...

  4. Android常用功能代码块(转)

    1.设置activity无标题,全屏 // 设置为无标题栏 requestWindowFeature(Window.FEATURE_NO_TITLE); // 设置为全屏模式 getWindow(). ...

  5. iOS 使用宏定义函数和代码块

    iOS使用宏定义函数和代码块 今天在开发过程中碰到一个问题:就是父类中要向外发送通知,然后子类中或者其他类中来接收它.当然一般是把它写到类方法中去,但是有个问题,就是如果调用的类不是它的子类,就不能直 ...

  6. 牛客网Java刷题知识点之代码块(局部代码快、构造代码块、静态代码块)

    不多说,直接上干货! 代码块包括局部代码快.构造代码块.静态代码块. 代码块,就是一段独立的代码空间. 1.局部代码快 对局部变量的生命周期进行控制. 2.构造代码块 对所有对象进行初始化. 3.静态 ...

  7. final、static、代码块、静态代码块、内部类、代码执行顺序

    final final域使得确保初始化安全性(initialization safety)成为可能,初始化安全性让不可变形对象不需要同步就能自由地被访问和共享 作用在类上               ...

  8. python(57):私有变量,代码块

    转载:http://blog.csdn.net/zhu_liangwei/article/details/7667745 引子 我热情地邀请大家猜测下面这段程序的输出: class A(object) ...

  9. IOS开发之----代码块的使用(二)

    iOS4引入了一个新特性,支持代码块的使用,这将从根本上改变你的编程方式.代码块是对C语言的一个扩展,因此在Objective-C中完全支持.如果你学过Ruby,Python或Lisp编程语言,那么你 ...

随机推荐

  1. Webserver管理系列:12、开启关闭Ping命令

    有些时候站点打开速度会非常慢,我们要排查故障所在.须要用到Ping命令.可是Windows Server 2008防火墙默认是关闭Ping的 我们能够通过下面方法开启Ping 打开防火墙->高级 ...

  2. BZOJ4446:[SCOI2015]小凸玩密室(树形DP)

    Description 小凸和小方相约玩密室逃脱,这个密室是一棵有n个节点的完全二叉树,每个节点有一个灯泡.点亮所有灯泡即可逃出密室. 每个灯泡有个权值Ai,每条边也有个权值bi.点亮第1个灯泡不需要 ...

  3. Python 模块化 from .. import 语句资源搜索顺序 (三)

    接着上一篇文章最后的import子句资源搜索顺序,我们来写几个例子了解下. 例一. #test1.py x = 123 #test.py import test1 print(dir()) print ...

  4. Ext之grid內編輯

    Ext.grid.Panel xtype:gridpanel,grid 如果要完成在grid中編輯的功能.首先要填加 selType: 'cellmodel',    plugins: [       ...

  5. centos上nginx的安装

    安装步骤:   1.下载nginx,执行:wget http://nginx.org/download/nginx-1.10.2.tar.gz 2.解压,执行:tar vxzf nginx-1.10. ...

  6. Mysql数据库写入数据速度优化

    Mysql数据库写入数据速度优化 1)innodb_flush_log_at_trx_commit 默认值为1:设置为0,可以提高写入速度.  值为0:提升写入速度,但是安全方面较差,mysql服务器 ...

  7. Reading Fast Packet Processing A Survey

    COMST 2018 主要内容 这是一篇有关快速包转发的综述,先介绍了包转发的有关基础知识和背景,具体介绍了包转发的主流方法,对这些方法进行了细致详尽的比较,最后介绍了最新的方法和未来的研究方向. 包 ...

  8. 决策树 - 可能是CART公式最严谨的介绍

    目录 决策树算法 ID3算法[1] C4.5 改进[1] "纯度"度量指标:信息增益率 离散化处理 CART(分类与回归树,二叉) 度量指标 二值化处理 不完整数据处理 CART生 ...

  9. DataGuard相关视图

    1.v$database SELECT name,open_mode,database_role,protection_mode,protection_level FROM v$database; 其 ...

  10. iOS TabBarItem设置红点(未读消息)

    实现原理: 其实是自定义一个view,将view添加到UITabBar上面,也可以是一个按钮,设置背景图片,和label.废话少说直接上代码搞一个UITabBar的分类 #import <UIK ...