python学习整理

本文介绍了Python的基础知识,包括数据类型(如列表、元组、集合和字典)、算术和逻辑运算符、字符串操作、文件处理、异常处理、函数、类与对象以及模块的使用。特别强调了迭代器、生成器、装饰器的概念,以及它们在Python编程中的应用。此外,还讨论了如何使用正则表达式进行字符串匹配,并提供了collections模块中的一些实用工具如Counter、defaultdict和namedtuple的示例。
摘要由CSDN通过智能技术生成

数据类型

字符宽度:
{:10d} 右对齐 (默认, 宽度为10)
{:<10d} 左对齐 (宽度为10)
{:^10d} 中间对齐 (宽度为10)
例子:输出2个字符宽度为7,且保留2为小数
fahrenheit = 0
print(“Fahrenheit Celsius”)
while fahrenheit <= 250:
celsius = (fahrenheit - 32) / 1.8 # 转换为摄氏度
print("{:7d} {:7.2f}".format(fahrenheit , celsius))
fahrenheit = fahrenheit + 25
List(列表): []
元素的类型可以不相同,它支持数字,字符串甚至可以包含列表,加号 + 是列表连接运算符,星号 * 是重复操作。
元组(tuple): ()
元组(tuple)与列表类似,不同之处在于元组的元素不能修改。
集合(set):
可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。
基本功能是进行成员关系测试和删除重复元素。
字典(dictionary):用 { } 标识,它是一个无序的 键(key) : 值(value) 的集合。
键(key)必须使用不可变类型。在同一个字典中,键(key)必须是唯一的。
字典与列表有相似之处,列表是有序的对象集合,字典是无序的对象集合。两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移(索引)存取。
运算符和表达式
算术运算符:b / a商;b/ / a商的整数部分;b ** a b的a次方;b% a余数
例子:
days = int(input("Enter days: “))
print(“Months = {} Days = {}”.format(*divmod(days, 30)))
divmod(num1, num2) 返回一个元组,第一个是num1和num2相整除得到的值,第二个是num1和num2求余得到的值,然后我们用 * 运算符拆封这个元组,得到这两个值。
关系运算符
赋值运算符
逻辑运算符
位运算符:
符 描述 实例
& 按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0 (a & b) 输出结果 12 ,二进制解释: 0000 1100
| 按位或运算符:只要对应的二个二进位有一个为1时,结果位就为1。 (a | b) 输出结果 61 ,二进制解释: 0011 1101
^ 按位异或运算符:当两对应的二进位相异时,结果为1 (a ^ b) 输出结果 49 ,二进制解释: 0011 0001
~ 按位取反运算符:对数据的每个二进制位取反,即把1变为0,把0变为1 。~x 类似于 -x-1 (~a ) 输出结果 -61 ,二进制解释: 1100 0011,在一个有符号二进制数的补码形式。
<< 左移动运算符:运算数的各二进位全部左移若干位,由 << 右边的数字指定了移动的位数,高位丢弃,低位补0。 a << 2 输出结果 240 ,二进制解释: 1111 0000
'>> '右移动运算符:把”>>"左边的运算数的各二进位全部右移若干位,>> 右边的数字指定了移动的位数 a >> 2 输出结果 15 ,二进制解释: 0000 1111
成员运算符:用来判断元素是否为字符串、列表或元组中的成员。
运算符 描述 实例
in 如果在指定的序列中找到值返回 True,否则返回 False。 x 在 y 序列中 , 如果 x 在 y 序列中返回 True。
not in 如果在指定的序列中没有找到值返回 True,否则返回 False。 x 不在 y 序列中 , 如果 x 不在 y 序列中返回 True。
身份运算符:身份运算符用于比较两个对象的存储单元
运算符 描述 实例
is is 是判断两个标识符是不是引用自一个对象 x is y, 类似 id(x) == id(y) , 如果引用的是同一个对象则返回 True,否则返回 False
is not is not 是判断两个标识符是不是引用自不同对象 x is not y , 类似 id(a) != id(b)。如果引用的不是同一个对象则返回结果 True,否则返回 False。
注: id() 函数用于获取对象内存地址。
类型转换
类型转换函数 转换路径
float(string) 字符串 -> 浮点值
int(string) 字符串 -> 整数值
str(integer) 整数值 -> 字符串
str(float) 浮点值 -> 字符串
数据结构操作
列表:
a.append(45)#添加元素45到列表末尾。
a.insert(0, 111) # 在列表索引 0 位置添加元素 111
a.count(45)#返回列表元素中45的数量。
a.remove(234)#移除指定值
a.reverse()#反转a整个列表。
a.extend(b) # 添加 b 的元素而不是 b 本身,还有一种简单的方法,直接用“+”连接
a.sort()#列表排序
del a[-1]#删除指定位置的列表元素。
a.pop()#实现栈先进后出
a.pop(0)#实现队列先进先出
元祖:可以对任何一个元组执行拆封操作并赋值给多个变量,元组是不可变类型,这意味着你不能在元组内删除或添加或编辑任何值。
集合:集合是一个无序不重复元素的集。基本功能包括关系测试和消除重复元素。
a - b # a 有而 b 没有的字母
a | b # 存在于 a 或 b 的字母
a & b # a 和 b 都有的字母
a ^ b 等价于(a | b) -(a & b) # 存在于 a 或 b 但不同时存在的字母
a.add(‘c’)#集合中添加元素
a.pop()#集合中弹出元素
字典:同一个字典内的键必须是互不相同的。
data[‘parthan’] = ‘Ubuntu’#创建新的键值对
del data[‘kushal’]#删除任意指定的键值对
‘ShiYanLou’ in data#使用 in 关键字查询指定的键是否存在于字典中
dict() 可以从包含键值对的元组中创建字典:
dict(((‘Indian’,‘Delhi’),(‘Bangladesh’,‘Dhaka’)))
{‘Indian’: ‘Delhi’, ‘Bangladesh’: ‘Dhaka’}
for x, y in data.items():#遍历一个字典,使用字典的 items() 方法
dict.setdefault(key, default)#判断这个元素是否存在,不存在则创建一个默认值。

>>> data = {
   }
>>> data.setdefault('names', []).append('Ruby')
>>> data
{
   'names': ['Ruby']}
>>> data.setdefault('names', []).append('Python')
>>> data
{
   'names': ['Ruby', 'Python']}
>>> data.setdefault('names', []).append('C')
>>> data
{
   'names': ['Ruby', 'Python', 'C']}
dict.get(key, default) 来索引键,如果键不存在,那么返回指定的 default 值
遍历列表(或任何序列类型)的同时获得元素索引值,你可以使用 enumerate()>>> for i, j in enumerate(['a'
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值