【编程】Python 函数

函数是基本的程序设计概念,它是自包含的代码模块,可以提供一个独立的服务。函数来自于数学概念,代表一些操作的集合,可以完成特定的运算。函数就是将不同的功能进行分离,并且可以进行组合完成更复杂的任务。大部分的程序语言都将预先编写的函数集中的库里面。这些函数可以减少代码的重复性,容易使用和维护。所有的程序语言函数都包括输入和输出,函数就是将输入转化成输出。我们也可以编写自己的函数。

Python 的函数

函数的定义由关键字 “def” 和函数名称开始,后面是一对括号,括号里面是参数列表,后面是冒号(:),接下来就是函数的代码块。函数可以使用关键字 return 返回给调用者一个值。

def function-name(Parameter list):
statements
return [expression]

例子

def sayHello():
print("Hello World!!")

上面定义了一个函数,但是没有输出任何内容,函数需要被调用,才能被执行。

例子

def sayHello():
print("Hello World!!")
sayHello() # 调用函数

输出

Hello World!!

Python 函数的参数

参数是可选的,是声明的一部分,参数位于函数定义的括号里面,靠逗号隔开,当调用函数的时候,需要提供这些参数的值。

例子

def findSum(x,y):
z=x+y
print("数据和是:" ,z)
findSum(10,20)
findSum(100,50)
findSum(4,2)

输出

数据和是: 30
数据和是: 150
数据和是: 6

例子

def dispStatus(name,age):
print("姓名:" ,name)
print("年龄:" ,age)
dispStatus("John",35)
dispStatus("Doe",50)

输出

姓名: John
年龄: 35
姓名: Doe
年龄: 50

默认的参数值

可以为函数的参数指定默认值,用等号 (=) 操作符来完成。

例子

def dispStatus(name,age=25):
print("姓名:" ,name)
print("年龄:" ,age)
dispStatus("John")
dispStatus("Doe")

输出

姓名: John
年龄 : 25
姓名: Doe
年龄 : 25



这样做的优势是,我们仅仅需要提供部分变量的值,其他变量则为默认值。

例子

def dispStatus(name,age=25):
print("姓名:" ,name)
print("年龄:" ,age)
dispStatus("John")
dispStatus("Doe",34)
dispStatus("Doe",age=50)

输出

姓名: John
年龄 : 25
姓名: Doe
年龄 : 34
姓名: Doe
年龄: 50

可变数量的参数

有时候,需要一个函数能够处理任意数量的参数,可以依靠星号 (*)来实现。当不知道函数的具体个数的时候,就可以使用这种方法。

例子

import math 
def dispSquare(*varArgs):
#iterate through all the items
for num in varArgs:
print("数的平方是:" , num*num )
dispSquare(2,4,6,8,10)

输出

数的平方是: 4
数的平方是: 16
数的平方是: 36
数的平方是: 64
数的平方是: 100

返回一个值

不仅可以给函数传递一个参数,函数也可以返回一个值,通过 return 后跟一个表达式来完成返回值。

例子

def findSum(x,y):
return x+y
print(findSum(10,20))
print(findSum(100,50))
print(findSum(4,2))

输出

30
150
6

内部函数

内部函数的主要优势是不受函数外部的影响,或者说从全局范围隐藏了。

例子

def calc(x,y):
def findSum(x,y):
return x+y
sum = findSum(x,y)
print("求和 ", x, " + ", y, " 是 ", sum)
calc(10,20)

输出

求和 10 + 20 是 30

如果试图调用 findSum(10,20) 函数:

输出

Traceback (most recent call last):
File “sample.py”, line 8, in < module > findSum(10,20) NameError: name ‘findSum’ is not defined

把函数赋值给变量

当将函数赋值给一个变量时,不能使用括号,直接使用函数名称。

例子

def findSum(x,y):
return x+y
f1 = findSum(10,20)
print(f1)
f1 = findSum(40,20)
print(f1)

输出

30
60

函数作为参数

有时需要将参数作为参数传递给另外的函数。

例子

def sayHello(func):
return "Hello " + func
def sayName(name):
return name
print(sayHello(sayName("John")))

输出

Hello John

Python流控制语句

 Python 数据结构



此条目发表在人工智能, 服务器, 程序开发分类目录,贴了, , , 标签。将固定链接加入收藏夹。