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可以做很多在其他语言中无法做到的很酷的事情, 如在运行时动态的定义函数.
headfirst python 01~02的更多相关文章
- Python学习02 列表 List
Python学习02 列表 List Python列表 List Python中的列表(List)用逗号分隔,方括号包围(comma-separated values (items) between ...
- Python模块02/序列化/os模块/sys模块/haslib加密/collections
Python模块02/序列化/os模块/sys模块/haslib加密/collections 内容大纲 1.序列化 2.os模块 3.sys模块 4.haslib加密 5.collections 1. ...
- Python网络02 Python服务器进化
原文:Python网络02 Python服务器进化 作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! **注意,在Python 3. ...
- 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 ...
- python进阶02 特殊方法与特殊属性
python进阶02 特殊方法与特殊属性 一.初始化.析构 1.初始化 # python中有很多双下划线开头且以下划线结尾的固定方法,它们会在特定的时机被触发执行,这便是特殊方法 # 在实例化的时候就 ...
- Python函数02/函数的动态参数/函数的注释/名称空间/函数的嵌套/global以及nolocal的用法
Python函数02/函数的动态参数/函数的注释/名称空间/函数的嵌套/global以及nolocal的用法 目录 Python函数02/函数的动态参数/函数的注释/名称空间/函数的嵌套/global ...
- Python面向对象02/类的空间问题、类与对象之间的关系、类与类之间的关系
Python面向对象02/类的空间问题.类与对象之间的关系.类与类之间的关系 目录 Python面向对象02/类的空间问题.类与对象之间的关系.类与类之间的关系 1. 类的空间问题 2. 类与对象之间 ...
- (python函数02)列表生成式
(python函数02)列表生成式 示例代码 num = [i for i in range(1, 10)] print(num) num = [i for i in range(1, 10) ...
- 极简python教程02:基础变量,删繁就简
python极简教程已经开赛,如果错过说明可以回翻: 极简python教程:赛前说明 借这个机会,我再讲讲我的教程和其他网上的教程的区别: 1 我分享的内容,是我在工作中会高频使用的语法,是精华内容 ...
随机推荐
- Python图形编程探索系列-08-再次认识标签
标签的各种属性 代码展示: import tkinter as tk root = tk.Tk() root.geometry = '500x300' label1 = tk.Label(root, ...
- bootStrap中的ul导航2
<!doctype html><html > <head> <meta charset="utf-8"> <link rel= ...
- 【数据结构与算法】自己动手实现图的BFS和DFS(附完整源码)
转载请注明出处:http://blog.csdn.net/ns_code/article/details/19617187 图的存储结构 本文的重点在于图的深度优先搜索(DFS)和广度优先搜索(BFS ...
- 20172302 《Java软件结构与数据结构》第三周学习总结
2018年学习总结博客总目录:第一周 第二周 第三周 教材学习内容总结 第五章 队列 1.队列是一种线性集合,其元素从一端加入,从另一端删除:队列元素是按先进先出(FIFO(First in Firs ...
- U3D面试题
直接上新.... 什么是协同程序?答:在主线程运行时同时开启另一段逻辑处理,来协助当前程序的执行.换句话说,开启协程就是开启一个可以与程序并行的逻辑.可以用来控制运动.序列以及对象的行为. Unity ...
- unity操作Hierarchy视图下同名的对象
上周遇到了一个令我尴尬的问题,在同一个场景内有了两个名字相同的对象,给个形象化的栗子: 场景内有橱窗,橱窗是模型,窗户是可以打开的[点击控制],窗户可以控制打开和关闭的.然后我就选用了一个保守的方式进 ...
- Java中使用Timer和TimerTask实现多线程
转自:http://www.bdqn.cn/news/201305/9303.shtml 摘要:Timer是一种线程设施,用于安排以后在后台线程中执行的任务.可安排任务执行一次,或者定期重复执行,可以 ...
- 转载:Gitlab备份和恢复操作记录
转载:Gitlab备份和恢复操作记录 包含了备份和数据恢复的操作记录,实验可行 前面已经介绍了Gitlab环境部署记录,这里简单说下Gitlab的备份和恢复操作记录: 1)Gitlab的备份目录路径设 ...
- Spring Boot中CrudRepository与JpaRepository Dao中JpaRepository和JpaSpecificationExecutor查询
原文地址 https://blog.csdn.net/xuemengrui12/article/details/80525227?utm_source=blogxgwz0 https://www.i ...
- vs2010编译错误(报错:LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏)
报错:LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏 1> 这段时间忙于看文献,没用过VS了. 今天用着用着就报错了: LINK : fat ...