20/01/16 Python基础知识学习(5)

迭代

  • 迭代协议
    可支持迭代协议都可以使用遍历or循环的语句。原理是其内部有一个 next()方法可以移动指针获取下一个元素。
  • 迭代工具
    • for…
    • 推导… (用C层面的原理来完成,效率相对最高)
      e.g. [x for x in list if …]
    • map…
    • 迭代器对象
      已经实现(文件)
    • 可迭代对象
      iter() ->__iter__用于生成迭代器(list)
      是否已经使用迭代器测试代码:iter(f) is f
  • 内置可迭代对象
    • range()
    • zip() 将两个集合合成一个(元组)
    • map() (>>map(function,iterables))

函数定义与参数

  • 目的:
    最大化代码重用
    最小化代码冗余
    过程分解
  • 标准格式
    #定义函数
    def 函数名(形参):
    函数体
    #调用函数
    函数名(实参)
  • 变量作用域
  • Built-in
  • Global - global x
  • Enclosure (封装) -nonlocal x
  • Local (最底层)
  • 参数
    • 传递
      • 不可变类型(int,str,…),传递副本给函数,函数内操作不影响原始值
      • 可变类型(list,dict,…),传递地址引用,函数内操作可能会影响原始值
        解决方法: .copy() / [:]
发布了10 篇原创文章 · 获赞 0 · 访问量 168

猜你喜欢

转载自blog.csdn.net/weixin_44602323/article/details/104010818