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

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. linux svn开机自动启动服务

    SVN设置开机自动启动 usr/lib/systemd/system/添加svn.service文件 home/sdbdatasvn/svnrepos(换成绝对路径) 如果出现权限问题,请chmod  ...

  2. Pair(二进制处理+数位dp)(2019牛客暑期多校训练营(第七场))

    示例: 输入: 33 4 24 5 27 8 5 输出:5 7 31 题意:存在多少对<x,y>满足x&y>C或x^y<C的条件.(0<x<=A,0< ...

  3. free(分层图最短路)(2019牛客暑期多校训练营(第四场))

    示例: 输入: 3 2 1 3 11 2 12 3 2 输出:1 题意:求s,t最短路,可将k条边权值置零. 题解:分层图最短路原题 #include<bits/stdc++.h> usi ...

  4. 『Go基础』第8节 格式化输出

    输出就是将数据信息打印到电脑屏幕上. 本节我们就来学习一下Go语言中的三种输出方式: Print().Println().Printf(). 1.Print() Print()主要的一个特点就是打印数 ...

  5. 全栈项目|小书架|服务器开发-Koa2 参数校验处理

    为什么需要做参数校验 在开发中,无论是App开发还是服务器接口开发, 我们无法去预测用户传入的数据,因此参数(数据)校验是开发中不可或缺的一环. 例如像App的注册登录表单提交页面,就要做好多层的判断 ...

  6. 前后端API交互如何保证数据安全性

    前后端分离的开发方式,我们以接口为标准来进行推动,定义好接口,各自开发自己的功能,最后进行联调整合.无论是开发原生的APP还是webapp还是PC端的软件,只要是前后端分离的模式,就避免不了调用后端提 ...

  7. Eclipse 安装反编译插件 Eclipse Class Decompiler

    Eclipse Class Decompiler在线安装方法 https://blog.csdn.net/tangjinquan1157/article/details/77506015 Eclips ...

  8. ASP.NET Core 过滤器中使用依赖注入

    如何给过滤器ActionFilterAttribute也用上构造函数注入呢? 一般自定义的过滤器直接用特性方式标识就能使用 [ContentFilter] 因为构造函数在使用的时候要求传参,然后我们可 ...

  9. Qt 接受拖放

    第一步:在构造函数里面 添加拖放支持,相当于总开关(注意这里设置之后是整个窗口可以接受拖放) setAcceptDrops(true); 第二步:重写接受拖放相关的虚函数 void dragEnter ...

  10. Qt Table Widget常用操作

    一.鼠标悬浮在item上 显示提示信息 1.在构造函数开启table Widget控件的鼠标捕获功能 // 开启鼠标捕获功能(实现table widget的悬浮功能) ui.tableWidget-& ...