《Python参考手册(第4版•修订版)》——1.11 函数

简介:

本节书摘来自异步社区《Python参考手册(第4版•修订版)》一书中的第1章,第1.11节,作者David M. Beazley,更多章节内容可以访问云栖社区“异步社区”公众号查看。

1.11 函数

使用def语句可以创建函数,如下例所示:

def remainder(a,b):
    q = a // b      # //是截断除法运算符
    r = a – q*b
    return r

要调用函数,只要使用函数名加上用圆括号括起来的参数即可,如result = remainder(37, 15)。如果要让函数返回多个值,可以使用元组,如下所示:

def divide(a,b):
    q = a // b      # 如果a和b是整数,q就是整数
    r = a – q*b
    return (q,r)

使用元组返回多个值时,可以很容易地将结果解包到单独的变量中,例如:

quotient, remainder = divide(1456,33)

要给函数参数提供一个默认值,可使用以下赋值方式:

def connect(hostname,port,timeout=300):
   # 函数体

在函数定义中给一个参数提供默认值以后,调用此函数时就可以省略该参数,此时该参数将使用默认值,如下所示:

connect('www.python.org', 80)

还可以使用关键字参数调用函数,此时可以按任意顺序提供参数,但这需要你知道函数定义中的参数名称,如下所示:

connect(port=80,hostname="www.python.org")

在函数中创建变量或给变量赋值时,该变量的作用域是局部的。也就是说,该变量只定义在函数体内部,而且当函数返回值后会立即销毁该变量。要在函数内部修改某个全局变量的值,可以使用global语句,如下所示:

count = 0 
... 
def foo():
    global count
    count += 1           # 更改全局变量count
相关文章
|
12天前
|
数据挖掘 数据处理 索引
python常用pandas函数nlargest / nsmallest及其手动实现
python常用pandas函数nlargest / nsmallest及其手动实现
26 0
|
3天前
|
NoSQL Serverless Python
在Python的Pandas中,可以通过直接赋值或使用apply函数在DataFrame添加新列。
在Python的Pandas中,可以通过直接赋值或使用apply函数在DataFrame添加新列。方法一是直接赋值,如`df['C'] = 0`,创建新列C并初始化为0。方法二是应用函数,例如定义`add_column`函数计算A列和B列之和,然后使用`df.apply(add_column, axis=1)`,使C列存储每行A、B列的和。
17 0
|
5天前
|
机器学习/深度学习 数据可视化 TensorFlow
Python用线性回归和TensorFlow非线性概率神经网络不同激活函数分析可视化
Python用线性回归和TensorFlow非线性概率神经网络不同激活函数分析可视化
|
6天前
|
Python 容器
python内置函数、数学模块、随机模块(二)
python内置函数、数学模块、随机模块(二)
|
6天前
|
索引 Python
python内置函数、数学模块、随机模块(一)
python内置函数、数学模块、随机模块(一)
|
6天前
|
Python
深入理解python的闭包函数
深入理解python的闭包函数
|
6天前
|
Python
python函数的返回值、嵌套方式以及函数中的变量(二)
python函数的返回值、嵌套方式以及函数中的变量(二)
|
6天前
|
存储 Python 容器
python函数的返回值、嵌套方式以及函数中的变量(一)
python函数的返回值、嵌套方式以及函数中的变量(一)
|
6天前
|
Python
深度解读python的函数(二):
深度解读python的函数(二)
|
6天前
|
Python
深度解读python的函数(一)
深度解读python的函数(一)