部分特殊关键字记录:
-
as
用于类型转换 -
assert
声明其布尔值必须为真的判定,如果发生异常就说明表达示为假。可以理解assert断言语句为raise-if-not,用来测试表示式。
assert 2+2==2*2
assert len(['my boy',12])<10
-
del
删除变量或序列的值 -
elif
条件语句,与 if、else 结合使用,相当于 else if -
except
包含捕获异常后的操作代码块,与 try、finally 结合使用,相当于catch -
from
用于导入模块,与 import 结合使用 -
in
判断变量是否在序列中, 判断的主体可以是字符串, 也可以是列表等可迭代对象
s = "abc 123"
ret = "ab" in s
print (ret)
-
is
判断变量是否为某个类的实例 -
lambda
lambda的主体是一个表达式,而不是一个代码块。仅仅能在lambda表达式中封装有限的逻辑进去。
f=lambda x,y,z:X+y+x
//lambda赋给一个变量后,通过变量调用
f(1,2,3)
-
pass
空的类、方法或函数的占位符pass是空语句,是为了保持程序结构的完整性,比如空方法用其站位不报错。 global和nonlocal
python引用变量的顺序: 当前作用域局部变量->外层作用域变量->当前模块中的全局变量->python内置变量 。
global关键字用来在函数或其他局部作用域中使用全局变量。但是如果不修改全局变量也可以不使用global关键字。
nonlocal关键字用来在函数或其他作用域中使用外层(非全局)变量。
-
with
简化 Python 的语句 相当php中的@
使用with后不管with中的代码出现什么错误,都会进行对当前对象进行清理工作。
有一些任务,可能事先需要设置,事后做清理工作。对于这种场景,Python的with语句提供了一种非常方便的处理方式。一个很好的例子是文件处理,你需要获取一个文件句柄,从文件中读取数据,然后关闭文件句柄。 -
raise
异常抛出操作
try:
raise FError("自定义异常")
except FError as e:
print(e)
-
yield
python特有 使用参考
部分数据类型相关说明
整型 (int):Python3中的所有整数都表示为长整数。 因此,长整数没有单独的数字类型。
数字型变量 之间可以直接计算
在 Python 中,两个数字型变量是可以直接进行 算数运算的
如果变量是 bool 型,在计算时
True 对应的数字是 1
False 对应的数字是 0
字符串变量 之间使用 + 拼接字符串
字符串变量 可以和 整数 使用 * 重复拼接相同的字符串
数字型变量 和 字符串 之间 不能进行其他计算,需要先进行转换。
一、函数调用
函数调用-关键字(key,vlaue)参数:
图片.png写成如图所示的形式, 参数顺序可以颠倒,并且参数明确。
函数调用-收集参数:
图片.png写成如图所示的形式, 参数可以不限数量传入, 灵活。
- 需要注意这里约定俗成的参数名是arg
- 收集参数与其他参数混用时, 其他调用参数需要再前面。
- 收集参数装包和解包: 传入一个 数组后,需要使用 * 号进行解包
二、列表 list:
集合列表的分片操作:
图片.png分片操作可以截取列表中指定 下标1:下标2 的列表元素作为一个新的列表。
列表推导式
- 样式1:
变量L=[item或item表达式 for item in 列表/集合]
每循环一次就调用item或item表达式来填充列表L - 样式2:
变量L=[item或item表达式 for item in 列表/集合 if 表达式 或 in 表达式 ]
if 限制当地item满足条件才调用item或item表达式
生成器推导式
样式和列表推导式区别仅仅是[] 换成()
注意: 列表推导式一经声明即运行并占用其所需的内存, 而生成器只有你需要的时候它才会求值, 这也是和列表解析式的区别,
列表操作函数
- max()
- min()
- len()
- list.insert();
- list.remove();
- list.clear(); 地址不变, 数组情况。
如果清空列表使用 list = list(); list = []; 那么原list的数据还存在内存等待清除, 只是存储它的地址的变量list指向了其他的空白内容的地址。
三、元组-tuple
元组可以看成一个不可更改的list
除增删外, list具有的一些操作,比如索引,分片,序列相加,相乘,成员资格操作等,一模一样。
元组创建
t = (1,2);
注意, 当创建一个值的元组的时候, 要在括号内写成 (item, )形式。
t= 1,2
t= tuple(list) 转化一个已有list创建元组
元组操作函数
- max()
- min()
- len()
- count() 计算指定数据在元组中出现次数
三、集合-set
- 集合是高中数学中的一个概念
- 一堆确定的无序的唯一的数据,集合中每一个数据成为一个元素
- 集合具有唯一性
- 集合内部只能放可HASH的数据,如基本数据, 元组
集合创建和基本函数
s = set() //注意使用s = {}会定义成dict类型, 只有{}内包含了具体数据并且不是K-V形式解释器才不会识别成字典
s = set(list)转化一个已有list创建集合
len,max,min,add,clear与list保持一致
--remove和discard区别:
remove移除不存在的值会报错。
集合使用和集合函数
自动过滤创建时录入的重复函数
集合可以仿造列表写集合推导式
(二种样式),四种结构中只有元组没有推导式。
- 返回交集 intersection
- 返回并集 union
- 返回差集 difference
- 判断是否子集 issubset
冰冻集合
冰冻集合就是不可以修改的集合, 冰冻集合可以存入其他集合。
fs = frozenset()
四、字典 -dict
字典是一种组合数据,没有顺序的组合数据,数据以键值对形式出现
·字典是序列类型,但是是无序序列,所以没有分片和索引·字集中的数据每个都有键值对组成,即k/对·key.必须是可哈希的值,比如int,string,float,tuple,但是,ist.set.dict不行
字典的创建
d = {};
d = { "k1": 1, "k2":2} //由于传入的是k-v形式, 所以会识别字典而不是集合
d = dict({ "k1": 1, "k2":2})
clear() len() max min()
keys() 返回字典键值对组成的列表 ---dict_values类型: 列表
values() 返回字典键值对组成的列表 --dict_keys类型: 列表
items() 返回字典键值对组成的元组格式 --dict_items类型: 列表+元组
注意:
元组+列表的格式则构成了类似PHP的hash数组的功能。
get() 根据key返回对应values
fromkeys( 指定序列, 指定值') 使用指定序列作为多个key, 指定值作为统一values
字典的使用和相关函数
访问: 类似于index访问, 字段使用d["key"]访问对应value
成员检测: 使用 in /not in , 检测的对象是key
字典可以仿造列表写字典推导式
(二种样式), 四种结构中只有元组没有推导式。
遍历: 使用for循环, 不过得改写循环规则
for k in dict.keys():
dict[k]
或者
for v in dict.values():
v
网友评论