1.链式赋值:链式赋值用于同一个对象赋值给多个变量。
eg:x=y=123 相当于:x=123;y=123
2.系列解包赋值:系列数据赋值给对应相同个数的变量(个数必须保持一致)
eg:a,b,c=4,5,6 相当于a=4,b=5,c=6
3.python中最基本的内置数据类型:整数,浮点数,布尔值型,字符串型
比较运算符
逻辑运算符
同一运算符
总结:
1、is 比较两个对象的 id 值是否相等,是否指向同一个内存地址;
2、== 比较的是两个对象的内容是否相等,值是否相等;
3、小整数对象[-5,256]在全局解释器范围内被放入缓存供重复使用;
4、is 运算符比 == 效率高,在变量和 None 进行比较时,应该使用 is。
基本运算符:
1.比较运算符可以连用,并且含义和我们日常使用完全一致。
2.位操作
3.加法操作
4.乘法操作
第二章:字符串
引号创建字符串
空字符串和len()函数
转义字符
字符串拼接
字符串复制
不换行打印
从控制台读取字符串
str()实现数字转型字符串
使用[]提取字符
replace()实现字符串替换
字符串切片slice操作
第 3 章 序列:
序列是一种数据存储方式,用来存储一系列的数据。在内存中,序列就是一块用来存放
多个值的连续的内存空间。比如一个整数序列[10,20,30,40]
python 中常用的序列结构有:
字符串、列表、元组、字典、集合
列表:用于存储任意数目、任意类型的数据集合。
列表是内置可变序列,是包含多个元素的有序连续的内存空间。列表定义的标准语法格式:
a = [10,20,30,40]
其中,10,20,30,40 这些称为:列表 a 的元素。
列表中的元素可以各不相同,可以是任意类型。比如:
a = [10,20,'abc',True]
list()创建
使用 list()可以将任何可迭代的数据转化成列表。
range()创建整数列表
range()可以帮助我们非常方便的创建整数列表,这在开发中及其有用。语法格式为:
range([start,] end [,step])
start 参数:可选,表示起始数字。默认是 0
end 参数:必选,表示结尾数字。
step 参数:可选,表示步长,默认为 1
insert()插入元素
使用 insert()方法可以将指定的元素插入到列表对象的任意制定位置。这样会让插入位置后
面所有的元素进行移动,会影响处理速度。涉及大量元素时,尽量避免使用。类似发生这种
移动的函数还有:
remove()、pop()、del(),它们在删除非尾部元素时也会发生操作位置后
面元素的移动。
列表元素的删除
del 删除
删除列表指定位置的元素。
pop()方法
pop()删除并返回指定位置元素,如果未指定位置则默认操作列表最后一个元素。
index()获得指定元素在列表中首次出现的索引
index()可以获取指定元素首次出现的索引位置。语法是:
index(value,[start,[end]])。其中,
start 和 end 指定了搜索的范围。
count()获得指定元素在列表中出现的次数
切片是 Python 序列及其重要的操作,适用于列表、元组、字符串等等。切片的格式如下:
切片 slice 操作可以让我们快速提取子列表或修改。标准格式为:
[起始偏移量 start:终止偏移量 end[:步长 step]]
注:当步长省略时顺便可以省略第二个冒号
列表的遍历
for obj in listObj:
print(obj)
reversed()返回迭代器
内置函数 reversed()也支持进行逆序排列,与列表对象 reverse()方法不同的是,内置函数
reversed()不对原列表做任何修改,只是返回一个逆序排列的迭代器对象。
字典介绍
字典是“键值对”的无序可变序列,字典中的每个元素都是一个“键值对”,包含:“键
对象”和“值对象”。可以通过“键对象”实现快速获取、删除、更新对应的“值对象”。
字典的创建
1. 我们可以通过{}、dict()来创建字典对象。
2. 通过 zip()创建字典对象
3. 通过 fromkeys 创建值为空的字典
字典元素的访问
1. 通过 [键] 获得“值”。若键不存在,则抛出异常。
2. 通过 get()方法获得“值”。推荐使用。优点是:指定键不存在,返回 None;也可以设
定指定键不存在时默认返回的对象。推荐使用 get()获取“值对象”。
3. 列出所有的键值对
4. 列出所有的键,列出所有的值
5. len() 键值对的个数
6. 检测一个“键”是否在字典中
字典元素添加、修改、删除
1. 给字典新增“键值对”。如果“键”已经存在,则覆盖旧的键值对;如果“键”不存在,
则新增“键值对”。
2. 使用 update()将新字典中所有键值对全部添加到旧字典对象上。如果 key 有重复,则直
接覆盖。
3. 字典中元素的删除,可以使用 del()方法;或者 clear()删除所有键值对;pop()删除指定
键值对,并返回对应的“值对象”;
4. popitem() :随机删除和返回该键值对。字典是“无序可变序列”,因此没有第一个元
素、最后一个元素的概念;popitem 弹出随机的项,因为字典并没有"最后的元素"或者其
他有关顺序的概念。若想一个接一个地移除并处理项,这个方法就非常有效(因为不用首先
获取键的列表)。
字典核心底层原理(重要)
字典对象的核心是散列表。散列表是一个稀疏数组(总是有空白元素的数组),数组的
每个单元叫做 bucket。每个 bucket 有两部分:一个是键对象的引用,一个是值对象的引
用。
由于,所有 bucket 结构和大小一致,我们可以通过偏移量来读取指定 bucket。
集合
集合是无序可变,元素不能重复。实际上,集合底层是字典实现,集合的所有元素都是字典
中的“键对象”,因此是不能重复的且唯一的。
集合创建和删除
1. 使用{}创建集合对象,并使用 add()方法添加元素
2. 使用 set(),将列表、元组等可迭代对象转成集合。如果原来数据存在重复数据,则只保
留一个。
3. remove()删除指定元素;clear()清空整个集合
单分支选择结构
if 语句单分支结构的语法形式如下:
if 条件表达式:
语句/语句块
其中:
1 .条件表达式:可以是逻辑表达式、关系表达式、算术表达式等等。
2 .语句/语句块:可以是一条语句,也可以是多条语句。多条语句,缩进必须对齐一致。
条件表达式详解
在选择和循环结构中,条件表达式的值为 False 的情况如下:
False、0、0.0、空值 None、空序列对象(空列表、空元祖、空集合、空字典、空字
符串)、空 range 对象、空迭代对象。
其他情况,均为 True。这么看来,Python 所有的合法表达式都可以看做条件表达式,甚至
包括函数调用的表达式。
·条件表达式中,不能有赋值操作符“=”
在 Python 中,条件表达式不能出现赋值操作符“=”,避免了其他语言中经常误将关系运
算符“==”写作赋值运算符“=”带来的困扰。如下代码将会报语法错误:
if 3<c and (c=20):
print("赋值符不能出现在条件表达式中")
双分支选择结构
双分支结构的语法格式如下:
if 条件表达式 :
语句 1/语句块 1
else:
语句 2/语句块 2
【操作】输入一个数字,小于 10,则打印该数字;大于 10,则打印“数字太大”
三元条件运算符
Python 提供了三元运算符,用来在某些简单双分支赋值情况。三元条件运算符语法格式如
下:
条件为真时的值
if
(条件表达式)
else 条件为假时的值
多分支选择结构
多分支选择结构的语法格式如下:
if 条件表达式 1 :
语句 1/语句块 1
elif 条件表达式 2:
语句 2/语句块 2
.
.
.
elif 条件表达式 n :
语句 n/语句块 n
[else:
语句 n+1/语句块 n+1
]
循环结构
循环结构用来重复执行一条或多条语句。表达这样的逻辑:如果符合条件,则反
复执行循环体里的语句。在每次执行完后都会判断一次条件是否为 True,如果
为 True 则重复执行循环体里的语句。