python基础语法快速复习

本文是针对Python基础语法的快速复习,涵盖了列表的访问、增删改查及比较,元组的不可变特性,字典的创建与操作,集合的元素管理,以及正则表达式的初步应用。适合有一定编程基础的网络安全学习者巩固Python知识。
摘要由CSDN通过智能技术生成

文章目录

目录

文章目录

前言

(一)list

1、访问列表中的数据

1.1 正反索引

1.2   [ start , end , gap]的形式截取字符

2、增删改查

3、Python列表脚本操作符

4、列表比较

5、其他函数&方法

5.1 函数

5.2 Python包含以下方法:

(二)元组(tuple)

小细节:

1、访问元组

   [ start , end , gap]的形式

2、修改元组

3、删除元组

4、元组运算符

5、元组内置函数

(三)Python3 字典

1、创建字典

1.1 使用大括号 { } 创建字典

1.2 使用内建函数 dict() 创建字典

2、访问字典里的值

3、修改字典

4、删除字典元素

(四)Python3 集合

举个栗子:

1、添加元素

1.1 s.add()格式

1.2  s.update( x )

2、移除元素

2.1  s.remove( x )

2.2  s.discard( x )

2.3  s.pop()

(五)Python3 正则表达式

1、re.match函数

总结



前言

        网络安全的学习,需要耐得住,坐得住,这里有关python语言的基础语法不再赘述,有c和javase编程基础的,不到一个星期,即可掌握。如果想要编写POC,只依靠BP这样的工具是远远不够的,通过本次学习,掌握常用的手法,自行编写代码实现渗透。

(一)list


列表的数据项不需要具有相同的类型,创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可

1、访问列表中的数据


1.1 正反索引

         与字符串的索引一样,列表索引从 0 开始,第二个索引是 1,依此类推,通过索引列表可以进行截取、组合等操作。

         索引也可以从尾部开始,最后一个元素的索引为 -1,往前一位为 -2,以此类推。

1.2   [ start , end , gap]的形式截取字符

2、增删改查


namedescription
list.append(object)
del  list[index]
list[index] = value
list[index]

3、Python列表脚本操作符


        列表对 + 和 * 的操作符与字符串相似。+ 号用于组合列表,* 号用于重复列表。

如下所示:

4、列表比较


列表比较需要引入 operator 模块的 eq 方法

# 导入 operator 模块
import operator

a = [1, 2]
b = [2, 3]
c = [2, 3]
print("operator.eq(a,b): ", operator.eq(a,b)) #fasle
print("operator.eq(c,b): ", operator.eq(c,b)) #true

5、其他函数&方法


5.1 函数

函数描述
len(list)列表元素的个数
max(list)返回列表元素的最大值
min(list)返回列表元素的最小值
list(seq)将元组转换为列表

5.2 Python包含以下方法:

方法描述
list.append(obj)在列表末尾添加新的对象
list.count(obj)统计某个元素在列表出现的次数
list.extend(obj)在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
list.index(obj)从列表中找出某个值第一个匹配项的索引位置
list.insert(index,obj)将对象插入列表
list.pop([index=-1])移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
list.remove(obj)移除列表中某个值的第一个匹配项
list.reverse()反向列表中元素
list.sort(key=None,reverse=False)对原列表进行排序
list.clear()清空列表
list.copy()复制列表

(二)元组(tuple)


        Python 的元组与列表类似,不同之处在于元组的元素不能修改。

小细节:

元组中只包含一个元素时,需要在元素后面添加逗号 , ,否则括号会被当作运算符使用:

>>> tup1 = (50)
>>> type(tup1)     # 不加逗号,类型为整型
<class 'int'>

>>> tup1 = (50,)
>>> type(tup1)     # 加上逗号,类型为元组
<class 'tuple'>

1、访问元组


   [ start , end , gap]的形式

tup1 = ('Google', 'Runoob', 1997, 2000)
tup2 = (1, 2, 3, 4, 5, 6, 7 )
 
print ("tup1[0]: ", tup1[0]) 
print ("tup2[1:5]: ", tup2[1:5])

2、修改元组


元组中的元素值是不允许修改的,但我们可以对元组进行连接组合,如下实例:

tup1 = (12, 34.56)
tup2 = ('abc', 'xyz')
 
# 以下修改元组元素操作是非法的。
# tup1[0] = 100
 
# 创建一个新的元组
tup3 = tup1 + tup2
print (tup3)

3、删除元组


元组中的元素值是不允许删除的,但我们可以使用del语句来删除整个元组,如下实例

tup = ('Google', 'Runoob', 1997, 2000)
 
print (tup)
del tup
print ("删除后的元组 tup : ")
print (tup)

4、元组运算符


        与字符串一样,元组之间可以使用 + 号和 * 号进行运算。这就意味着他们可以组合和复制,运算后会生成一个新的元组,不再赘述。

