python
特点:
1 解释性语言
2 交互式语言
3 支持面向对象编程
4 初学者语言
基本语法
# -*- coding: utf-8 -*-
#!/usr/bin/python3
#!/bin/sh
python payload.py
chmod +x ./payload.py
./payload.py
直接python xxx.py 不需要声明#!/usr/bin/python3
直接xxx.py 需要声明#!/usr/bin/python3
python 的关键字
['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for',
'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
模块引用
优先选择当前目录下的模块名字
import xxx 会在当前目录找xxx.py 作为模块引入
写第一个pwn脚本 pwn.py
from pwn import *
python的注释
#单行注释
表示字符串
'''
字符串内容
'''
"""
字符串内容
"""
python的数据结构
1 数字 Number
int 1 2 10
bool True
float 1.22 3.14
complex 复数 1+2j 1.1+2.2j
2 字符串 String
'aa'
"aaaa"
'''
aaaaa
'''
r 标志
r'aa\nbb' 取消转义
'aaa'+'bbb'
字符串可以进行乘法
使用下标对字符串引用
a[2:6:2]
从下标为2开始,到下标为6结束,没间隔2个字符取一个
3 列表 List
a[3:5] 包含左边的3 不包含右边的5
使用负数下标,则为倒数第几
列表可以和字符串一样 相加 相乘
4 元组 Tuple
和列表的区别在于 使用()来表示
定义后不能修改
5 集合 Set
数组区别就是 使用{}
使用set() 创建,里面的内容不能重复,如果出现重复,会进行覆盖
支持
a = {1,3,'5',7}
b = set('1234567')
6 字典 Dictionary
data={
"username":"admin",
"password':"123456"
}
python的循环
a={"abbbcccddd":"aaaa"}
for i in a:
print(a[i])
python的函数
def max(a,b):
if a > b:
return a
else:
return b
a = 3
b = 4
print(max(a,b))
匿名函数
x = lambda a,b : a+b
python模块
1 from test import add
2 from test import *
3 import test test.add
Flask
python 的一个中间件 ,负责提供http服务,类似与php 的 php-fpm phpcgi
模板渲染的效果