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

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. string 与 int double 的转化

    #include <iostream> #include <string> #include <sstream> using namespace std; int ...

  2. springboot整合mybatis,mongodb,redis

    springboot整合常用的第三方框架,mybatis,mongodb,redis mybatis,采用xml编写sql语句 mongodb,对MongoTemplate进行了封装 redis,对r ...

  3. XShell上传、下载本地文件到linux服务器

    Python之道发表于程序员八阿哥订阅 1.2K 腾讯云服务器 年付3折起 首次购买云服务器 最低3折起 超高性价比 限时抢购 Xshell很好用,然后有时候想在windows和linux上传或下载某 ...

  4. adb常用命令总结

    针对移动端 Android 的测试, adb 命令是很重要的一个点,必须将常用的 adb 命令熟记于心, 将会为 Android 测试带来很大的方便,其中很多命令将会用于自动化测试的脚本当中. And ...

  5. 用python写一个简单的文件上传

    用Pycharm创建一个django项目.目录如下: <!DOCTYPE html> <html lang="en"> <head> <m ...

  6. 【LEETCODE】57、数组分类,适中级别,题目:969、442、695

    package y2019.Algorithm.array.medium; import java.util.ArrayList; import java.util.List; /** * @Proj ...

  7. PXC安装部署

    安装依赖与注意事项:   1. rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm 1 ...

  8. 使用activiti的designer插件记录

    1.activiti添加排他网,条件下载condition中 2.activiti添加监听Listener,知道3种方法 1.实现taskListener 通过加载java class的方式去加载实现 ...

  9. [jsp学习笔记]jstl标签的使用

    jstl常用在html嵌套 <body> <% session.setAttribute("q", "yushi"); request.set ...

  10. 管道模型(Pipeline)

    1.使用make_blobs来生成数据集,然后对数据集进行预处理 #导入数据集生成器 from sklearn.datasets import make_blobs #导入数据集拆分工具 from s ...