基础概念
数据类型
Python的基础数据类型只有引用类型, 丰富的自定义类型由类提供. 官方内置了一些基础的类作为基本类型。
Number类
- int
- float
- complex
str类
python解析器中. 单引号、双引号和三引号都代表str类的一个实例
- 构造函数:
- str()
- 成员函数:
find(str_str, int_start, int_end ) , 查找字符串的起始位置, 没找到时返回-1. 还有rfind()版本
index(str_str, int_start, int_end), 查找字符串的起始位置, 没找到时抛出异常. 还有rindex()版本
replace(str_old, str_new, int_count ), 替换old为new, count设置替换次数,缺省 全部替换
count(str_str) 查找字符串出现的次数,
split(str_delimiter , int_count) 按delimiter分割字符串并保存在list中返回
partition(str_delimiter) 按delimiter将字符串分为三部分, 它能保留分割字符串
join(iterable_object) 使用调用者作为连接符, 连接可迭代实体(例如str, list等)的每一个元素, 返回连接后的新字符串 单元素不连接
startswith(str_start) 判断字符串是否是以start开头
endswith(str_end) 判断字符串是不是以end结尾
isupper() 判断字符串是不是全大写, 还有很多is类型的函数
upper() 转换大写
lowwe() 转换小写
title() 控制字符分割开的单词, 首字母大写
capitalize 控制字符分割开的单词, 第一个单词大写, 其他小写
center(int_width, str_fill) 将字符串扩展成列宽为width的字符串, 原字符串居中, 可设置填充字符
rjust(int_width, str_fill) 将字符串扩展成列宽为width的字符串, 原字符串右对齐, 可设置填充字符
ljust(int_width, str_fill) 将字符串扩展成列宽为width的字符串, 原字符串左对齐, 可设置填充字符
strip() 去除字符串两边空白
rsrtip() 去除字符串右边空白
lstrip()去除字符串左边空白
tuple类
python中的()都表示tuple类的对象 Tuple: (…,…,…)元素可以是不同类型的, 不可以修改. Tuple可被索引和截取 count(object) 查找object元素出现的次数 index(object) 查找object元素下标
list类
python命令中的所有的[]都是list类的对象 列表推导式
- 构造函数:
- list(): 支持使用生成器generator初始化
- 成员函数:
append(object) 添加实体到列表中
extend(iterable_object) 将可迭代实体的每一个元素添加到列表中
insert(int_index , object) 在下标index位置插入实体, 无越界情况
pop(int_index): 删除索引元素, 参数缺省删除最后
remove(object): 删除指定对象, 多个对象只删除一个
clear(): 清空列表
count(object) 查找object元素出现的次数
index(object) 查找object元素下标
sort(key=func_object) 对dict进行排序必须指定key. key是一个函数对象, 指定排序的内容
reverse()
dict类
dict是一个字典类, dict类在for in中遍历的是键值
- 构造函数:
- dict(iterable_object): 在python中所有的{key:val, …}都是dict类的对象
- 成员函数:
- update(iterable_object): 删除键值对
- [object]重载: 作为左值时表示添加或修改, 作为右值时必须保证存在该键
- pop(object): 删除key对应的键值对
- popitem(): 删除字典中最后一个元素
- clear(): 清空字典
- get(object): 返回key为object的val, 若不存在该键值则返回none
- keys(): 将键值保存在列表中返回
- values(): 将值保存到列表中返回
- items(): 将键值对(元组形式)保存到列表中返回
set类
set是一个无序集合, 每次存储的顺序不一定相同. for in循环中遍历的是元素值
- 构造函数:
- set(iterable_object): 在python中所有的{xx,…}都是set类对象, 空集合必须使用set()函数获取
- 成员函数:
- add(object):
- update(iterable_objcet)
- remove(object)
- discard(object)
- clear()
变量与常量
- 变量:
- 语法: valueName = value 注意: python的变量只有引用, 且不需要声明引用类型
- 自动组包: 当一个变量使用多个以逗号分隔的变量赋值时, python自动将这些值组包成tuple对象, 例如: a = 1,2,3,4
- 自动解包: 当多个以逗号分隔的变量使用一个tuple赋值时, python会自动将tuple解包依次为变量赋值. 例如 a,b,c = t
- 对象删除: del 变量名
- 常量:
命名规范
函数
- 定义函数: def func_name(var1, …)
- 函数的参数: 和C语言一致, 分为形参和实参.
- 形参类型: 形参的排列顺序必须是位置参数、可变长位置参数、默认值参数、可变长关键字参数
- 位置参数: 可通过位置或关键字方式传递
- 可变长位置参数: 可通过位置方式传递
- 默认值参数: 在没有位置参数、可变长位置参数是可使用位置或关键字方式传递, 否则只能使用关键字方式传递
- 可变长关键字参数:只能使用关键字方式传递
- 实参传递方式:
- 位置传递: 当位置实参个数大于位置形参, 多余的实参存储到可变长位置参数中. 支持通过解包的方式进行位置传递
- 关键字传递: 位置形参可以通过关键字赋值方式传递
- 函数的返回值: 若是单个对象则正常返回, 若是多个以逗号分隔的对象则自动组包成tuple返回
- Lambda表达式: lambda val1,val2,… : expression; 只能执行单行表达式, 且不支持if、for和while结构
变量的作用域
局部变量 -> 闭包变量 -> 全局变量 -> 内建变量 python的函数中, 如果希望修改全局变量需要使用global
三、内建函数 len(itreable_object)求容器的长度 max(itreable_object)求最大值 min(itreable_object)求最小值 del(itreable_object)删除变量
高阶函数 map(function_func, list_list)将list中的每一个值调用func运算, 将结果存入列表返回 reduce(function_func, list_list) 每次使用list中的前两个元素调用func获取返回结果, filter(function_func, list_list)将list中的每一个值调用func运算, 将结果返回值为true的存入列表返回