zoukankan      html  css  js  c++  java
  • 第八章-函数

    函数是带名字的代码块,用于完成具体的工作,要执行函数定义的特定任务,可调用该函数。

    1、定义函数

    关键字def告诉Python要定义一个函数,函数名为greet_user(),最后定义以冒号结尾。

    紧跟在def greet_user():后面的所有缩进行构成了函数体。文档字符串用三引号括起来,描述了函数是做什么的,Python使用它们来生成有关程序中函数的文档。

    1.向函数传递信息

    2.实参和形参

    在函数greet_user()的定义中,变量username是一个形参--函数完成其工作所需的一项信息。在代码greet_user('jesse')中,值'jesse'是一个实参。实参是调用函数时传递给函数的信息。

    2、传递实参

    1.位置实参

    调用函数时,实参和形参关联方式基于实参的顺序,称为位置实参。

    2.关键字实参

    关键字实参是传递给函数的名称-值对。

    3.默认值

    编写函数时,可给每个形参指定默认值。

    使用默认值时,在形参列表中必须先列出没有默认值的形参,再列出有默认值的形参,这让Python依然能够正确的解读位置参数。

    4.等效的函数调用

    5.避免实参错误

    3、返回值

    函数并非总是直接显示输出,相反,它可以处理一些数据,并返回一个或一组值。函数返回的值被称为返回值。

    1.返回简单值

    2.让实参变成可选的

    3.返回字典

    4.结合使用函数和while循环

    4、传递列表

     1.在函数中修改列表

     

    2.禁止函数修改列表

    要将列表的副本传递给函数,可以像下面这样做:

    function_name(list_name[:])

    切片表示法[:]创建列表的副本。在上例中如果不想清空未打印的设计列表,可像下面这样调用print_models():

    print_models(unprinted_designs[:],completed_models)

    5、传递任意数量的参数

    有时候,你预先不知道函数需要接受多少个实参,可用形参*name表示

    形参名*toppings中的星号让python创建一个名为toppings的空元组,并将收到的所有值都装到这个元祖中。

    1.结合使用位置实参和任意数量实参

    如果要让函数接受不同类型的实参,必须在函数定义中将接纳任意数量实参的形参放在最后。python先匹配位置实参和关键字实参,再将余家的实参都收集到最后一个形参中。

    2.使用任意数量的关键字实参

    形参**user_info中的两个星号让python创建一个名为user_info的空字典,并将收到的所有名称-值对都封装到这个字典中。

    6、将函数存储在模块中

    将函数存储在被称为模块的独立文件中,再将模块导入到主程序中。import语句允许在当前运行的程序文件中使用模块中的代码。

    1.导入整个模块

    创建pizza模块

    导入pizza模块

    如果你使用这种import语句导入了名为module_name.py的整个模块,就可使用下面的语法来使用其中任何一个函数:

    module_name.function_name()

    2.导入特定的函数

    你还可以导入函数中特定的函数:

    from module_name import function_0,function_1,function_2

    3.使用as给函数指定别名

     如果要导入的函数名称可能与程序中现有的名称冲突,或者函数的名称太长,可指定简短而独一无二的别名。

    from module_name import function_name as fn

    4.使用as给模块指定别名

    通过给模块制定简短别名,让你能够更轻松地调用模块中的函数。

    import pizza as p

    p.make_pizza(16,'pepperoni')

    import module_name as mn

  • 相关阅读:
    一键启动frida server的cmd脚本
    AES加密的S盒和逆S盒的推导代码备份(C实现)
    windows android ndk的某些编译工具报错乱码0x5 或拒绝访问05
    cygwin的sh: line 15: $' ': command not found错误
    一种JNI混淆方案
    android上的bin/sbin/xbin等各种目录
    Mac OSX bash function 备份
    Xposed免重启调试工具类
    vscode调试vue代码
    爬取ESRI疫情地图数据
  • 原文地址:https://www.cnblogs.com/mkxfs/p/11081481.html
Copyright © 2011-2022 走看看