函数式编程与过程式编程打的区分:过程是没有返回值的函数,过程在python3中也有返回值,为None

函数的作用:代码复用、保持代码的一致性、使代码更容易扩展

过程的定义与调用:

  1. 1 def func2():
  2. 2 """testing2""" # 过程的描述
  3. 3 print("in the func2")
  4. 4 y=func2()
  5. 5 print(y)
  6. 6 # >>> in the func2
  7. 7 # >>> None

函数的定义与调用:

  1. def func1():
  2. """testing1""" # 函数的描述
  3. print("in the func1")
  4. return 0 #结束函数、返回可被变量接收的值
  5. print("你猜会不会打印我")
  6. x=func1()
  7. print(x)
  8. # >>> in the func1
  9. # >>> 0

函数返回值可以为多个值,且值的数据类型可以有多种

  1. def func1():
  2. """testing1""" # 函数的描述
  3. print("in the func1")
  4. return 1, ["a", "b"], {"name": "abc"}, "hello"
  5. x=func1()
  6. print(x)
  7. # >>> in the func1
  8. # >>> (1, ['a', 'b'], {'name': 'abc'}, 'hello') #元组

函数返回值为另一个函数时,返回另一个函数的内存地址

  1. def func():
  2. print("I`m func")
  3. return 0
  4.  
  5. def func1():
  6. """testing1""" # 函数的描述
  7. print("in the func1")
  8. return func
  9. x=func1()
  10. print(x)
  11. # >>> in the func1
  12. # >>> <function func at 0x00000223A2ADC040>

模拟程序调用日志函数,打印日志到文件(带时间):

  1. import time
  2. def logger():
  3. time_format = '%Y-%m-%d %X' # 定义输出的时间格式
  4. # strftime() 函数接收以时间元组,并返回以可读字符串表示的当地时间,以定义的时间格式输出时间
  5. time_current = time.strftime(time_format)
  6. with open('a.txt', 'a+') as f:
  7. f.write('%s end action\n' % time_current)
  8. return 0
  9.  
  10. def test1():
  11. print('in the test1')
  12. logger()
  13. return 0
  14.  
  15. def test2():
  16. print('in the test2')
  17. logger()
  18. return 0
  19.  
  20. test1()
  21. test2()

Python--函数&过程的更多相关文章

  1. python 函数之day3

    一 函数的语法及特性 什么是函数? 定义:函数是一个功能通过一组语句的集合,由名字(函数名)将其封装起来的代码块,要想执行这个函数,只要调用其函数名即可. 特性: 减少重复代码 使程序变的可扩展 使程 ...

  2. Python函数讲解

    Python函数

  3. Python函数参数默认值的陷阱和原理深究"

    本文将介绍使用mutable对象作为Python函数参数默认值潜在的危害,以及其实现原理和设计目的 本博客已经迁移至: http://cenalulu.github.io/ 本篇博文已经迁移,阅读全文 ...

  4. Python开发【第四章】:Python函数剖析

    一.Python函数剖析 1.函数的调用顺序 #!/usr/bin/env python # -*- coding:utf-8 -*- #-Author-Lian #函数错误的调用方式 def fun ...

  5. Python入门笔记(18):Python函数(1):基础部分

    一.什么是函数.方法.过程 推荐阅读:http://www.cnblogs.com/snandy/archive/2011/08/29/2153871.html 一般程序设计语言包含两种基本的抽象:过 ...

  6. python函数传参是传值还是传引用?

    首先还是应该科普下函数参数传递机制,传值和传引用是什么意思? 函数参数传递机制问题在本质上是调用函数(过程)和被调用函数(过程)在调用发生时进行通信的方法问题.基本的参数传递机制有两种:值传递和引用传 ...

  7. Python 函数基础、有序集合、文件操作(三)

    一.set 特点: set是一个无序且不重复的元素集合访问速度快:天生解决元素重复问题 方法: 初始化 >>> s1 = set()>>> print(type(s ...

  8. python——函数

    python--函数 1.介绍: 在过去的十年间,大家广为熟知的编程方法无非两种:面向对象和面向过程,其实,无论哪种,都是一种编程的规范或者是如何编程的方法论.而如今,一种更为古老的编程方式:函数式编 ...

  9. Python函数(一)之杵臼之交

    Python函数 函数的作用:对功能进行封装,减少重复代码,方便维护,流程清晰明了,易于理解. 函数的结构: def 函数名():      函数体       return语句 函数的返回值: 可以 ...

  10. Python函数属性和PyCodeObject

    函数属性 python中的函数是一种对象,它有属于对象的属性.除此之外,函数还可以自定义自己的属性.注意,属性是和对象相关的,和作用域无关. 自定义属性 自定义函数自己的属性方式很简单.假设函数名称为 ...

随机推荐

  1. Enjoy the pain about Moloch

    这echo出来的啥子嘛?意思是小姐姐有自虐倾向?可若是moloch有汉化包或翻译文件,小姐姐至于这么“享受”install的过程吗? 过程都走过了,那就记录一下吧:1.找个Ubuntu镜像,阿里云镜像 ...

  2. 1.2Go环境搭建之Mac

    1.下载mac版go开发工具包,源码包或是安装包都可以 //官方下载地址 https://golang.org/dl/ //下载地址在此 https://dl.google.com/go/go1.11 ...

  3. jquery VS Dom(小实例单选-多选-反选)

    一直以来大家对jquery评价莫过于六个字 “吃得少,干的多” ,应用实例让大家看看这款牛到爆的插件能帮我们做什么,话不多说,直接加码 <!DOCTYPE html> <html l ...

  4. Selenium RemoteWebDriver 利用CDP修改User-Agent

    地球人都知道,如果使用selenium时要修改user-agent可以在启动浏览器时添加配置项,如chromeOptions.addArguments("user-agent=xxx&quo ...

  5. D:Sequence Swapping

    BaoBao has just found a strange sequence {<, >, <, >, , <, >} of length in his poc ...

  6. PAT-1064 Complete Binary Search Tree(完全二叉树)

    A Binary Search Tree (BST) is recursively defined as a binary tree which has the following propertie ...

  7. LibreOJ #515 贪心只能过样例

    题目链接:https://loj.ac/problem/515 知识点: DP.bitset类 解题思路: DP部分不难想到:从 a 到 b 遍历,然后在已有的状态上加上遍历得到的数字的平方,难点在于 ...

  8. LoadBalancer在kubernetes架构下的实践

    Backgound 借助于kubernetes优秀的弹性扩缩功能,运行其中的应用程序能够在流量突增的时候坦然应对,在流量低谷的时候无需担心成本.但于此同时,也带来了极大的挑战: 弹性扩缩导致容器IP动 ...

  9. U-Learning 后端开发日志(建设中...)

    目录 U-Learning--基于泛在学习的教学系统 项目背景 技术栈 框架 中间件 插件 里程碑 CentOS 7搭建JAVA开发环境 接口参数校验(不使用hibernate-validator,规 ...

  10. FPGA内部硬件结构简介

    我们知道FPGA内部有很多可供用户任意配置的资源,其中包括:可编程逻辑.可编程I/O.互连线.IP核等资源,很多学过数字电路的人都知道与或非门可以构成几乎所有的数字电路,但是FPGA内部最基本的主要单 ...