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

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

过程的定义与调用:

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

函数的定义与调用:

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

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

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

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

 def func():
print("I`m func")
return 0 def func1():
"""testing1""" # 函数的描述
print("in the func1")
return func
x=func1()
print(x)
# >>> in the func1
# >>> <function func at 0x00000223A2ADC040>

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

 import  time
def logger():
time_format = '%Y-%m-%d %X' # 定义输出的时间格式
# strftime() 函数接收以时间元组,并返回以可读字符串表示的当地时间,以定义的时间格式输出时间
time_current = time.strftime(time_format)
with open('a.txt', 'a+') as f:
f.write('%s end action\n' % time_current)
return 0 def test1():
print('in the test1')
logger()
return 0 def test2():
print('in the test2')
logger()
return 0 test1()
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. PAT-1064 Complete Binary Search Tree(完全二叉树)

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

  2. Gym101612L Little Difference

    题目链接:https://vjudge.net/problem/Gym-101612L 知识点: 数学 题目大意: 给一个数 \(n(1 \le n \le 10^{18})\),要求将 \(n\) ...

  3. 【面试考】【入门】决策树算法ID3,C4.5和CART

    关于决策树的purity的计算方法可以参考: 决策树purity/基尼系数/信息增益 Decision Trees 如果有不懂得可以私信我,我给你讲. ID3 用下面的例子来理解这个算法: 下图为我们 ...

  4. #442-Find All Duplicates in an Array-数组中重复的数字

    一.题目 给定一个整数数组 a,其中1 ≤ a[i] ≤ n (n为数组长度), 其中有些元素出现两次而其他元素出现一次. 找到所有出现两次的元素. 你可以不用到任何额外空间并在O(n)时间复杂度内解 ...

  5. Multisim-74LS08\74LS02\74LS86逻辑功能仿真实验

    一. 实验目的 了解TTL门电路的外观封装.引脚分布和使用方法. 掌握数字电路试验台.万用表和示波器的使用方法. 掌握TTL与门.或非门和异或门的逻辑功能. 认识门电路对信号的控制作用. 二.实验内容 ...

  6. [优文翻译]002.陪伴我作为程序员的9句名言(9 Quotes that stayed with me as a developer)

    导读:本文是从<9 Quotes that stayed with me as a developer>这篇文章翻译而来 下面的锦句均来自于<9 Quotes that stayed ...

  7. nvm的安装,安装node,npm

    先说说我为什么使用nvm吧 最近在搞react-native,就碰到了很多坑,其中就有node带来的坑,当你运行react-native start (这是rn启动服务器的命令)就会报一个正则的错误, ...

  8. 【转】Android安全研究经验谈

    本文转载自:http://www.cnblogs.com/whp2011/archive/2015/01/26/4250875.html 一.安全研究做什么 攻击角度:对某个模块进行漏洞挖掘的方法,对 ...

  9. [apue] 一个工业级、跨平台的 tcp 网络服务框架:gevent

    作为公司的公共产品,经常有这样的需求:就是新建一个本地服务,产品线作为客户端通过 tcp 接入本地服务,来获取想要的业务能力. 与印象中动辄处理成千上万连接的 tcp 网络服务不同,这个本地服务是跑在 ...

  10. vscode jshint 报'import' is only available in ES6 (use 'esversion: 6'). (W119)错误

    vue项目用vscode打开代码前出现黄点,js报错 'import' is only available in ES6 (use 'esversion: 6'). (W119) 意思是import属 ...