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

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. 手写IOC-SPRINGPMVC-CONNPOOL

    (一)  手写IOC思路 1.扫包,将所有class文件加载到内存,判断类上是否加了ExtService注解,有就添加入map中 ,  map<String ,Object>:  key是 ...

  2. 动态字节码技术Javassist

    字节码技术可以动态改变某个类的结构(添加/删除/修改  新的属性/方法) 关于字节码的框架有javassist,asm,bcel等 引入依赖 <dependency> <groupI ...

  3. Java基础笔试练习(十二)

    1.(C#.JAVA)扩展方法能访问被扩展对象的public成员 A.能 B.不能 答案: A 解析: 翻译一下,子类方法是否能够访问父类中的public成员. 2.如果子类要调用父类的构造函数,则通 ...

  4. 微信小程序的登入与授权

    官方文档:https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/login.html 小程序登录 小程序可以通 ...

  5. Fanuc Cnc 数控系统,PC端下发NC程序到CNC端,现场测试通过。

    1.这几天把FANUC 数据采集(产量,状态,轴负载等),以及NC程序下发封装成独立的dll,方便其它项目调用,自己顺便写了下demo测试,在车间测试了几天,效果很好,完善了许多细节. 2.大概的界面 ...

  6. Docker入门以及常用命令

    目的: Docker入门 Docker简介 Centos7安装Docker Docker HelloWorld运行原理解析 阿里云镜像仓库配置 Docker常用命令 Docker基本命令 Docker ...

  7. BZOJ4141 THUSC2013 魔塔 贪心

    没得传送门 考虑当\(Atk\)增大时,\(Def\)一定越来越没用,因为回合数在变少.所以考虑从小到大枚举\(Atk\)然后双指针计算. 设\(f_i(x)\)表示在\(Atk = i\)时,\(D ...

  8. Spring Gateway配置使用(一)

    参考文档:Spring Gateway官方文档 , 玹霖的博客 1.Spring Gateway简介 Spring Cloud Gateway是Spring官方基于Spring 5.0,Spring ...

  9. docker的学习总结

    一 docker的8个使用场景1.简化配置虚拟机的最大好处是能在你的硬件设施上运行各种配置不一样的平台(软件, 系统), Docker在降低额外开销的情况下提供了同样的功能. 它能让你将运行环境和配置 ...

  10. C# 中关于重载与重写的区别及用法

    1.重载(overload): 在同一个作用域(一般指一个类)的两个或多个方法函数名相同,参数列表不同的方法叫做重载,它们有三个特点(俗称两必须一可以): 方法名必须相同 参数列表必须不相同 返回值类 ...