python复习加总结

本文详细总结了Python编程的基础知识,包括字符串、列表、元组、字典的操作,如字符串的首字母大写、大小写转换、合并、切片;列表的添加、删除、排序、切片、复制;元组的不可变特性;字典的增删查改;还涵盖了函数的使用、类和对象的概念、递归和装饰器等高级话题。此外,还讨论了列表推导式、字典推导式等高效编程技巧,以及正则表达式的应用。
摘要由CSDN通过智能技术生成

1,字符串:

name="ada lovelace"

  • 首字母大写 name.title()
  • 全部转化为大写 name.upper()
  • 全部转化为小写 name.lower()
  • 合并字符串 "hello" + name

name=" ada lovelace "

  • 删除结尾空白:name.rstrip()
  • 删除开头空白:name.lstrip()
  • 删除开头和结尾空白:name.strip()

str():

age=23

  • message="happy"+age+"rd birthday!" #有错误
  • message="happy"+str(age)+"rd birthday!" #正确形式

2.列表

color=['red','yellow','blue',black]

  • 访问列表元素:color[0]  #下标从 0开始,不是从1开始
  • 修改列表中的元素:color[1]="green"
  • 在列表中添加元素:color.append("white")
  • 在列表中插入元素:color.insert("orange")
  • 从列表中删除元素:del color[0]
  •   color.pop() #删除最后尾部的列表中的元素
  •   color.pop(1) #删除指定位置上的元素
  •   color.remove("red")

列表排序:

  •   使用sort()方法对列表进行永久性排序:color.sort(recerse=True)
  •   使用sorted()方法对列表进行临时排序:
  •     print(color)
  •         print(sorted(color))
  •     print(color)
  • 倒序打印列表:print(color.reverse())
  • 确定列表的长度:len(color)
  • 循环遍历整个列表:
  •   for c in color:
  •     print(c)

数值列表 

  •   range()函数
  •     for value in rang(1,4): #从1开始到4结束
  •       print(value)
  •   创建数值列表:
  •     number=list(range(1,11,2))
  •   统计数值列表中的最大值:max(number)
  •   统计数值列表中的最小值:min(number)
  •   统计数值列表中的值的和:sum(number)
  •   数值列表的demo:
  •     squares=[value**2 for value in range(1,11)]
  •     print(squares)

使用列表中的一部分--切片

  •   print(color[0:3]) #从索引位置0开始到索引位置3结束  
  •   print(color[-3:]) #从索引位置倒数第三个到最后
  • 遍历切片:
  •    for c in color[:3]:
  •     print(c)

复制列表:  

  •   color1=color[:]#此时color和color1两个不是同一个列表,只是列表中的元素相同
  •   color1=color#此时color和color1两个是同一个列表

3 元组:

  •  元组和列表的区别在于:列表可以改变列表元素,而元组不可以
  •  在外形上的区别是:元组是用小括号标识,列表是用中括号标识 

定义元组:

  dimensions=(200,50)

  print(dimensions[0])

遍历元组中的所有值:

  for dimension in dimensions:

    print(dimension)

修改元组变量:  

  dimensions=(200,50)

  for dimension in dimensions:

    print(dimension)

  dimensions=(200,55)

  for dimension in dimensions:

    print(dimension)

4.字典

  • 字典是一系列的键值对:alient_0={"color":"red","points":"5"}
  • 访问字典中的值:alient_0["color"]
  • 添加键值对:alient_0["x_posisiotn"]=25
  • 修改字典中的值:alient_0["color"]="yellow"
  • 删除键值对:del alient_0["color"]
  • 由类似对象组成的字典:
  •    alient_0={
  •     "color":"red",
  •     "points":"5"
  •    }
  • 遍历字典中所有的键值对:for key,value in alient_0.items():
  • 遍历字典中的所有的键:for name in alient_0.keys(): 或 for name in alient_0:
  • 按顺寻遍历字典中的所有的键:for name in sorted(alient_0.keys()):
  • 遍历字典中的所有值,用set集合来去重:for name in set(alient_0.vlaues()):

