Python基础

Python基础数据类型

整数除法 //

返回的是比结果小的最大整数值

运算优先级

优先级从高到低排列如下:

  • ()括号
  • **幂指数运算
  • / * // % 除,乘, 整数除法,取余运算
  • ‘+ -’ 加减

字符串

  • 字符串的生成,单引号和双引号是等价的
  • 三引号用来输入包含多行文字的字符串
  • 使用 () 或者 \ 来换行

类型转换

浮点数转整型,只保留整数部分


Python字符串及其操作

字符串方法

分割
  • s.split()将s按照空格(包括多个空格,制表符\t,换行符\n等)分割,并返回所有分割得到的字符串。
  • s.split(sep)以给定的sep为分隔符对s进行分割。
连接
  • 与分割相反,s.join(str_sequence)的作用是以s为连接符将字符串序列str_sequence中的元素连接起来,并返回连接后得到的新字符串
替换
  • s.replace(part1, part2)将字符串s中指定的部分part1替换成想要的部分part2,并返回新的字符串
大小写转换
  • s.upper()方法返回一个将s中的字母全部大写的新字符串。
  • s.lower()方法返回一个将s中的字母全部小写的新字符串
去除多余的空格
  • s.strip()返回一个将s两端的多余空格除去的新字符串。
  • s.lstrip()返回一个将s开头的多余空格除去的新字符串。
  • s.rstrip()返回一个将s结尾的多余空格除去的新字符串。
强制转换为字符串
  • str(ob)强制将ob转化成字符串。
  • repr(ob)也是强制将ob转化成字符串。

二者区别:str()主要用来为终端用户输出一些信息,而repr()主要用来调试;同时后者的目标是为了消除一些歧义(例如浮点数的精度问题),前者主要为了可读。

整数与不同进制的字符串的转化
  • 十六进制hex()
  • 八进制oct()
  • 二进制bin()
  • 使用 int 将字符串转为整数
  • 指定按照多少进制来进行转换,最后返回十进制表达的整数int(‘FF’, 16)
  • float 可以将字符串转换为浮点数
格式化字符串
  • Python用字符串的format()方法来格式化字符串。
  • 也可以使用旧式的 % 方法进行格式化

索引和分片

索引
  • 单个索引大于等于字符串的长度时,会报错
分片
  • 分片用来从序列中提取出想要的子序列
  • 用法:var[lower:upper:step] 其范围包括 lower ,但不包括 upper ,即 [lower,upper), step 表示取值间隔大小,如果没有默认为1。
  • lower和upper可以省略,省略lower意味着从开头开始分片,省略upper意味着一直分片到结尾。
  • 当step的值为负时,省略lower意味着从结尾开始分片,省略upper意味着一直分片到开头。
  • 当给定的upper超出字符串的长度(注意:因为不包含upper,所以可以等于)时,Python并不会报错,不过只会计算到结尾。

Python列表和元组

列表(list)

空列表可以用 [] 或者 list() 生成

列表的常见操作
  • 长度:用len查看列表长度
  • 加法: 相当于将两个列表按顺序连接
  • 乘法:列表与整数相乘,相当于将列表重复相加
索引和分片
添加元素
  • append:向列表添加单个元素,l.append(ob) 将元素 ob 添加到列表 l 的最后。append 每次只添加一个元素,并不会因为这个元素是序列而将其展开
  • extend: 向列表添加序列元素
    l.extend(lst) 将序列 lst 的元素依次添加到列表 l 的最后,作用相当于 l += lst。
    insert: 插入元素,l.insert(idx, ob) 在索引 idx 处插入 ob ,之后的元素依次后移。
删除元素
  • del:根据下标进行删除
  • pop:弹出元素,l.pop(idx) 会将索引 idx 处的元素删除,并返回这个元素。未指定 idx 时,默认为列表最后一个元素。
  • remove:根据元素的值进行删除,l.remove(ob) 会将列表中第一个出现的 ob 删除,如果 ob 不在 l 中会报错。
测试从属关系
  • in 来看某个元素是否在某个序列(不仅仅是列表)中;用not in来判断是否不在某个序列中。
  • index 查找某个元素在列表中的位置:l.index(ob) 返回列表中元素 ob 第一次出现的索引位置,如果 ob 不在 l 中会报错。
  • count 查找列表中某个元素出现的次数
修改元素

修改元素的时候,要通过下标来确定要修改的是哪个元素,然后才能进行修改

排序
  • sort方法将 list 按特定顺序重新排列,默认为由小到大,参数 reverse=True 可改为倒序,由大到小
  • 如果不想改变原来列表中的值,可以使用 sorted 函数
列表反向
  • l.reverse() 会将列表中的元素从后向前排列。
  • 如果不想改变原来列表中的值,可以使用分片
可变类型和不可变类型

列表是可变的

  • 通过索引改变
  • 通过方法改变

字符串是不可变的

  • 通过索引改变会报错
  • 字符串方法只是返回一个新字符串,并不改变原来的值
  • 如果想改变字符串的值,可以用重新赋值的方法
    在这里插入图片描述

元组(tuple)

基本操作
  • 与列表相似,元组Tuple也是个有序序列,但是元组是不可变的,用()生成。
  • 可以索引,切片
  • 但是元组是不可变的
单个元素的元组生成

由于()在表达式中被应用,只含有单个元素的元组容易和表达式混淆,所以采用下列方式定义只有一个元素的元组a = (10, )

元组方法

由于元组是不可变的,所以只能有一些不可变的方法,例如计算元素个数 count 和元素位置 index ,用法与列表一样。


Python字典和集合

