Python 学习笔记(一)
用书《Python语言及其应用》:
- 字符串
- 列表
- 元组
- 字典
- 集合
- 语法关键词
- 模块整合
数据类型
字符串
//
整数除法;- [::] 分片[::-1] ,小于起始位置0,大于终止位置-1;
.len()
.split()
用关键词分割产生列表
.join()
char.join(list)
合并列表产生字串- .startwith(string) 是否以string开始
- .endwith()
- .find()查找第一次出现string的位置
- .count() 多少次
- .isalnum()是否全部字母数字
- s.strip(rm) 删除s字符串中开头、结尾处,位于 rm删除序列 的字符
s.lstrip(rm) 删除s字符串中开头处,位于 rm删除序列的字符
s.rstrip(rm) 删除s字符串中结尾处,位于 rm删除序列的字符 - .capitalize() 字串首字母大写
- .title()所有单词首字母大写
- .upper() 所有字母大写
- .lower() 所以字母小写
- .center(n) n个字符居中
- .swapcase() 大小写转换
- .ljust() .rjust() 左右对齐
- replace(s1,s2,n) 将s1 换成s2 至多换n次
- stdtypes.html#string-methods
字串的基础元素是字符。
列表
列表用[]表示 ,元素同地位不一定同类,同值元素可以多次出现
- list()可以创建空表,将其他类型转换为表
- .split()转换字串到表,依据分隔符
- -1是最后一个元素
- 字符串是不可改变的,列表是可以的
- 逆序通过step=-1实现
- .append()添加元素
- .extend () 或+=合并列表
- .insert()插入元素,也即index
- del 删除 del a[-1]
- .remove() 删除某值元素
- .pop() 获得并删除指定位置元素,因此可以实现stack和queue
- index()查询某值元素位置,in判断是否存在 str in list return Bool
- .count() 计数某元素,必然是以元素为单位的。
- char.join() 转换为字串
- .sort(reverse=True)排序,default 为升序
- sorted()返回 排好序的列表副本
- len 获得列表长度而不是类方法,是函数
- =赋值,copy() 复制=list(a)=a[:]
元组
()表示,创建元组区别于单元素注意末尾加上逗号
tuple()函数可以转换其他类型为元组,以基础元素为单位分解
字典
{}创建,类似c++ ,stl中的map,也就是字符数组
dict()转换双值子序列为字典,列表或者元组的基础元素必须是双值的。只是建立对应关系
.update()将后者的字典更新到前者中去
del 删除指定键值元素
.clear()清空
in 是否存在
.keys()获得所有键
.values()获得所有值
=和copy()
集合
类似stl的set,用set()创建,{}会得到字典
set()类似list()
集合运算符比较特别,
& 与 .intersection()
| 并
- 差集.difference()
^ 异或,仅在两集合中出现一次
<=是否子集
语法结构
#
注释 ,\连接
if elif else 语句块后加: 块内缩进相同
while
break
continue
循环外 else 当 break 未发生时执行,循环判断条件成立而结束的时候不会执行
for 循环 迭代器
for rabbit in rabbits:
print()
以基础元素为单位进行迭代
.items()函数可以 字典的键值对
for item in a.items()
print(item)
zip()函数可以匹配两个列表,最终得到字典,并行迭代
range() 返回 可迭代对象 类似切片
一个列表推导式
a=[num for num in range(6,1,-1)if a%2==1]
一个集合推导式
a={num for num in range(6,1,-1)if a%2==1}
一个字典推导式
a={letter:word.count(letter) for letter in word}
letter是键
函数
def
默认函数值指定key
*args ,**kwargs
第一个得到元组,第二个得到字典
lamuda(),小型函数 单句函数
生成器 yield 类似range,yield 产出序列值
装饰器 打包函数,可 以给函数前后加东西。
总之,可以返回函数,给某个变量,函数,列表都是对象。
return result 使得结果不变
return function 也即返回函数
@sldjsfsdd 也就是装饰函数
try 和except 处理异常
locals() 返回局部变量系统
globals() 返回全局变量系统
模块
import
from import
路径问题
system.path
双端队列 deque()
python标准库
collections
deque() 双端队列
setdefault()查字典 ,无值则加入
defaultdict()
Counter()数基础元素个数,以字典返回
这种字典是可加的,实际上字典就是一种集合,
加减是以有无界定
&|的键是有无,值是看&|
python有一种代替自然语言的雄心壮志。
2016/03/20