第5天:Python函数

函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段,所以我经常说函数是程序员规模化使用的基础。
函数能提高应用的模块性,和代码的重复利用率。在程序设计中,常将一些常用的功能模块编写成函数,放在函数库中供公共选用。善于利用函数,可以减少重复编写程序段的工作量。

如何定义一个函数

定义一个函数有如下几个步骤
  • 函数代码块以 def 关键词开头,后接函数标识符名称和圆括号()。

  • 任何传入参数和自变量必须放在圆括号中间。圆括号之间可以用于定义参数。

  • 函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。

  • 函数内容以冒号起始,并且缩进。

  • return [表达式] 结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None。
语法
def 函数名(参数列表):
函数体
默认情况下,参数值和参数名称是按函数声明中定义的顺序匹配起来的。

简单示例

一个最简单的函数示例:
#定义一个函数
def hello() :
print("Hello World!")

#调用函数
hello()

再来一个代参数的示例:
#定义一个函数
def helloN(name) :
print("Hello World!", name)

#调用函数
helloN('neo')

加减成熟示例

我们使用函数实现一个基本的加减成熟运算。

#定义函数
def add(a,b) :
return a+b

def reduce(a,b) :
return a-b

def multiply(a,b) :
return a*b

def divide(a,b) :
return a/b

#调用函数
print(add(1,2))
print(reduce(12,2))
print(multiply(6,3))
print(divide(12,6))

发现定义函数可以实现代码的多次复用。

多个返回值

某些情况下,我们需要一个函数返回多个值,Python 也是支持的。
#定义多个返回值函数
def more(x, y):
nx = x + 2
ny = y - 2
return nx, ny

#调用函数
x, y = more(10, 10)
print(x, y)

递归函数

有时候我们需要反复调用某个函数得到一个最后的值,这个时候使用递归函数是最好的解决方案。
编程语言中,函数Func(Type a,……)直接或间接调用函数本身,则该函数称为递归函数。递归函数不能定义为内联函数
举个例子,我们来计算阶乘n! = 1 x 2 x 3 x ... x n,用函数fact(n)表示,可以看出:
fact(n) = n! = 1 x 2 x 3 x ... x (n-1) x n = (n-1)! x n = fact(n-1) x n
所以,fact(n)可以表示为n x fact(n-1),只有n=1时需要特殊处理。
于是,fact(n)用递归的方式写出来就是:
def fact(n):
if n==1:
return 1
return n * fact(n - 1)
这样一个递归函数就定义完了。
我们试着调用一下 6 的阶乘是多少,可以这样调用:
print(fact(6))
# 输出内容
# 720
类似的需要都可以按照这样的方式来实现。
文中示例代码在这里:https://github.com/ityouknow/python-100-days

总结

本节给大家介绍了 Python  函数的使用。

参考:

https://www.runoob.com/python/python-functions.html
https://www.liaoxuefeng.com/wiki/1016959663602400/1017105145133280

系列文章

(0)

相关推荐

  • Python之函数的定义与使用示例

    Python之函数的定义与使用示例,结合实例形式分析了Python函数的定义.参数.变量作用域.返回值等相关概念与使用技巧. Python定义函数使用def关键字,一般格式如下: def 函数名(参数 ...

  • Python高阶函数

    该篇中主要介绍什么是高阶函数,高阶函数的用法以及几个常见的内置的高阶函数. 什么是高阶函数? 高阶函数:一个函数可以作为参数传给另外一个函数,或者一个函数的返回值为另外一个函数(若返回值为该函数本身, ...

  • Python|递归应用

    问题描述在Python的运算中会经常用到递归,下面小编将会用简单的代码做一个解释示例.解决斐波拉数列时我们之前用的是for循环,现在用递归的方法运算,实践一下.解决方案首先用def定义一个函数f(), ...

  • python函数

    当代码越写越长在时,全部放在一块儿会不太好看,也不好找想要的东西.同时,当一段代码需要重复使用时,复制粘贴也不太方便,可以用函数来解决这个问题. 1.函数的定义 在python中,函数的声明和定义是一 ...

  • 如何写一个更好的Python函数?

    Python虽然好用,但用好真的很难. 尤其是函数部分,只要写不好,后面的一连串人都会遭殃. 看又看不懂,测试起来也麻烦,维护又维护不动,真是让人头疼. 那怎么写好一个Python函数呢? <W ...

  • python函数的万能参数

    我们通过一个简单的事例来展示一下函数的万能参数,我们先写一个最简单的函数 def test(*args,**kwargs): print(args,kwargs) 然后定义两个变量 l = [1,2, ...

  • 第13天:Python 函数的参数

    定义一个函数非常简单,但是怎么定义一个函数,需要什么参数,怎么去调用却是我们需要去思考的问题. 如同大多数语言一样(如 Java),Python 也提供了多种参数的设定(如:默认值参数.关键字参数.形 ...

  • 教你一招 | Python: 函数参数魔法

    函数参数 在 Python 中,定义函数和调用函数都很简单,但如何定义函数参数和传递函数参数,则涉及到一些套路了.总的来说,Python 的函数参数主要分为以下几种: 必选参数 默认参数 可变参数 关 ...

  • 什么是Python函数?内容介绍!

    学习Python的时候我们会接触到很多没有听说过的词汇,比如函数.那么什么是Python函数?定义函数需要遵循哪些原则呢?我们一起来看看吧. 什么是Python函数? Python函数是指组织好的.可 ...

  • 入门必备!面向对象编程之Python函数与类

    来源:数据STUDIO 作者:云朵君 Python支持大多数面向对象编程技术.在Python中所有东西都是对象,包括类.函数.数和模块.它允许多态性,不只是在类层级之内而且通过采用鸭子类型的方式.任何 ...

  • Python 函数 | 菜鸟教程

    Python 函数 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. 函数能提高应用的模块性,和代码的重复利用率.你已经知道Python提供了许多内建函数,比如print().但你也 ...

  • python函数的参数类型总结

    定义函数 在Python中,定义一个函数要使用def语句,依次写出函数名.括号.括号中的参数和冒号,然后在缩进块中编写函数体,函数的返回值用return语句返回. def power(x, n=2): ...