• headfirst python 01~02


    列表

    列表就像是数组

    在python 创建一个列表时, 解释器会在内存中创建一个类似数组的数据结构来存储数据, 数据项自下而上(形成一个堆栈), 类似于其他编程语言中的数组.

    列表中常用方法:

    cast = ["a", "b", "c", "d"]

    len(cast)

    cast.append("e")

    cast.pop()   #尾巴出栈(栈顶)

    cast.extend(["f","g"])  # 扩展一个列表从另一个列表.

    cast.remove("c")

    cast.insert(0, "-a")

    另外, python 的列表可以随需要伸缩, 所以, 不支持越界检查.

    嵌套列表的输出问题

    可以使用 isinstance() 判断是否是一个列表, 例如:

    cast = ["aa", "bb"]

    isinstance(cast, list) # 返回 true

    当 movies 是多层列表时:

    def print_list_nested(the_list):

      for each_item in the_list:

        if isinstance(each_item, list):

          print_list_nested(each_item)

        else:

          print(each_item)

    print_list_nested(movies)


    模块共享

    PYPI : 第三方模块的存放处.

    注释技术: 在 python中, 一个常用的注释技术是使用一个三重引号来建立多行注释, 如果使用了一个三重引号, 而没有将它赋值给一个变量, 三重引号之间的所有内容都被认为是一个注释:

    发布模块

    1. 创建一个文件夹, 将上边带递归函数的 neseter.py 文件复制到文件夹中. 为简单起见, 文件夹命名为 nester

    2. 在文件夹中新建一个名为 "setup.py" 的文件. 这个文件包含元数据信息

      from distutils.core import setup

      setup {

          name    = 'nester',

          version    = '1.0.0',

          py_modules = ['nester'],

          author    = 'haha',

          author_email  = 'haha@haha.com'

          url      = 'www.haha.com'

          description  = 'test',

        }

    3. 构建一个发布,  python3 setup.py sdist(要在 nester文件夹中)

    4. 将发布安装到你的 python 的本地副本中,任然在终端窗口(nester目录下) sudo python3 setup.py install

    导入模块, import nester, 需要搜寻路径(import sys, sys.path)

    python模块的命名空间

    python中的所有代码都与一个命名空间关联. 主python程序中的代码与一个名为__main__的命名空间关联.将代码放在其单独的模块中时, python会自动创建一个与模块同名的命名空间, 所以, 你的模块中的代码会与一个名为nester的命名空间关联. nester.print_list_nested(cast)

    另外, 与编译类型的语言不同, Python在运行之前并不全面检查代码的合法性. 这使得python可以做很多在其他语言中无法做到的很酷的事情, 如在运行时动态的定义函数.  

     

  • 相关阅读:
    Leetcode: Plus One Linked List
    Leetcode: Sort Transformed Array
    Leetcode: Rearrange String k Distance Apart
    Leetcode: Line Reflection
    Leetcode: Logger Rate Limiter
    Leetcode: Design Snake Game
    Leetcode: Android Unlock Patterns
    Leetcode: Longest Substring with At Most K Distinct Characters && Summary: Window做法两种思路总结
    Design Tic-Tac Toe
    Leetcode: Moving Average from Data Stream
  • 原文地址:https://www.cnblogs.com/moveofgod/p/6388152.html
Copyright © 2020-2023  润新知