字典和字典,字典和列表,列表和列表,可以嵌套使用。。。

5函数

  • 当列表作为函数的参数时,为了不改变列表的值,可以使传递的参数是列表的副本:function_name(list_name[:])
  • 传递任意数量的参数:def make_pizza(*toppings)
  • 结合使用位置实参和任意数量实参:def make_pizza(size,*toppings)
  • 使用任意数量的关键字实参:def make_pizza(first,last,*toppings)

函数和模块:模块为扩展名为.py的文件,函数位于模块中

  • 导入整个模块:import pizza
  •        pizza.make_pizza(12,"apple")
  • 倒入特定的函数:from pizza import make_pizza
  • 使用as给函数指定别名:from module_name import function_namr as fn
  • 使用as给模块指定别名:import module_name as mn
  • 导入模块中的所有函数:from pizza import *

6类

__init__()类似于java中的构造方法,形参self必不可少,还必须放在其他的形参的前边。为何必须在方法定义中包含形参self呢? 因为Python调用这个__init__() 方法来创建Dog 实例时, 将自动传入实参self 。 每个与类相关联的方法调用都自动传递实参self , 它是一个指向实例本身的引用, 让实例能够访问类中的属性和方法。 我们创建Dog 实例时, Python将调用Dog 类的方法__init__() 。 我们将通过实参向Dog() 传递名字和年龄; self 会自动传递,因此我们不需要传递它。 每当我们根据Dog 类创建实例时, 都只需给最后两个形参( name 和age ) 提供值。

之前总结的直接搬过来了,嘻嘻嘻

Python list列表 定义格式 a=[1,2,'X'] 修改 a[1]=3 添加 append()

会在后面直接插入元素 元素如果是个地址(如列表),会直接不进行拆分直接添加地址

extend()

会在后面直接插入元素 元素如果是个地址(如列表),会进行拆分并逐个添加地址内元素

a3=[1,2] a4=[1,3] a4.extend(a3) print(a4)#[1, 3, 1, 2] a5=[1,5] a4.append(a5) print(a4)#[1, 3, 1, 2, [1, 5]] 但是 如内元素内依然有地址则不会拆分

a2=[1,2] a3=[1,a2] a4=[1,3] a4.extend(a3) a4.extend(a3) print(a4)#[1, 3, 1, [1, 2]] 删除 pop()

输入角标 删除指定角标处元素

如不输入删除最后一个

a1=[1,2,1,3,1,3] a1.pop(0) print(a1)#[2, 1, 3, 1, 3] a1.pop() print(a1)#[2, 1, 3, 1] remove()

删除指定元素 如有多个删除第一个

a2=[1,2,1,3,1,3] a2.remove(1) print(a2)[2, 1, 3, 1, 3] 切块 arr[X:Y]获取列表中从x到y(有x无y)中的元素

a1[1:3] 获取地址 id(a1) 复制 直接使用等于获取的是地址

修改列表时原列表也会发生改变

用copy方法获取的是新的指针方向

但是如果列表内嵌套了列表

修改 嵌套内的列表时 原列表也会发生改变

属于浅copy

a3=[1,2] a4=[1,a3] print(a4)#[1, [1, 2]] a5=a4.copy() a5[1].append(5) print(a4)#[1, [1, 2, 5]] 使用 deepcopy()方法可进行深copy

即使修改列表内的列表值原列表也不会发生改变

需要导包(from copy import deepcopy)

from copy import deepcopy a6 = deepcopy(a4) a6[1].append(3) print(a6)#[1, [1, 2, 5, 3]] print(a4)#[1, [1, 2, 5]] 遍历 简单列表 例如

list1=[“a”,“b”,“c”,“d”]

for i in list1: print(i)

列表中元素为元组时: 例如

list2=[(“a”,1),(“b”,2),(“c”,3),(“d”,4)]

for x,y in list2: print(x,y) 输出为:

a 1

b 2

c 3

d 4

列表中元素为集合时: 例如:

list3=[{“a”,1},{“b”,2},{“c”,3},{“d”,4}]

for x,y in list3: print(x,y) 输出为&

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值