python关键字和内建结构, 数据类型

2018-10-04  本文已影响0人  LittleTrue

部分特殊关键字记录:

assert 2+2==2*2
assert len(['my boy',12])<10
s = "abc 123"
ret = "ab" in s
print (ret)
f=lambda x,y,z:X+y+x 
//lambda赋给一个变量后,通过变量调用
f(1,2,3)

python引用变量的顺序: 当前作用域局部变量->外层作用域变量->当前模块中的全局变量->python内置变量 。

global关键字用来在函数或其他局部作用域中使用全局变量。但是如果不修改全局变量也可以不使用global关键字。
nonlocal关键字用来在函数或其他作用域中使用外层(非全局)变量。

try:
    raise FError("自定义异常")
except FError as e:
    print(e)

部分数据类型相关说明

整型 (int):Python3中的所有整数都表示为长整数。 因此,长整数没有单独的数字类型。

数字型变量 之间可以直接计算
在 Python 中,两个数字型变量是可以直接进行 算数运算的
如果变量是 bool 型,在计算时
True 对应的数字是 1
False 对应的数字是 0

字符串变量 之间使用 + 拼接字符串
字符串变量 可以和 整数 使用 * 重复拼接相同的字符串
数字型变量 和 字符串 之间 不能进行其他计算,需要先进行转换。


一、函数调用

函数调用-关键字(key,vlaue)参数:
图片.png

写成如图所示的形式, 参数顺序可以颠倒,并且参数明确。

函数调用-收集参数:
图片.png

写成如图所示的形式, 参数可以不限数量传入, 灵活。


二、列表 list:

集合列表的分片操作:
图片.png

分片操作可以截取列表中指定 下标1:下标2 的列表元素作为一个新的列表。

列表推导式
生成器推导式

样式和列表推导式区别仅仅是[] 换成()
注意: 列表推导式一经声明即运行并占用其所需的内存, 而生成器只有你需要的时候它才会求值, 这也是和列表解析式的区别,

列表操作函数

三、元组-tuple

元组可以看成一个不可更改的list
除增删外, list具有的一些操作,比如索引,分片,序列相加,相乘,成员资格操作等,一模一样。

元组创建

t = (1,2);
注意, 当创建一个值的元组的时候, 要在括号内写成 (item, )形式。
t= 1,2
t= tuple(list) 转化一个已有list创建元组

元组操作函数

三、集合-set

集合创建和基本函数

s = set() //注意使用s = {}会定义成dict类型, 只有{}内包含了具体数据并且不是K-V形式解释器才不会识别成字典
s = set(list)转化一个已有list创建集合
len,max,min,add,clear与list保持一致
--remove和discard区别:
remove移除不存在的值会报错。

集合使用和集合函数

自动过滤创建时录入的重复函数
集合可以仿造列表写集合推导式(二种样式),四种结构中只有元组没有推导式。

冰冻集合

冰冻集合就是不可以修改的集合, 冰冻集合可以存入其他集合。
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
上一篇下一篇

猜你喜欢

热点阅读