字典是一种可变容器,且可存储任意类型对象。
字典的每个键值 key=>value 对用冒号 : 分割,每个键值对之间用逗号 , 分割,整个字典包括在花括号 {} 中。
键一般是唯一的,如果重复最后的一个键值对会替换前面的,值不需要唯一。
集合是一个无序的不重复元素序列。

字典(dict)

字典 dictionary ,在一些编程语言中也称为 hash , map ,是一种由键值对组成的数据结构。

基本操作
  • 空字典

使用 {} 或者 dict() 来创建一个空的字典 有了dict之后,可以用索引键值的方法向其中添加元素,也可以通过索引来查看元素的值

  • 初始化字典
    1.通常的定义方式
    2.dict()转化生成字典
  • 字典没有顺序
  • 键必须是不可变的类型
  • 适合做键的类型
    1.在不可变类型中,整数和字符串是字典中最常用的类型;而浮点数通常不推荐用来做键(精度问题)
    2.可以使用元组作为键值,元组是有序的,因此 (‘New York’, ‘Austin’) 和 (‘Austin’, ‘New York’) 是两个不同的键
  • 字典方法
    get方法:返回字典中键 key 对应的值,如果没有这个键,返回 default 指定的值(默认是 None )
    d.get(key, default = None)
    pop方法删除元素:pop 方法可以用来弹出字典中某个键对应的值,同时也可以指定默认参数
    d.pop(key, default = None)
    del 函数可以用来删除字典中特定的键值对
    update方法更新字典:可以通过索引来插入、修改单个键值对,但是如果想对多个键值对进行操作,则用update方法
    d.update(newd)
    in查询字典中是否有该键
    keys 方法:返回一个由所有键组成的列表
    d.keys()
    values 方法:返回一个由所有值组成的列表
    d.values()
    items 方法:返回一个由所有键值对元组组成的列表
    d.items()

集合(set)

集合 set 是一种无序的序列。
因为集合是无序的,所以当集合中存在两个同样的元素的时候,Python只会保存其中的一个(唯一性);同时为了确保其中不包含同样的元素,集合中放入的元素只能是不可变的对象(确定性)。

集合生成
  • 可以用set()函数来显示的生成空集合
  • 可以使用一个列表来初始化一个集合
  • 集合中的元素是用大括号{}包含起来的,这意味着可以用{}的形式来创建集合
集合操作

  • 两个集合的并,返回包含两个集合所有元素的集合(去除重复)
    可以用方法 a.union(b) 或者操作 a | b 实现

  • 两个集合的交,返回包含两个集合共有元素的集合
    可以用方法 a.intersection(b) 或者操作 a & b 实现

  • a 和 b 的差集,返回只在 a 不在 b 的元素组成的集合
    可以用方法 a.difference(b) 或者操作 a - b 实现
  • 对称差
    a 和b 的对称差集,返回在 a 或在 b 中,但是不同时在 a 和 b 中的元素组成的集合
    可以用方法 a.symmetric_difference(b) 或者操作 a ^ b 实现(异或操作符)
  • 包含关系
    判断 b 是不是 a 的子集,可以用 b.issubset(a) 方法,或者更简单的用操作 b <= a
    也可以用 a.issuperset(b) 或者 a >= b 来判断

方法只能用来测试子集,但是操作符可以用来判断真子集

集合方法

add 方法向集合添加单个元素
s.add(a)
update 方法向集合添加多个元素
s.update(seq)
remove 方法移除单个元素:如果元素不存在则报错
s.remove(ob)
pop方法弹出元素:由于集合没有顺序,不能像列表一样按照位置弹出元素,所以pop 方法删除并返回集合中任意一个元素,如果集合中没有元素会报错
discard 方法:作用与 remove 一样,但是当元素在集合中不存在的时候不会报错。


Python流程控制

Python 提供了现代编程语言都支持的两种基本流程控制结构分支结构用于实现根据条件来选择性地执行某段代码,可以使用判断语句实现,循环结构用于实现根据循环条件重复执行某段代码,可以使用循环语句实现。

基本用法

if条件语句判断

虽然都是用 if 关键词定义判断,但与C,Java等语言不同,Python不使用 {} 将 if 语句控制的区域包含起来。Python使用的是缩进方法。同时,也不需要用 () 将判断条件括起来。

  • 同一个代码块使用同样的缩进值
  • 不同的缩进值表示不同的代码块
  • 一个完整的 if 结构,条件后的 : 是必须要的,缩进值需要一样
`if <condition 1>:
	 <statement 1>
	 <statement 2>
elif <condition 2>: 
	 <statements>
else:
	 <statements>`
  • elif 的个数没有限制,可以是1个或者多个,也可以没有。
  • else 最多只有1个,也可以没有。
  • 可以使用 and , or , not 等关键词结合多个判断条件
值的测试

Python不仅仅可以使用布尔型变量作为条件,它可以直接在if中使用任何表达式作为条件。
大部分表达式的值都会被当作True,但以下表达式值会被当作False:

  • False
  • None
  • 0
  • 空字符串,空列表,空字典,空集合

循环

while循环
while <condition>:
    <statesments>

Python会循环执行<statesments>,直到<condition>不满足为止。

for循环
for <variable> in <sequence>:
    <indented block of code>

for 循环会遍历完中所有元素为止

continue语句

遇到 continue 的时候,程序会返回到循环的最开始重新执行。

break语句

遇到 break 的时候,程序会跳出循环,不管循环条件是不是满足

else语句

与 if 一样, while 和 for 循环后面也可以跟着 else 语句,不过要和break一起连用。

  • 当循环正常结束时,循环条件不满足, else 被执行
  • 当循环被 break 结束时,循环条件仍然满足, else 不执行
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值