小甲鱼Python学习笔记(一)

变量和字符串

变量定义形式:

交换两个变量(简便):

Alt + p 重复上一次的命令

当字符串的内容存在单(双)引号时,可以用双(单)引号将其引起来,也可以用转义字符反斜杠 \ 将字符串中的引号转义


当需要转义的字符太多时,可以使用原始字符串:在字符串前面添加 r

当输入多行字符串时,可以在一行的末尾加上反斜杠 \ 表示下一行继续输入


也可以用三引号 """输入多行字符串,就无需在行末加反斜杠 \ ,三引号需要成对使用

数字

x//y 地板除,x除以y向下取整(取小于目标结果的最大整数)


pow(a,b,c) a的b次方的结果对c取余

布尔

bool() 可以直接计算表达式的布尔值
所有结果为false的情况:



Python里的 and or 都遵从短路逻辑

运算符优先级(从上至下优先级变高):

分支与循环

条件语句缩写形式:
条件成立时执行的语句 if condition else 条件不成立时执行的语句

while循环可以和else语句一起使用,表示只有while循环的内容执行完毕才会执行else里面的语句,如果是因为break语句退出了while循环,则不会执行else里面的语句


for 循环 语法:

for循环常与range()函数搭配使用,range()函数有三种常用形式:

  • range(stop)
    生成从0开始的整数数列,作为可迭代对象
  • range(start, stop)
    生成从start到stop-1的整数数列(左闭右开),作为可迭代对象
  • range(start, stop, step)
    生成从start到stop-1的整数数列(左闭右开),作为可迭代对象,每次迭代步长为step


循环嵌套
找出10以内的素数:

列表

Python的列表可以包含不同的数据类型
num = [1, 2, 3, 4, 5, "six"]
想访问列表最后一个元素时:

以此类推,倒数第二个元素的索引可以是 -2

列表切片

列表切片是处理列表的部分元素,也就是把整个列表切开
列表切片也可以搭配步长
num[::-1] 步长为-1,可以倒序输出

添加元素
  • 列表可以使用 append() 方法添加一个元素,
  • 也可以使用 extend() 方法添加一组元素,注意extend()方法的参数必须是一个可迭代对象

新的内容是追加到原列表最后一个元素的后面

  • 添加元素也可以通过切片的方式实现:
  • 想要在任意位置添加元素,可以使用 insert() 方法
删除元素
  • 使用 remove() 方法删除元素,存在多个匹配的元素时只删除第一个,不存在待删除的元素时会报错

  • 使用 pop() 方法删除指定位置的元素,参数为索引值

  • 使用 clear() 方法删除所有元素,清空列表

更改元素
  • 可以直接用列表和下标进行更改
  • 可以利用切片对列表元素进行更改


  • 可以使用 sort() 方法对列表进行排序,默认是升序,将sort()方法的reverse参数设置为true时为降序排列
查找元素
  • 使用 count() 方法查看列表有多少个指定元素
  • 使用 index() 方法查看特定元素的索引值,存在多个匹配的元素时返回第一个匹配元素的索引值,还可以在元素后面指定开始和结束查找的位置
拷贝列表
  • 使用 copy() 方法实现拷贝
  • 使用 切片 实现列表拷贝

这里实现的拷贝都是浅拷贝

浅拷贝只是拷贝的外层对象,如果包含嵌套对象,拷贝的只是其引用,要实现深拷贝,需要引入 copy 模块,使用其 deepcopy() 方法

  • 浅拷贝


  • 深拷贝


列表推导式

通过列表推导式修改列表,执行速度通常是for循环的两倍,列表推导式采用更快的C语言的速度来运行,比PVM里面以步进的速度运行的for循环快得多
语法: [Expression for target in Iterable]


列表推导式for循环的效果并不完全一样:

  • 循环是通过迭代来逐个修改原列表中的元素
  • 列表推导式则是直接创建一个新的列表,然后再赋值回原先的变量
  • 从效果上来看,列表推导式几乎都可以实现我们的需求

列表推导式还可以添加条件
语法: [Expression for target in Iterable if condition]

你可能感兴趣的:(小甲鱼Python学习笔记(一))