5、元组内置函数


 len,max.min不再赘述,声明一下tuple(iterable)  将可迭代系列转换为元组

	
>>> list1= ['Google', 'Taobao', 'Runoob', 'Baidu']
>>> tuple1=tuple(list1)
>>> tuple1
('Google', 'Taobao', 'Runoob', 'Baidu')

(三)Python3 字典


        字典是另一种可变容器模型,且可存储任意类型对象。

字典的每个键值 key=>value 对用冒号 : 分割,每个对之间用逗号(,)分割,整个字典包括在花括号 {} 中 ,格式如下所示:

d = {key1 : value1, key2 : value2, key3 : value3 }

1、创建字典


1.1 使用大括号 { } 创建字典

 

1.2 使用内建函数 dict() 创建字典

emptyDict = dict()
 
# 打印字典
print(emptyDict)

2、访问字典里的值


把相应的键放入到方括号中,如下实例:

tinydict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
 
print ("tinydict['Name']: ", tinydict['Name'])

3、修改字典


字典添加新内容的方法是增加新的键/值对,修改或删除已有键/值对如下实例:

tinydict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
 
tinydict['Age'] = 8               # 更新 Age
tinydict['School'] = "金友鑫"  # 添加信息
 
 
print ("tinydict['Age']: ", tinydict['Age'])
print ("tinydict['School']: ", tinydict['School'])

4、删除字典元素


能删单一的元素也能清空字典,清空只需一项操作。

显式删除一个字典用del命令,如下实例:

 
tinydict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
 
del tinydict['Name'] # 删除键 'Name'
tinydict.clear()     # 清空字典
del tinydict         # 删除字典

有关内置函数和方法不再赘述。

(四)Python3 集合


        集合(set)是一个无序的不重复元素序列。

        可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。

举个栗子:

>>> basket = {'apple', 'orange', 'apple', 'pear', 'orange', 'banana'}
>>> print(basket)                      # 这里演示的是去重功能
{'orange', 'banana', 'pear', 'apple'}
>>> 'orange' in basket                 # 快速判断元素是否在集合内
True
>>> 'crabgrass' in basket
False

>>> # 下面展示两个集合间的运算.
...
>>> a = set('abracadabra')
>>> b = set('alacazam')
>>> a                                  
{'a', 'r', 'b', 'c', 'd'}
>>> a - b                              # 集合a中包含而集合b中不包含的元素
{'r', 'd', 'b'}
>>> a | b                              # 集合a或b中包含的所有元素
{'a', 'c', 'r', 'd', 'b', 'm', 'z', 'l'}
>>> a & b                              # 集合a和b中都包含了的元素
{'a', 'c'}
>>> a ^ b                              # 不同时包含于a和b的元素
{'r', 'd', 'b', 'm', 'z', 'l'}

1、添加元素


1.1 s.add()格式

>>> thisset = set(("Google", "Runoob", "Taobao"))
>>> thisset.add("Facebook")
>>> print(thisset)
{'Taobao', 'Facebook', 'Google', 'Runoob'}

1.2  s.update( x )

x 可以有多个,用逗号分开。

>>> thisset = set(("Google", "Runoob", "Taobao"))
>>> thisset.update({1,3})
>>> print(thisset)
{1, 3, 'Google', 'Taobao', 'Runoob'}
>>> thisset.update([1,4],[5,6])  
>>> print(thisset)
{1, 3, 4, 5, 6, 'Google', 'Taobao', 'Runoob'}
>>>

2、移除元素


2.1  s.remove( x )

将元素 x 从集合 s 中移除,如果元素不存在,则会发生错误。

>>> thisset = set(("Google", "Runoob", "Taobao"))
>>> thisset.remove("Taobao")
>>> print(thisset)
{'Google', 'Runoob'}
>>> thisset.remove("Facebook")   # 不存在会发生错误
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
KeyError: 'Facebook'
>>>

2.2  s.discard( x )

如果元素不存在,不会发生错误。

>>> thisset = set(("Google", "Runoob", "Taobao"))
>>> thisset.discard("Facebook")  # 不存在不会发生错误
>>> print(thisset)
{'Taobao', 'Google', 'Runoob'}

2.3  s.pop()

随机删除集合中的一个元素

thisset = set(("Google", "Runoob", "Taobao", "Facebook"))
x = thisset.pop()

print(x)

每一次删除的内容都不同,主要原因是set集合是无序的。

(五)Python3 正则表达式


1、re.match函数

        re.match 尝试从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话,match()就返回none

re.match(pattern, string, flags=0)

参数说明:

参数描述
pattern匹配的正则表达式
string要匹配的字符串。
flags标志位,用于控制正则表达式的匹配方式,如图一
图一

 下文继续。


总结

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

@Camelus

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值