美文网首页
读书笔记 | Python学习之旅 Day6

读书笔记 | Python学习之旅 Day6

作者: 公子老马 | 来源:发表于2018-03-21 23:08 被阅读0次

Python学习之旅 读书笔记系列

Day 6

《Python编程从入门到实践》

第8章 函数

知识点
  • 定义函数
    • def function_name(形参):
      • 括号必不可少
      • 冒号结尾
      • 形参在需要的时候添加,使用时对应实参,即实参值存储在形参中
    • “”“...”“” 三个引号,文档字符串的注释docstring
  • 传递实参
    • 多个形参 可对应 多个实参
    • 几种方式
      • 位置实参 (跟定义内容有关系,需注意顺序,否则有歧义)
      • 关键字实参(形参:实参值) 务必指定值,即:名称-值对
      • 定义时,可指定默认值 def function_name(形参='实参值')
        • 与在描述性语句里写的区别:后者不满足非默认值时的需求
        • 默认值要放在最后,开头则对应第一个形参
      • 等效的函数调用:以上方式可灵活使用,不限
    • 避免实参错误
      • 利用traceback功能追溯
      • 尽量使用描述性名称(函数,变量)
    • 返回值 return()
      • 通过变量存储返回值
      • 变量指定默认值,要放在参列表的末尾(要确保)
    • 返回字典 {‘键’:值,‘键’:值}
    • 结合使用函数和while循环
      • while 搭配函数循环使用
      • 记得定义退出条件,使用break
  • 传递列表
    • def function_name(table_name):
    • for 对象 in table_name 进行遍历处理
    • 修改列表
      • .pop() .append 搭配使用
      • 如果不想修改原表格,可创建副本
        • 通过切片的方式 [:]
        • 但除非有充分的理由才传递副本,因会影响效率,尤其是大型列表时
    • 传递任意数量的实参 (*形参)
      • 一个星号 + 形参
      • 封装到元组
    • 结合位置实参和任意数量实参 (**形参)
      • 两个星号 + 形参
      • 必须放在最后
    • 任意数量的关键字实参 (,,**形参)
      • 接受任意数量,但不知道什么样的信息时
      • 形成键-值对,封装到字典
  • 将函数存储到模块
    • 扩展名 .py
    • 函数优点之一:可将代码块与主程序分离
    • 共享
    • 使用: module_name.fouction_name (通过句点连接)
  • 导入 (建议导入模块,用句点连接函数,避免重复覆盖)
    • 导入整个模块 import module
      • 使用函数时,需使用句点
    • 导入特定函数 from module_name import function_name
    • 导入任意数量函数 from module_name import function1,function2
    • 导入所有函数 from module_name import *
      • 后面3种不需使用句点
    • as起别名
      • 函数起别名
        • from module_name import function_name as fn
      • 模块起别名
        • import module_name as mn
其他
  • 理念
    • 每个函数只负责一项具体工作
    • 多使用函数,只需修改代码一次,可终身调用
    • 牢记,使用最简单的方法来完成任务就好
    • 程序员目标之一:简单的代码完成任务
    • 函数易读
  • 注意事项
    • 1.多用描述性名称,且只使用小写字母和下划线
    • 2.每个函数包含简要阐述的注释
    • 3.给形参指定默认值时,等号两边不要有空格(牢记,易混淆)
    • 4.长度>79时,函数定义时左括号直接回车,下一行再按两次tab键
    • 5.多个函数间,空两行(易读)
    • 6.所有import放文件开头,但描述性注释优先

相关文章

网友评论

      本文标题:读书笔记 | Python学习之旅 Day6

      本文链接:https://www.haomeiwen.com/subject/vsxoqftx.html