Python 基础:
输入输出:
输入: input("提示信息"),raw_input("提示信息")都可以, 读取的内容形式是字符串 (必要时用 int() 将字符串转换为整数)
输出: print("输出的内容"), 加引号, 就是按字符串形式输出; 否则是计算后再输出; 如果要格式化输出, 用 % 隔开
数据类型和变量:
整数
浮点数
字符串:
和 C 语言有所不同, 包含在单引号或者双引号内的都是字符串
如果字符串中包含单引号和双引号, 此时应该转义
r'' 表示内部的字符串不做转义
换行问题的处理:'''...'''
布尔值: 空值: None(不能理解为 0, 是 Python 里一个特殊空值)
True/False
可以使用 and/or/not 进行运算
list 列表和 tuple 元组:
list:
所有的元素使用 [ ] 括起来
可以使用下标 (0 到 len-1) 进行遍历, 但是和 C 语言区别在于, list[-n](n 为正数)表示 list 中倒数第 n 个元素
相关操作: append()追加元素到 list 末尾; insert()插入元素到指定位置; pop()删除指定元素等
特点: 查找和插入会随着元素的增多而变慢, 但是占用内存较少
tuple
所有元素用 () 括起来, 一旦初始化就不能改变
定义元组 tuple=(); 如果要定义只有一个元素的元组,(1,)必须加逗号消除歧义
条件判断: 循环:
if...elif...else
for x in ... 和 while...
拓展函数:
range(5)表示生成 0-4 的一个序列
list()将生成的序列转换成 list
dict 字典和 set 集合:
dict:
以 key-value 形式储存, 具有极快的查找速度, 但是会占用较多的内存(也就是空间换取时间的一种方法)
使用 { } 将所有元素括起来, 直接通过 key 索引到 value 值
set:
集合类型与数学中的集合概念一致, 是多个元素的无序组合(每个元素唯一, 不存在相同元素)
集合用大括号 {} 表示, 元素间用逗号分隔
建立集合类型用 {} 或 set() , 建立空集合, 必须使用 set()
函数:
调用: 和 C 语言 C++ 中类似
定义:
使用 def 定义, 且参数不需要定义
空函数: Python 不允许出现空语句, 使用 pass 表示什么都不做的语句
返回多个值: return x,y
参数:
类型检查: isinstance()
位置参数: 类似于 C++ 中默认参数, 默认参数只能出现在函数参数的后面
可变参数: 允许传入 0 个或者任意个参数, 定义的时候, 直接在参数前加一个 *, 调用时, 直接传入所有的参数即可, 会自动生成一个 tuple
关键字参数: 定义的时候, 在参数名前加两个 *. 调用传入参数时, 内部会组成一个 dict, 传入参数时, 必须使用 a=b 的形式
命名关键字参数: 参数组合: 参数定义的顺序: 必选, 默认, 可变, 命名关键字, 关键字
需要一个特殊分隔符 *,* 后面的参数被视为命名关键字参数
如果函数定义中已经有了一个可变参数, 后面跟着的命名关键字参数就不再需要一个特殊分隔符 * 了
必须传入参数名, 这和位置参数不同. 如果没有传入参数名, 调用将报错
可以有缺省值, 从而简化调用
递归函数
高级特性:
切片: 取出 list 或者 tuple 中部分元素
装饰器:
用途: 有时候需要打印函数的日志但又不需要修改函数的内容
是一个返回函数的高阶函数
偏函数:
functools.partial 会帮助我们创建一个偏函数
作用: 吧一个函数的某些参数固定住, 返回一个新的函数, 调用这个函数会更加简单
使用模块
import A: 引入 A 库
from A import b: 导入 A 库中的 b 模块
import A as B: 导入 A 库并命名为 B
来源: http://www.bubuko.com/infodetail-3114189.html