Python 入门 笔记
慕课网 Python 入门 http://www.imooc.com/learn/177 笔记
Python 适合:Web,工具+脚本,胶水语言
解释型语言——运行慢,代码少,源码不能加密
代码格式非常重要
交互式环境下编程,代码块最后要多敲一个回车
V2.7 和 V3.3 不互相兼容,根据第三方库选择
十六进制数 = Ox + 0-9 + a-f
print + “,” 隔开,自动添加空格
注释:“#” 开头
变量本身类型不固定 = 动态语言,反之 = 静态语言(如Java)
| 命令 | 解释器 |
| a = "ABC" |
create a create "ABC" point a → "ABC" |
| b = a |
create b point b → a → "ABC" |
| a = "XYZ" |
create "XYZ" point a → "XYZ" (b retain "ABC") |
字符:
\ 转义符,\n 换行,\t 制表符,\\ 返回 \
r '''...''' 的形式定义 raw 字符串
1 byte = 8 bit = 二进制 11111111 = 十进制 255,所以 0~255 表示了大小写字母和数字,这个编码表即 ASCII 码
Unicode 用 u '''...''' 表示
如果使用中文时遇到 unicode dececodeerror,在第一行加 “# -*- coding: utf-8 -*-”,表示用...读取,另存为..
布尔计算中的短路计算:
0,“ ” 和 None 都是 False
a and b 时:
a = False,则结果必为 False,返回 a
a = True,则结果取决于 b,返回 b
a or b 时:
a = True,返回 a
a = False,返回 b
所以 a = True 时,print a and 'a=True' or 'a=False',返回 'a=True'
总结:短路计算,即只要能提前确定计算结果,就不会往后算了
list[0~n-1] or list[-n~-1] (易错点:遍历时,引用序列要用中括号,从0开始)
list.append(), 加到最后
list.insert(位置, 值)
list.pop(x), 删除并返回,默认x=-1
sum(list),可以接受list为参数,返回list中所有元素的和
enumerate(),把list中的元素转变为(index, value)的tuple
zip,合并list为tuple的list
tuple(),元组,不能改变值的list
为避免歧义,单元素的元组要加",":(1)→1 vs (1,)→(1,)
循环和判断:
if, elif, else
for xx in list
while, break 可退出while死循环
continue,跳过本次循环,运行下面的语句,所以continue的位置非常重要!!!
dict = {key: value, ...}
len(),返回任意集合的个数
in,检查key是否存在
dict.get(key),当key不存在,返回None
for key in dict 可以返回key,但是是无序的
不可变的元素才能做key
value(),把dict的value变成list
itervalue(),省内存的value()
items() & iteritems()
set([...]),无序的,不可重复的list
s = set([1,2,2]) → s = ([1,2])
访问set,返回元素是否存在:print 1 in s→ True,用途:快速判断用户输入值是否有效
set.add()
set.remove()
函数:
help(函数名),查看帮助
函数可以返回多个值,其本质是一个tuple
函数可以有默认参数,但注意!参数从左至右匹配,所以默认参数一定要在必需参数之后
可变参数:本质也是tuple
递归函数:
def fact(n): # 阶乘
if n == 1:
return 1
return n * fact(n-1)
def move(n, a, b, c): # 汉诺塔
if n == 1:
print a '-->' c
return
move(n-1, a, c, b)
print a '-->' c
move(n-1, b, a, c)
切片:
字符串或各种集合
[0: 3] == [:3] == [0], [1], [2]
[:] == all
[::2] == all by 2
range(0, 101, 7) == 0 to 100 by 7

浙公网安备 33010602011771号