pdf 基本笔记
python常用内建数学函数
abs() 绝对值
pow() 等同**
round()四舍五入
更多的内容你要学会使用pyhon的help() doc 及官方文档才行.
语句细节
python中两个' 和两个" 没有区别, 唯一的区别就是 "Let's go" 的 's不用加转义.
相同的'sff " sd' 的"也不用加转义字符.
repr()函数和str()大体功能一样,区别在于repr会显示变量类型 str(100L) 显示 100, repr(100L) 显示 100L ,str("Hello") 显示Hello repr("Hello")显示'Hello' . ` ` (反引号,不是单引号)也可以实现和repr一样的功能.和 str repr 类似的,input获取的是原始数据类型,而raw_input()获取原始数据后都会转变为字符类型.无特殊要求建议使用
raw_input()
长字符串还可以用""" """ 或''' 不用加转义,同时和c一样可以用 " \ " 可以连接到下一行,可以理解转义空格.
关于连续\的一个python 可以直接使用原始字符 print r'C:\Documents and Settings\All Users\Desktop\test'
原始字符串不能为\结尾,不然会语法错误. 代替语句 print r'C:\Documents and Settings\All Users\Desktop\test' '\\'
python2.6以前都是用 8位ASCII存储的,要用Unicode 用 u'Hello world'
模块
import math 引入模块math.floor(33.8) #输出33.0 (如果是from math的话, 这里可以直接用floor(), 当然最好不要这么做)
eg: form math import sqrt
用form 模块 import 函数后,再用函数就不用加前缀.
form 和C++ namespace 一样除非必要,否则不要全部引入
eg: import cmath ... cmath.sqrt(-1)后就无法使用sqrt函数了
.用__future__引入未来python组成的新特性.
用.__doc__来看函数内部说明eg: list.__doc__
"list() -> new empty list\nlist(iterable) -> new list initialized from iterable's items"
类似的还有 help() 函数
指定解释器
#!/user/bin python linux 可能还要加 x执行权限数据结构:列表和元组
课程笔记
boring的 基本 控制结构
if 和for
不过有个有趣的概念,防御式编程 (defensive programming) :1假设用户不会按照要求输入,2假设coder是不完美的,此程序必须做
最坏的打算!
防御式编程基本思想:people are dumb and will make mistakes.
枚举法:尝试所有可能合理的值,直到找到答案.
元组 Typle (不可变): 是有序元素列
表示方法 圆括号 (1,43,43,5)
eg: test=(32,54,65)
>>>test[1:2] 输出元组的一个拷贝 叫切片(slicing)
(54, 65)
和range()函数一样 取值范围是[ ),即"[a:b]",永远不会输出下标b !
>>>test[ :1] 输出从头到1的元素
>>>test[1: ] 输出1到尾的元素
>>>test[ : ] 等同 >>>test
元组支持 赋值 I/O loop += = ,+ and or ...所以它是图灵完备的
字符串也是一种元组,so 它也支持 选取 切片等等.
复杂问题只是因为我们没进行"分解"Decomposition,没有进行"抽象"abstraction
None是一个特殊值,表现未计算出结果,或者无返回值
局部变量不影响全局变值,和c一样
递归:
1基本判定条件
2.缩小一点问题规模,相同的解决方式