数据结构( Pyhon 语言描述 ) — — 第1章:Python编程基础
- 变量和赋值语句
- 在同一条赋值语句中可以引入多个变量
- 交换变量a 和b 的值
a,b = b,a
- Python换行可以使用转义字符\,下一行的缩进量相同
)\
- 帮助文档
help()
- 控制语句
- 条件式语句
- 如果只有一条语句,可以不用换行
:print('smaller')
- 模块测试语句
if __name__ == "__main__":
main()
- 字符串及其运算
- 运算符
] #Retruns "eat"
- 格式化字符串
- 格式
<formtt string> % <datum>
- 指定字符宽度以及左右对齐
print( "%6s" % "four" ) #右对齐
print( "%-6s" % "four" ) #左对齐
):
print( "%-3d%12d" % ( exponent, 10 ** exponent ) )
- 浮点数
%<field width>.<precision>f
- precision 为小数点的精度
- 示例
print( "Your salary is $%0.2f." % salary )
- 对象和方法的调用
- 显示某一对象的所有方法
- 在 IDLE 中使用 dir 命令
- 示例
dir(str)
- 内建Python集合及操作
- 对集合应用模式匹配
- 模式匹配将一个结构赋值给另一个形式完全相同的结构
rgTuple = ( ( <r>, <g>, <b> ), <string> )
( ( r, g, b ), hexString ) = rgTuple
- 编写新的函数
- 递归函数
- 运行示例
def ourSum( lower, upper, margin = 0 ):
"""Returns the sum of the numbers from lower to upper,
and outputs a trace of the arguements and return values
on each call."""
blanks = " " * margin
print( blanks,str(lower)+ str(upper) )
if lower > upper:
print( blanks, 0 )
else:
, upper, margin + 4 )
print( blanks,result )
return result
if __name__ == "__main__":
)
- 输出
- 嵌套函数的定义
- 示例
def factorial(n):
""" Returns the factorial of n. """
def recurse(n, product):
: return product
, n * product)
)
- 高阶函数
- 高阶函数接收一个函数作为参数,并且以某种方式应用该函数
- map 函数
- 输入:一个函数和一个可迭代对象
- 输出:对可迭代对象的每一项应用参数函数,得到一个新的可迭代对象,并返回
- 示例
]
newList = list( map( str, oldList ) ) #Returns ['1', '2', '3', '4']
- filter 函数
- 输入:一个布尔函数的一个可迭代对象
- 功能:对可迭代对象的每一项应用布尔函数,如果其为真,则将其加入到新的可迭代对象中。
- 示例
def isPositive( number ):
"""判断是否为正数"""
: return True
else: return False
]
newList = list( filter( isPositive, oldList ) ) #[2,3,5,1000]
- 使用 lambda 创建匿名函数
lambda <argument list> : <expression>
- 示例
, oldList ) )
- functools.reduce 高阶函数
- 功能:通过应用带有两个参数的函数来将一个可迭代对象转换为单个的值,该函数的两个参数是下一项和前一次应用该函数的结果
- 示例
import functools
) ) #120
- 捕获异常
- 确保用户输入整数
def safeIntegerInput( prompt ):
"""Pormpts the user for an integer nad returns the
integer if it is well-formed. Otherwise, prints an
error message and repeats this process."""
inputString = input( prompt )
try:
number = int( inputString )
return number
except ValueError:
print( "Please Enter in the correct number format:", inputString )
return safeIntegerInput( prompt )
- 文件及其操作
- 使用 pickle 读写对象
- 可以直接对对象进行储存与读取操作
- 示例
import pickle
#写入文件
] ]
fileObj = open( "items.dat", "wb" )
for item in lyst:
pickle.dump( item, fileObj )
fileObj.close()
#读取文件
lyst = list()
fileObj = open( "items.dat", "rb" )
while True:
try:
item = pickle.load( fileObj )
lyst.append( item )
except EOFError:
fileObj.close()
break
print( lyst )
- 创建新的类
- 所有的 Python 类都位于层级之中, object 在这个层级的根部
- 示例
class Counter(object):
"""Models a counter"""
# Class variable
# Constructor
def __init__(self):
"""Set up the counter."""
self.reset()
#Mutator methods
def reset(self):
"""Sets the counter to 0. """
):
"""Adds amount to the counter."""
self._value += amount
):
"""Subtracts amount from the counter"""
self._value -= amount
#Acessor methods
def getValue(self):
"""Return the counter's value."""
return str( self._value )
def __str__(self):
"""Returns the string representation of the counter."""
return str(self._value)
def __eq__(self, other):
"""Returns True if self equals other or False otherwise."""
if self is other: return True
if type(self) != type(other): return False
return self._value == other._value
- 类变量 instances
- 记录了所创建的 Counter 对象的数目
- 除了最初的赋值以外,在其他时候,类变量必须有一个类名作为其前缀
- 实例变量 self._value
- 加下划线的目的是为了便于区别
- __str__
- 覆盖了 object 中的 str 函数
- __eq__
- 相当于 ==
数据结构( Pyhon 语言描述 ) — — 第1章:Python编程基础的更多相关文章
- 数据结构( Pyhon 语言描述 ) — —第10章:树
树的概览 树是层级式的集合 树中最顶端的节点叫做根 个或多个后继(子节点). 没有子节点的节点叫做叶子节点 拥有子节点的节点叫做内部节点 ,其子节点位于层级1,依次类推.一个空树的层级为 -1 树的术 ...
- 数据结构( Pyhon 语言描述 ) — — 第5章:接口、实现和多态
接口 接口是软件资源用户可用的一组操作 接口中的内容是函数头和方法头,以及它们的文档 设计良好的软件系统会将接口与其实现分隔开来 多态 多态是在两个或多个类的实现中使用相同的运算符号.函数名或方法.多 ...
- 数据结构( Pyhon 语言描述 ) — —第9章:列表
概念 列表是一个线性的集合,允许用户在任意位置插入.删除.访问和替换元素 使用列表 基于索引的操作 基本操作 数组与列表的区别 数组是一种具体的数据结构,拥有基于单个的物理内存块的一种特定的,不变的实 ...
- 数据结构( Pyhon 语言描述 ) — — 第7章:栈
栈概览 栈是线性集合,遵从后进先出原则( Last - in first - out , LIFO )原则 栈常用的操作包括压入( push ) 和弹出( pop ) 栈的应用 将中缀表达式转换为后缀 ...
- 数据结构( Pyhon 语言描述 ) — — 第4章:数据和链表结构
数据结构是表示一个集合中包含的数据的一个对象 数组数据结构 数组是一个数据结构 支持按照位置对某一项的随机访问,且这种访问的时间是常数 在创建数组时,给定了用于存储数据的位置的一个数目,并且数组的长度 ...
- 数据结构( Pyhon 语言描述 ) — —第11章:集和字典
使用集 集是没有特定顺序的项的一个集合,集中的项中唯一的 集上可以执行的操作 返回集中项的数目 测试集是否为空 向集中添加一项 从集中删除一项 测试给定的项是否在集中 获取两个集的并集 获取两个集的交 ...
- 数据结构( Pyhon 语言描述 ) — — 第6章:继承和抽象类
继承 新的类通过继承可以获得已有类的所有特性和行为 继承允许两个类(子类和超类)之间共享数据和方法 可以复用已有的代码,从而消除冗余性 使得软件系统的维护和验证变得简单 子类通过修改自己的方法或者添加 ...
- 数据结构( Pyhon 语言描述 ) — — 第3章:搜索、排序和复杂度分析
评估算法的性能 评价标准 正确性 可读性和易维护性 运行时间性能 空间性能(内存) 度量算法的运行时间 示例 """ Print the running times fo ...
- 数据结构( Pyhon 语言描述 ) — — 第2章:集合概览
集合类型 定义 个或多个其他对象的对象.集合拥有访问对象.插入对象.删除对象.确定集合大小以及遍历或访问集合的对象的操作 分类 根据组织方式进行 线性集合 线性集合按照位置排列其项,除了第一项,每一项 ...
随机推荐
- [题解](最短路(树))luogu_P5201_short cut
一开始想着最短路时统计一下到每个点的牛数量,但是没写出来 建最短路树是个不错的想法,正常跑一次最短路,枚举每个点的前驱,如果d[y]==d[x]+w就是树上的一条边,优先连编号小的, 建好树以后做一次 ...
- [软件工程基础]PhyLab 功能规格说明书
前言 Sigma 团队想要在 PhyLab 上做的增量改进见需求分析.六个功能中只有题库和图文流程需要对界面进行大的改动,剩下的功能在用户看来仅仅是在原有界面上有内容上的扩充,因此不在功能规格说明书的 ...
- Hive_Hive和数据仓库简介
文章摘自 : http://www.imooc.com/video/7573 Hive是建立在Hadoop HDFS上的数据仓库基础架构.Hive可以用来进行数据的ETL.Hive定义了简单的类似SQ ...
- crontab 在unix 没有执行。
Quote: 引用 2 楼 jdwq33 的回复: Quote: 引用 1 楼 mp777323 的回复: 03 * * * * sh /opt/pro_some.sh 我试过了,这样也不行,难道是我 ...
- Jmeter(二十三)稳定性测试后的波形图
jmeter-plugins.org 这个网站为 JMeter 提供了一些增强型功能的插件,使用起来就像 Eclipse 装插件一样,完全做到了插件的可插拔特性.本文简要介绍如何使用这些插件让你的 J ...
- arcgis【0基础 】【1】 中如何添加MXD
1,第一种方法 MapControl 直接添加 if (!axMapControl1.CheckMxFile(FileName)) { MessageBox.Show("文件不合法&quo ...
- Java语言中自动生成随机数
参考原文:http://zhidao.baidu.com/link?url=nB3BT69wmUAiSPfKGgK5Q7HOFFP9AIE04AthreRd9yYcwKhUQsQRWlMdMhW1Qm ...
- 双飞翼布局介绍-始于淘宝UED-2011年淘宝玉伯写的
仔细分析各种布局的技术实现,可以发现下面三种技术被经常使用: 浮动 float 负边距 negative margin 相对定位 relative position 这是实现布局的三个最基本的原子技术 ...
- 状态压缩---状态压缩dp第一题
标签: ACM 题目: Farmer John has purchased a lush new rectangular pasture composed of M by N (1 ≤ M ≤ 12; ...
- UVA 11374 Airport Express (最短路)
题目只有一条路径会发生改变. 常见的思路,预处理出S和T的两个单源最短路,然后枚举商业线,商业线两端一定是选择到s和t的最短路. 路径输出可以在求最短路的同时保存pa数组得到一棵最短路树,也可以用di ...