Web渗透和杂项学习概况(第二周)5.21

发布时间:2026/5/22 12:43:50

Web渗透和杂项学习概况(第二周)5.21 Python核心语法一、变量与数据类型Python中的变量不需要声明类型直接赋值即可创建变量。Python是动态类型语言同一个变量可以先后赋值为不同类型的数据。基本数据类型包括整数、浮点数小数、字符串用单引号或双引号包裹、布尔值True和False注意首字母大写以及空值None。其中None表示什么都没有常用于初始化变量或表示函数无返回值。类型转换使用内置函数int()将其他类型转为整数str()转为字符串float()转为浮点数bool()转为布尔值。需要注意的是在布尔转换中0、空字符串、空列表、空字典、None都会被转为False其他值都是True。二、容器数据结构列表用方括号定义特点是有序、可变、可包含任意类型元素。列表支持索引访问从0开始、切片操作、追加元素append方法、插入元素insert方法、删除元素remove或pop方法。元组用圆括号定义与列表相似但不可变一旦创建就不能修改。元组通常用于存储不应改变的数据比如函数返回多个值时实际返回的就是一个元组。字典用花括号定义存储键值对键必须是不可变类型字符串、数字、元组值可以是任意类型。字典通过键来访问值添加新键值对直接赋值即可使用get方法可以安全地访问不存在的键而不会报错。集合也用花括号定义但存储的是单一元素而非键值对。集合的特点是无序且元素唯一自动去重。集合支持数学运算并集union或竖线、交集intersection或与符号、差集difference或减号。三、控制流语句条件判断使用if、elif、else结构。if后面跟条件表达式冒号换行后缩进写执行代码。elif是else if的缩写可以有多个。else是可选的前面的条件都不满足时执行。条件表达式可以使用比较运算符等于用双等号不等于用感叹号加等号、逻辑运算符and、or、not来组合多个条件。for循环用于遍历可迭代对象列表、元组、字符串、字典、范围等。常用的range函数生成数字序列可以指定起始、结束和步长。遍历列表时如果需要同时获取索引和值可以用enumerate函数。遍历字典可以用items方法同时获取键和值。while循环在条件为真时重复执行适用于不确定循环次数的场景。循环体内可以使用break语句提前跳出整个循环使用continue语句跳过本次循环剩余代码、直接进入下一次循环。四、函数定义与使用函数用def关键字定义后面跟函数名和圆括号圆括号内可以定义参数冒号后换行缩进写函数体。函数可以返回值使用return语句没有return或return后不加值则返回None。参数可以有默认值在定义时用等号赋值调用时如果不传该参数则使用默认值。默认参数需要注意不要使用可变对象如列表、字典作为默认值否则会产生意外行为。可变参数有两种星号args接收任意多个位置参数将它们打包成元组双星号kwargs接收任意多个关键字参数将它们打包成字典。这两种可以配合使用但星号参数必须在双星号参数之前。lambda表达式用于创建简单的匿名函数只能写一行表达式自动返回表达式的结果。常用于需要传入函数作为参数的场景比如sort方法的key参数。五、列表推导式列表推导式是一种从可迭代对象创建列表的简洁语法格式是在方括号内写表达式后跟for子句还可以添加if条件进行过滤。它的执行逻辑是遍历右边的可迭代对象对每个元素执行表达式如果写了if条件则只有满足条件的元素才被执行所有结果组成新列表。除了列表推导式还有字典推导式花括号内写键值对表达式、集合推导式花括号内写单一表达式。注意圆括号写的是生成器表达式不是元组推导式元组不可变且没有推导式语法。六、文件操作打开文件使用open函数第一个参数是文件路径第二个参数是打开模式r为只读默认w为写入会覆盖原有内容a为追加在文件末尾添加b为二进制模式如rb、wb。建议指定encoding参数如utf-8来处理中文。推荐使用with语句打开文件with会在代码块结束后自动关闭文件即使发生异常也会正确关闭。读文件可以用read方法读取全部内容readlines方法按行读取成列表或者直接遍历文件对象逐行读取。写文件用write方法写入字符串或者用print函数的file参数写入。七、异常处理异常处理使用try-except结构try块中放置可能出错的代码except块捕获并处理异常。可以指定捕获特定类型的异常也可以使用多个except处理不同异常。Exception是所有内置异常的基类捕获它会抓到几乎所有的异常。else子句在try块没有发生异常时执行通常用于放置依赖try块成功执行的代码。finally子句无论是否发生异常都会执行通常用于释放资源如关闭文件、释放锁。使用raise语句可以主动抛出异常后面跟异常类的实例或异常类本身。自定义异常通常继承Exception类。八、常用内置函数len函数返回对象的长度元素个数。type函数返回对象的类型。range函数返回一个不可变的数字序列常用于for循环它不会一次性生成所有数字而是按需产生节省内存。zip函数将多个可迭代对象中对应的元素打包成元组返回一个迭代器当最短的可迭代对象耗尽时停止。常用于同时遍历多个列表。map函数将同一个函数应用于可迭代对象的每个元素返回迭代器。filter函数用函数过滤可迭代对象只有函数返回True的元素才保留。sorted函数返回排序后的新列表不改变原列表可以通过reverse参数控制升序降序key参数指定排序依据。sum、max、min分别用于求和、求最大值、求最小值。九、字符串常用操作字符串是不可变的序列所有方法都返回新字符串而不修改原字符串。strip方法去除字符串两端的空白字符包括空格、换行、制表符。upper和lower分别转为全大写和全小写。replace方法替换子串第一个参数是要被替换的旧子串第二个参数是替换成的新子串可以指定替换次数。split方法按分隔符将字符串拆分成列表默认按空白字符拆分。join方法将可迭代对象中的字符串用指定分隔符连接成一个新字符串注意join是由分隔符调用、传入可迭代对象作为参数。f-string是格式化字符串的便捷方式在字符串前加f花括号内写变量名或表达式会直接被替换为它们的值。还可以在花括号内指定格式化选项如保留小数位数等。十、其他重要语法点注释单行注释以井号开头多行注释实际上是用三个双引号或单引号包裹的多行字符串Python会忽略未被赋值给变量的字符串。比较运算符等于用双等号比较值是否相等不等于用感叹号加等号。需要注意的是赋值用单等号比较相等用双等号不要混淆。逻辑运算符and与、or或、not非。Python支持短路求值即and左侧为False时不再计算右侧or左侧为True时不再计算右侧。成员运算符in用于检查一个元素是否存在于容器中列表、元组、字典的键、集合、字符串的子串not in用于检查是否不存在。身份运算符is用于比较两个变量是否指向同一个对象比较内存地址而双等号比较值是否相等。对于整数和小字符串Python有缓存机制但不要依赖这个特性判断是否为None时通常用is None。三元表达式值1 if 条件 else 值2如果条件为真返回值1否则返回值2。这是写在一行的简洁条件判断。缩进Python使用缩进来表示代码块不依赖花括号或end关键字。同一个代码块内的语句必须有相同的缩进层级通常使用4个空格。缩进错误会导致IndentationError。

相关新闻