列表

列表就像是数组

在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可以做很多在其他语言中无法做到的很酷的事情, 如在运行时动态的定义函数.

 

headfirst python 01~02的更多相关文章

  1. Python学习02 列表 List

    Python学习02 列表 List Python列表 List Python中的列表(List)用逗号分隔,方括号包围(comma-separated values (items) between ...

  2. Python模块02/序列化/os模块/sys模块/haslib加密/collections

    Python模块02/序列化/os模块/sys模块/haslib加密/collections 内容大纲 1.序列化 2.os模块 3.sys模块 4.haslib加密 5.collections 1. ...

  3. Python网络02 Python服务器进化

    原文:Python网络02 Python服务器进化 作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! **注意,在Python 3. ...

  4. linux下生成00 01 02..99的这些数

    [root@localhost ~]# seq -s " " -w 9901 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 ...

  5. python进阶02 特殊方法与特殊属性

    python进阶02 特殊方法与特殊属性 一.初始化.析构 1.初始化 # python中有很多双下划线开头且以下划线结尾的固定方法,它们会在特定的时机被触发执行,这便是特殊方法 # 在实例化的时候就 ...

  6. Python函数02/函数的动态参数/函数的注释/名称空间/函数的嵌套/global以及nolocal的用法

    Python函数02/函数的动态参数/函数的注释/名称空间/函数的嵌套/global以及nolocal的用法 目录 Python函数02/函数的动态参数/函数的注释/名称空间/函数的嵌套/global ...

  7. Python面向对象02/类的空间问题、类与对象之间的关系、类与类之间的关系

    Python面向对象02/类的空间问题.类与对象之间的关系.类与类之间的关系 目录 Python面向对象02/类的空间问题.类与对象之间的关系.类与类之间的关系 1. 类的空间问题 2. 类与对象之间 ...

  8. (python函数02)列表生成式

    (python函数02)列表生成式 示例代码  num = [i for i in range(1, 10)] print(num) ​ num = [i for i in range(1, 10) ...

  9. 极简python教程02:基础变量,删繁就简

    python极简教程已经开赛,如果错过说明可以回翻: 极简python教程:赛前说明 借这个机会,我再讲讲我的教程和其他网上的教程的区别: 1 我分享的内容,是我在工作中会高频使用的语法,是精华内容 ...

随机推荐

  1. Python图形编程探索系列-08-再次认识标签

    标签的各种属性 代码展示: import tkinter as tk root = tk.Tk() root.geometry = '500x300' label1 = tk.Label(root, ...

  2. bootStrap中的ul导航2

    <!doctype html><html > <head> <meta charset="utf-8"> <link rel= ...

  3. 【数据结构与算法】自己动手实现图的BFS和DFS(附完整源码)

    转载请注明出处:http://blog.csdn.net/ns_code/article/details/19617187 图的存储结构 本文的重点在于图的深度优先搜索(DFS)和广度优先搜索(BFS ...

  4. 20172302 《Java软件结构与数据结构》第三周学习总结

    2018年学习总结博客总目录:第一周 第二周 第三周 教材学习内容总结 第五章 队列 1.队列是一种线性集合,其元素从一端加入,从另一端删除:队列元素是按先进先出(FIFO(First in Firs ...

  5. U3D面试题

    直接上新.... 什么是协同程序?答:在主线程运行时同时开启另一段逻辑处理,来协助当前程序的执行.换句话说,开启协程就是开启一个可以与程序并行的逻辑.可以用来控制运动.序列以及对象的行为. Unity ...

  6. unity操作Hierarchy视图下同名的对象

    上周遇到了一个令我尴尬的问题,在同一个场景内有了两个名字相同的对象,给个形象化的栗子: 场景内有橱窗,橱窗是模型,窗户是可以打开的[点击控制],窗户可以控制打开和关闭的.然后我就选用了一个保守的方式进 ...

  7. Java中使用Timer和TimerTask实现多线程

    转自:http://www.bdqn.cn/news/201305/9303.shtml 摘要:Timer是一种线程设施,用于安排以后在后台线程中执行的任务.可安排任务执行一次,或者定期重复执行,可以 ...

  8. 转载:Gitlab备份和恢复操作记录

    转载:Gitlab备份和恢复操作记录 包含了备份和数据恢复的操作记录,实验可行 前面已经介绍了Gitlab环境部署记录,这里简单说下Gitlab的备份和恢复操作记录: 1)Gitlab的备份目录路径设 ...

  9. Spring Boot中CrudRepository与JpaRepository Dao中JpaRepository和JpaSpecificationExecutor查询

    原文地址  https://blog.csdn.net/xuemengrui12/article/details/80525227?utm_source=blogxgwz0 https://www.i ...

  10. vs2010编译错误(报错:LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏)

    报错:LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏 1> 这段时间忙于看文献,没用过VS了. 今天用着用着就报错了: LINK : fat ...