数据结构( 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章:集合概览
集合类型 定义 个或多个其他对象的对象.集合拥有访问对象.插入对象.删除对象.确定集合大小以及遍历或访问集合的对象的操作 分类 根据组织方式进行 线性集合 线性集合按照位置排列其项,除了第一项,每一项 ...
随机推荐
- [題解]hdu_6412公共子序列
https://blog.csdn.net/nka_kun/article/details/81902421 #include<bits/stdc++.h> #define ll long ...
- DRF教程3-类视图
Rewriting our API using class-based views 使用类视图重写root views,只需要一点点重构. from django.http import Http40 ...
- Linux (一)
Linux目录结构 / :根目录.位于分层文件系统的最顶层,可以说它包含了所有的目录和文件 /bin :系统可执行目录 /sbin :系统管理员的可执行文件 /boot :存放用于启动linux系统的 ...
- flask_之参数传递
参数篇 request接收数据 request对象 method:当前请求方法(POST,GET等) url:当前链接地址 path:当前链接的路径 environ:潜在的WSGI环境 headers ...
- Codeforces 1132E(转化+dp)
要点 假设第i个最后总共选的值为ci,不妨把它分成两部分:\[c_i=cnt'_i*L+q_i\]\[L=840,\ 0<=q_i<L\]又可以写成:\[c_i=cnt_1*i+cnt_2 ...
- CSS 条纹背景深入
一.水平渐变 实现水平条纹很简单 <!DOCTYPE html> <html lang="en"> <head> <meta charse ...
- javaoo封装
- LessCss学习笔记
一.入门 1.LESSCSS是什么? LESSCSS是一种动态样式语言,属于CSS预处理语言的一种,它使用类似CSS的语法,为CSS的赋予了动态语言的特性,如变量.继承.运算.函数等,更方便CSS的编 ...
- js实现屏幕自适应局部
<!doctype html> <html> <head> <meta charset="utf-8"> <title> ...
- 浅析ES6中的iterator
1.iterator迭代器必须保证其遍历终止条件可控,否则会形成死循环demo: //会用到iterator接口的场合 //1.for...of循环 //2. ...解构表达式 const obj = ...