python学习笔记(一)--基本操作和基本类型
2017-10-15 14:38
375 查看
前言
此文仅为记录学习要点使用
首先,注释是使用“#”,变量定义不需要制定类型,None为内建值,表空值(区别与null空字符,两者数据结构不一样)。
其次,python不存在main函数,会从执行文件的第一行开始执行,类脚本文件。不需要手动资源回收。除非是在语句块或者函数中定义变量,否则都默认为全局变量。
引用类型和数值类型的理解:
引用类型可以理解为指向存放对象的指针,其实质为保存的为对象的地址,因此对象所有的变更本身不会使指针指向(指向地址)产生影响,是使指针的指向内容产生变化。
数值类型本身是不变的,也即是无论在地址上或者是地址上的内容都是不变的,因此所有使用该值的变量都会指向同一个目标,当值产生变化时,修改变量的指向,使其指向修改后的变量,原先变量并不会因这次修改而产生改变。
正数为从头开始计算,负数为从尾开始计算,end下标元素不包含,不填写默认0为头,列表长度为尾。分片返回的k分两种情况,第一种,如果元素为基本数值,则为按值传递处理,第二种,如果元素为引用类型(列表,字典等),则为按引用传递处理。概括来说就是一种浅复制。
方式:k=list[start:end:step]
step为步长,默认为1
在list1的尾端扩展list2并返回扩展的结果副本,不对list1和list2产生修改
将list2作为一个元素连接在list1的尾部,这是作为引用的连接,因此会修改list1,并且在连接后,对list2的修改也会体现在list1身上。
对list2进行复制,并将副本在list1的尾部进行扩展,list2副本的每个元素会作为list1的元素身份存在。因此会产生对list1修改,对list2的修改不会传递到list1
对list进行n次浅复制扩展,并返回浅复制扩展的副本。也即是说如果list里面存在引用类型,在n次浅复制扩展后,再对该引用类型进行修改会导致所有浅复制对象都会产生修改。
len返回list长度,max和min使用前提为list内部所有元素都是可以比较的,列表与数值是不能比较的。
) 或者 del(list[start:end])
删除对应元素,会使其他元素下标产生变化和列表长度产生变化
分片的元素会被删除并在start位置扩展list2。所以如果list2长度不够分片,分片中多余元素会被删除,list2长度过长会使list长度增加。
计算某元素的出现次数,但此为非模糊查找,类型与值都匹配
查找某元素第一次出现的下标,但此为非模糊查找,类型与值都匹配
返回最后一个元素,并在list中删除
返回的是元组,其余与列表类似
特性:
1 键类型是不可变类型
2 自动添加,即使键不存在,在赋值的瞬间就会自动添加到字典中
或者 k=dict(name1='value1')
使用前者的话,键值可以重复,重复的话后面定义的键值对会覆盖前面的,后者方法中,键值不能重复,否则会报参数重复错误
根据key获取value,不存在的键值对返回None
弹出指定键值对
随机弹出键值对,说随机其实也不对,是从头开始弹出的,但由于存储/初始化时,键值对的存储是随机次序的,所以随机次序上的有序弹出还是随机
此文仅为记录学习要点使用
首先,注释是使用“#”,变量定义不需要制定类型,None为内建值,表空值(区别与null空字符,两者数据结构不一样)。
其次,python不存在main函数,会从执行文件的第一行开始执行,类脚本文件。不需要手动资源回收。除非是在语句块或者函数中定义变量,否则都默认为全局变量。
引用类型和数值类型的理解:
引用类型可以理解为指向存放对象的指针,其实质为保存的为对象的地址,因此对象所有的变更本身不会使指针指向(指向地址)产生影响,是使指针的指向内容产生变化。
数值类型本身是不变的,也即是无论在地址上或者是地址上的内容都是不变的,因此所有使用该值的变量都会指向同一个目标,当值产生变化时,修改变量的指向,使其指向修改后的变量,原先变量并不会因这次修改而产生改变。
列表
列表为可变序列,符号为[],可用下标作为索引直接读取元素常用操作
1、分片
方式:k=list[start:end]正数为从头开始计算,负数为从尾开始计算,end下标元素不包含,不填写默认0为头,列表长度为尾。分片返回的k分两种情况,第一种,如果元素为基本数值,则为按值传递处理,第二种,如果元素为引用类型(列表,字典等),则为按引用传递处理。概括来说就是一种浅复制。
方式:k=list[start:end:step]
step为步长,默认为1
2、相加
方式:k=list1+list2在list1的尾端扩展list2并返回扩展的结果副本,不对list1和list2产生修改
3、append(连接)
方式:list1.append(list2)将list2作为一个元素连接在list1的尾部,这是作为引用的连接,因此会修改list1,并且在连接后,对list2的修改也会体现在list1身上。
4、extend(扩展)
方式:list1.extend(list2)对list2进行复制,并将副本在list1的尾部进行扩展,list2副本的每个元素会作为list1的元素身份存在。因此会产生对list1修改,对list2的修改不会传递到list1
5、乘法
方式:k=list*n对list进行n次浅复制扩展,并返回浅复制扩展的副本。也即是说如果list里面存在引用类型,在n次浅复制扩展后,再对该引用类型进行修改会导致所有浅复制对象都会产生修改。
6、存在检查
方式: k=element in list
返回布尔值,表element是否存在list中,此为非模糊查找,类型与值都匹配才返回true7、长度,最大,最小
方式:len(list) max(list) min(list)len返回list长度,max和min使用前提为list内部所有元素都是可以比较的,列表与数值是不能比较的。
8、删除
方式:del(list) 或者 del(list[start:end])
删除对应元素,会使其他元素下标产生变化和列表长度产生变化
9、分片赋值
方式:list[start:end]=list2分片的元素会被删除并在start位置扩展list2。所以如果list2长度不够分片,分片中多余元素会被删除,list2长度过长会使list长度增加。
10、计数
方式:list.count(element)计算某元素的出现次数,但此为非模糊查找,类型与值都匹配
11、第一次出现
方式:list.index(element)查找某元素第一次出现的下标,但此为非模糊查找,类型与值都匹配
12、出栈
方式:list.pop()返回最后一个元素,并在list中删除
元组
元组为不可变序列,符号为()常用操作
1、分片
方式:k=list[start:end]返回的是元组,其余与列表类似
字典
字典为以键值对保存数据的数据类型,符号为[(),()]特性:
1 键类型是不可变类型
2 自动添加,即使键不存在,在赋值的瞬间就会自动添加到字典中
常用操作
1、初始化
方式:k=dict([('name1','value1'),('name2','value2')])或者 k=dict(name1='value1')
使用前者的话,键值可以重复,重复的话后面定义的键值对会覆盖前面的,后者方法中,键值不能重复,否则会报参数重复错误
2、获取
方法:dict.get(key)根据key获取value,不存在的键值对返回None
3、指定弹出
方法:dict.pop(key)弹出指定键值对
4、随机弹出
方法:dict.popitem()随机弹出键值对,说随机其实也不对,是从头开始弹出的,但由于存储/初始化时,键值对的存储是随机次序的,所以随机次序上的有序弹出还是随机
相关文章推荐
- Python学习笔记一:数据类型与基本操作
- Python学习笔记(二):基本数据类型及操作(逻辑、字符串、浮点、复数)
- python学习笔记(2)序列的通用基本操作
- Python学习笔记一 基本语法、变量类型、时间处理
- 【python学习笔记二】基本数据类型
- python学习笔记(5):list的基本操作
- python学习笔记之-基本数据类型
- Python3学习笔记:基本数据类型
- Python3学习笔记03-基本数据类型、序列、运算及缩进和选择
- Python 学习笔记1-基本数据类型
- python学习 变量的操作 与 基本数据类型
- python学习笔记(一) 基本数据类型及运算
- IPython(jupyter)简单介绍和基本交互操作 - 千月的python linux 系统管理指南学习笔记(5)
- Python OpenCV 学习笔记之:基本操作
- Scala学习笔记(八):基本类型和操作
- Python3学习笔记-基本数据类型
- JAVA学习笔记(2)基本数据类型和基本操作
- python数据结构之列表基本操作[学习笔记]
- Python Selenium 学习笔记(一)基本操作
- Python源码学习笔记(1 基本数据类型)