python--函数

简介:

*******************    函数   ******************wKioL1lscc3Ranq_AAD0D2l6sCE889.png

  1. 定义函数
    def关键字,依次写出函数名、括号、括号中的参数和冒号 :
    在缩进块中编写函数体,函数的返回值用 return 语句返回。
    def func():
    pass                --pass 占位符
    return              --返回语句

    #函数在执行过程中一旦遇到return,函数就执行完毕,并将结果返回。
    #函数在执行过程中没有遇到return时,返回值None.
    [object Object]


    wKiom1lscc6gRn-1AADERvsl4vA506.png

    wKioL1lscc_AaWaFAACzJr6Iy7c454.png

  2. 调用函数
    Python 内置了很多有用的函数,我们可以直接调用:
    abs()            --求绝对值函数
    cmp()           --比较函数
    数据类型转换函数:
        int(), float(), str(),unicode(),bool()wKioL1lscc2x8a5WAAByRWxHIQk481.png

    wKioL1lscc6y9viEAABkQRd6Ey8210.png

  3. 理解函数名定义函数
    def关键字,依次写出
    函数名与变量名类似,其实就是指向一个函数对象的引用;
    给这个函数起了一个“别名”:函数名赋给一个变量

    wKiom1lsdVzyDstuAAA0SlmXAhY756.png


  4. 空函数
    定义一个什么事也不做的空函数,可以用 pass 语句;
    pass 可以用来作为占位符,还没想好怎么写函数的代码,就可以先放一个 pass ,让代码能运行起来
    def nofunc():
    pass

    wKiom1lscc_AkZyWAACjlGpqm6M977.png

  5. 参数检查
    调用函数时,如果参数个数不对,Python 解释器会自动检查出来,并抛出 TypeError;
    如果参数类型不对,Python 解释器就无法帮我们检查。
    数据类型检查可以用内置函数 isinstance 实现

    wKiom1lscdCgnVKZAAC3rzbz1Yw033.png

    wKioL1lscdChcYtaAACzK-XN_IY004.png

  6. 函数返回值
    函数可以返回多个值吗?那编写python程序,思考下:
    定义一个函数func,传入两个数字,返回两个数字的平均值与最大值。
    函数返回值用return关键字;
    返回一个 tuple 可以省略括号;
    Python 的函数返回多值其实就是返回一个 tuple函数执行完毕也没有 return 语句时,自动 return None

    wKioL1lscdGBXlh6AAEZQuwD6ls791.png

    wKiom1lscdKjngKFAAEOqx0HhR4285.png

  7. 函数参数
    默认参数可以降低调用函数的难度。
    定义一函数,计算x值的n次方。那如果计算x平方时只需要传入x值时怎么解决?
    默认参数注意事项:
    有多个参数时,变化大放前面,变化小的放后面;
    必选参数在前,默认参数在后


    wKioL1lsdnywJDt5AADyWrDhntE176.png

    wKiom1lsdn3w05T0AADywWwbJEA234.png

  8. 默认参数

    # 默认参数,必选参数同时存在函数中存在时,一定要将必选参数放在默认参数前面;
    # 设置默认参数时,把变化大的参数放前面,变化小的参数放后面,变化小的参数可以设置为默认参数。

    wKioL1lscdKhui-rAAEJfXaudig478.png

    wKiom1lscdPSlwXRAAEVkOidGNQ259.png

    wKiom1lscdTwwVnTAAD3HNxCHdg098.png

  9. 可变参数*args
    - 可变参数就是传入的参数个数是可变的,可以是 1 个、2 个到任意个,还可以是 0 个。

    # 定义函数时,形参可以为*args,使函数可以接收多个参数,接收的数据类型为元组;
    # 如果想将一个列表或者元组传入函数,也可通过*li 或 *t,将参数传入函数里。

  10. 关键字参数**kwargs
    关键字参数允许你传入 0 个或任意个含参数名的参数;
    这些关键字参数在函数内部自动组装为一个 dict;
    关键字参数用**kwargs


  11. 参数组合
    参数组合是指可以必选参数、 默认参数、 可变参数和关键字参数一起使用。
    参数定义的顺序必须是:必选参数、 默认参数、可变参数和关键字参数。


  12. 参数总结

    必选参数 > 默认参数 > 可变参数(*args)元组 > 关键字参数(**kwargs)字典
    1).必选参数
    2).默认参数:默认参数一定要用不可变对象
    3).可变参数:*args 是可变参数,args 接收的是一个元组 tuple
    4).关键字参数:**kwargs 是关键字参数,kw args接收的是一个字典dict
    对于任意函数,都可以通过类似 func(*args, **kwargs) 的形式调用它


  13. 变量的作用域
    局部变量:只能在函数内部使用的变量
    全局变量:在整个程序中使用的变量
    global关键字:强制将局部变量转换为全局变量

    wKioL1lscdTQlKwWAACblvRTQvI094.png



    wKioL1lsdsijJSr9AACtdxZV4_g290.png

本文转自cuijb0221 51CTO博客,原文链接:http://blog.51cto.com/cuijb/1948264
相关文章
|
11天前
|
数据挖掘 数据处理 索引
python常用pandas函数nlargest / nsmallest及其手动实现
python常用pandas函数nlargest / nsmallest及其手动实现
26 0
|
2天前
|
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列的和。
12 0
|
4天前
|
机器学习/深度学习 数据可视化 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的函数(一)