在编程中,无论使用什么 编程语言,函数的使用都是非常广泛的,函数能够完成特定的功能,降低编程的难度和代码重用。

1.函数的定义:

函数是一段具有特定功能的、可重用的语句组,用函数名来表示并通过函数名进行调用。

2.函数编写思想:

函数是一种功能抽象,利用它可以将一个复杂的大问题分解成一系列简单的小问题,然后将小问题继续划分为更小的问题,当问题细化到足够简单时,为每个小问题编写程序,并通过函数封装,每个小问题解决了,大问题就能迎刃而解。

3.Python函数

Python安装包也自带了一些函数和方法,包括Python内置函数(如abs()、eval())、Python标准库中的函数(如math库中的sqrt())等,这些函数在编程过程中都是可以直接调用。但在日常的编码过程中,我们也需要根据实际情况,编写自定义的函数。

4.Python自定义函数

Python使用def保留字定义函数,语法形式如下:

def <函数名>(参数列表):

  <函数体>

  return<返回值列表>

注:参数列表是调用函数时传递给他的值,可以有零个,一个或多个,当传递多个参数时,各参数间用逗号隔开,当没有参数时也要保留圆括号。

当需要返回值时,使用保留字return和返回值列表,否则可以没有return语句。

5.函数的形式参数

5.1编写程序,比较两个整数,三个整数的大小,输出最大值。其中代码解析有关于函数的形参和实参的解释。<在比较大小时,直接使用内置函数max()可以更快的实现>

源代码:

#三个参数比较大小,num,num1,num2为形式参数
def number(num,num1,num2):
  if(num<num1):
    max=num1
    if(max<num2):
      max=num2
      print("三数比较最大数是{}".format(max))
    else:
      print("三数比较最大数是{}".format(max))
  else:
    max=num
    if(max<num2):
      max=num2
      print("三数比较最大数是{}".format(max))
    else:
      print("三数比较最大数是{}".format(max))

#1,2,3为函数的实参,实参将值传给形参,执行函数体语句
number(1,2,3)
#两个参数比较大小,num,num1为形式参数
def number(num,num1):
  if(num<num1):
    max=num1
    print("两数比较最大数是{}".format(max))
  else:
    max=num
    print("两数比较最大数是{}".format(max))

#1,2为函数的实参,实参将值传给形参,执行函数体语句
number(1,2)

运行结果:

6.函数的调用过程

函数的调用过程一般为四步:

(1)调用程序在调用处暂停执行。

(2)在调用时将实参复制给函数的形参。

(3)执行函数体语句。

(4)函数调用结束给出返回值。程序回调到调用前的暂停处继续执行。

如下面的例子:

源代码:

def number(num,num1):
  if(num<num1):
    max=num1
    print("两数比较最大数是{}".format(max))
  else:
    max=num
    print("两数比较最大数是{}".format(max))

print("还没有调用函数!")
#函数调用,在此之前函数体已经编译完成,但是没用运用,在函数调用后,形参的值被
#实参所代替再返回前面执行函数体的语句,函数体语句执行完毕后,再回到函数调用
#的位置,继续执行后面的语句
number(1,2)

print("执行这一行!")

运行结果:

Python函数的基本使用的更多相关文章

  1. python 函数之day3

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

  2. Python函数作用域的查找顺序

    函数作用域的LEGB顺序 1.什么是LEGB? L:local 函数内部作用域 E:enclosing 函数内部与内嵌函数之间 G:global 全局作用域 B:build-in 内置作用域 2.它们 ...

  3. Python函数讲解

    Python函数

  4. Python函数信息

    Python函数func的信息可以通过func.func_*和func.func_code来获取 一.先看看它们的应用吧: 1.获取原函数名称: 1 >>> def yes():pa ...

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

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

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

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

  7. Python函数解析

    对于Python的函数,我们需要记住的是: 1. 函数的默认返回值是None. 2. python是一个自上而下逐行解释并执行的语言.因此,函数的定义必须在函数被调用之前.同名的函数,后定义的会覆盖前 ...

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

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

  9. Python函数1

    Python 函数命令的使用 想想我们之前数学中学到的函数,首先我们需要定义一个函数,例如f(x)=x, 当x输入任意数的时候,f(x)都能输出和x相等的数值. 那么在Python中是如何实现的呢? ...

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

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

随机推荐

  1. spring整合quartz报错

    今天spring整合quartz报错,最后一步步排查,发现是和redis依赖冲突,最后redis升级了一下,问题解决. 总结:发现问题,逐一排查,如果是整合问题,报类加载不到的错误,大概率是和其他组件 ...

  2. Nmap脚本使用

    Nmap是主机扫描工具,他的图形化界面是Zenmap,分布式框架为Dnamp. Nmap可以完成以下任务: 主机探测 端口扫描 版本检测 系统检测 支持探测脚本的编写 Nmap在实际中应用场合如下: ...

  3. JavaScript进行UTF-8编码与解码

    JavaScript本身可通过charCodeAt方法得到一个字符的Unicode编码,并通过fromCharCode方法将Unicode编码转换成对应字符. 但charCodeAt方法得到的应该是一 ...

  4. SQL Server 索引优化 ——索引缺失

    本文我们将重点给出动态视图法发现数据库中缺失的索引.对于索引的调整和新建将不在本文阐述范围,后续将陆续分享相关经验. sys.dm_db_missing_index_details 缺失索引明细,包括 ...

  5. 机器学习 降维算法: isomap & MDS

    最近在看论文的时候看到论文中使用isomap算法把3D的人脸project到一个2D的image上.提到降维,我的第一反应就是PCA,然而PCA是典型的线性降维,无法较好的对非线性结构降维.ISOMA ...

  6. tp框架防止表单重复提交

    转载 框架官方 http://www.thinkphp.cn/topic/9090.html 第三方 https://my.oschina.net/caomenglong/blog/728908

  7. golang实现路由中间件middleware

    registerHandlers.go package router import ( "../ctrl" "../funcs" "github.co ...

  8. centos没有service命令的恢复方法(-bash: service: command not found)

    转载自:https://blog.csdn.net/u014175572/article/details/53375049?utm_source=itdadao&utm_medium=refe ...

  9. 《Clean Code》读书笔记——第二周

    本周我阅读了<Clean Code>. “神在细节中!”,建筑家范德罗如是说.他当然专注于基于宏伟构架之上的永恒建筑形式,他也同样为自己设计的建筑挑选门把手.同样软件开发也是这样,小处见大 ...

  10. jenkins报错 Upgrading Jenkins. Failed to update the default Update Site 'default'. Plugi

    解决方案: jenkins\hudson.model.UpdateCenter.xml 文件, 将 url 中的 https://updates.jenkins.io/update-center.js ...