> 文章列表 > Python学习简记

Python学习简记

Python学习简记

常用数据类型

整数类型int


  • 二进制以0b开头
  • 八进制以0o开头
  • 十六进制以0x开头

这里还有一个值得注意的点:python中的整型是“无限长”的,因此它可以表示任何数

浮点数


python中只有float作为浮点数,没有double

主要注意python中对浮点数与Decimal的关系,例如:

 可参考

布尔类型


有True和False两种,其中要注意的是python的bool可以作为数字进行运算

例如:
True+1=2

False+1=0 

字符串类型


 可以用一对单引号或一对双引号或三个单引号对或三个双引号对 表示

其中三引号表示的字符串可以跨行输入,其他的则不行

三引号还可以实现多行注释

对于字符串想要输出原字符串可以在字符串前加上r或R

print(r'我是字符串')

但是注意 想输出的字符串末尾不能是反斜杠,因为如果末尾是反斜杠就变成了\\'即一个已经存在的转义字符

类型转换


float()

int()

str() 

运算符


python中没有++运算符和--运算符

python的整除是//

而 / 则会得到浮点数

幂运算是**

赋值上python可以支持解包赋值,即类似

a,b,c=1,2,3;
#这样就完成了a=1,b=2,c=3的赋值

对象id(地址)的比较可以使用is和is not

python的布尔运算符有and,or,not,in,not in

python的位运算符有&,|,<<,>>

其中<<是“高位溢出舍弃,低位补零”   >>是“低位溢出舍弃,高位补零”

条件表达式

x if 判断条件 else y

即如果判断条件返回True则得到x,反之得到y

pass语句


在遇到暂时不想写的地方时可以使用pass语句进行略过

分支结构


if 判断条件:语句
elif 判断条件:语句
else:语句

内置函数range


该函数用于生成一个整数序列

我们有如下三种方法对其进行创建

该函数的返回值是一个迭代器对象

循环


 while循环

#语法结构
while 表达式:语句

for-in循环

in表达从(字符串、序列等)以此取值,称为遍历

for-in遍历的对象必须是可迭代对象

#语法结构
for 自定义的变量 in 可迭代对象:循环体

如果不需要上述的自定义变量可以使用'_'代替该位置


循环与else

在python中,else可以与循环搭配使用

即一个循环如果正常退出则执行else语句内容 

列表


python中的列表可以相当于其他语言中的数组

 上图可近似抽象表示一个列表的内存形式


列表的创建方式:

  • 直接使用中括号创建
  • 使用内置函数list()

列表的特点:

  • 列表元素按照顺序有序排序
  • 索引映射唯一一个元素
  • 列表可以存储重复数据
  • 列表可以任意数据类型混合存储
  • 列表会根据需要动态分配和回收内存空间

列表的查询操作

 这里值得强调的是切片得到的列表与原列表的id是不同的,说明新的列表是拥有了新的内存空间,此外,切片三个参数中的中间参数不管是正序遍历还是逆序遍历都是“开的一边”,即不会遍历的stop本身


列表元素的增加操作

值得强调的是append()方法是“原地添加元素”,extend()方法适用于两个列表的拼接(也是原地拼接) 

此外,切片也是一种灵活的方式

输出如下

 等于是在下标为>=1的后面所有元素都变了


列表的删除操作

  1. remove()(根据元素值删除)
  • 一次删除一个元素
  • 重复元素只删除第一个
  • 元素不存在则抛出异常

     2.pop()(根据索引进行删除)

  • 删除一个指定索引位置上的元素
  • 指定索引不存在则抛出异常
  • 如果不指定索引则默认删除最后一个元素

      3.切片

  • 可实现一次至少删除一个元素

但是这样不是原地操作,最好的做法如下:

      4.clear()

  • 清空列表

      5.del()

  • 直接删除列表

列表元素的修改操作

  • 直接通过索引修改(单个元素)
  • 切片

  


列表元素的排序

  1. 调用列表的sort()方法,默认将列表进行升序排序,如果指定参数reverse=True,则可实现降序排序(该方法是原地排序)
  2. 调用内置函数sorted(),同理可传入参数reverse=True实现降序排序(会产生新列表)

列表产生式

列表产生式是用于生成列表的公式