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 我分享的内容,是我在工作中会高频使用的语法,是精华内容 ...
随机推荐
- C语言--isspace()函数实现
c语言中有很多处理string类型的函数,今天简单的使用了一下isspace()函数,自我实现调用了一下. Isspace()函数 包含在ctype.h头文件中 函数原型: int isspa ...
- 5288: [Hnoi2018]游戏
5288: [Hnoi2018]游戏 链接 分析: 考虑y<=x的怎么做,那么只能从左边走到右边.我们可以从最右边的点开始,一次确定每个点往右边可以走多少. L[x],R[x]分别是x向左向右最 ...
- C#基础_循环
1,三元运算符 表达式1?表达式2:表达式3 栗子1:bool result=5>3?true:false; 栗子2: int num=5>3?1:0; 注意事项以及相应规则: 2, 3, ...
- 来自极客头条的 15个常用的javaScript正则表达式
摘要收集整理了15个常用的javaScript正则表达式,其中包括用户名.密码强度.整数.数字.电子邮件地址(Email).手机号码.身份证号.URL地址. IPv4地址. 十六进制颜色. 日期. Q ...
- ubuntu.windows桌面远程ubuntu的方法(附带安装图形桌面--可选)
(1)首先通过Windows系统下连接Linux系统的命令行工具连接Ubuntu服务器,(工具:xshell,securecrt,putty等). (2)通过Windows下工具连接到Linux操作系 ...
- .net core程序中使用微软的依赖注入框架
我之前在博文中介绍过Asp.net core下系统自带的依赖注入框架,这个依赖框架在Microsoft.Extensions.DependencyInjection中实现,本身并不是.net core ...
- ${pageContext.request.contextPath}无法解析
摘要 突然出现无法解析${pageContext.request.contextPath}的问题,在点击<a href="${pageContext.request.contextPa ...
- 写自己的ASP.NET MVC框架(下)
上篇博客[写自己的ASP.NET MVC框架(上)] 我给大家介绍我的MVC框架对于Ajax的支持与实现原理.今天的博客将介绍我的MVC框架对UI部分的支持. 注意:由于这篇博客是基于前篇博客的,因此 ...
- extern字符串常量,宏定义字符串常量,怎么选
在使用常量的时候,我看到主要有两种写法: #define RKLICURegexEnumerationOptionsErrorKey @"RKLICURegexEnumerationOpti ...
- [web前端] 去哪儿网前端架构师司徒正美:如何挑选适合的前端框架?
原文地址: https://www.jianshu.com/p/6327d4280e3b 最近几年,前端技术迅猛发展,差不多每年都会冒出一款主流的框架. 每次新开业务线或启动新项目时,首先第一件事就是 ...