做漏洞复现时,都会用到python来编写

python

python的安装

python的安装

下载安装.
装稳定版,executable那个

在这里插入图片描述

python的使用

python的启动方法
1.命令行启动python编译器
win窗口键+r键 --输入cmd
MB=8*Mb
右键-编辑-标记-左键-可复制粘贴
2^32=4294967296 Mb=4194304 MB=4 GB //32位计算机的内存最大的内存为4G

进入cmd命令行
输入python
进入python
退出exit()

python的输出

普通输出

print(“A")

概念python中如何获取函数的帮助信息
换行功能实际上是print函数自带的,如何将这个功能关闭

help(print)  //查看print的功能
print(...)
    print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)  //value是输出的值,后面的是默认的参数

print("   ",end="")  //关闭换行, 自己设置参数为空,就不会按照默认的参数走了

字符串的拼接

print(" A "+" B ")  //拼接输出的A和B

print("A"*10)//输出的A变十倍

python的输入

设计程序运行,屏幕上输出
请输入你的名字:allen
欢迎allen用户登录
python2的输入 使用raw_input(“字符串”)

赋变量

input() 函数实现输入

name = input("请输入你的名字:")
print("欢迎"+name+"登录")

if语句

用户身份验证

if语句 条件判断
if 条件:
子语句(子语句一定要有四个缩进空格,条件成立执行)
else:
子语句(当条件不成立的时候才会执行)


条件语句中的几个特殊语句
and 并且 (两个条件必须同时成立)
or 或者(两个条件只需满足其中一个,条件就成立)
not 条件取反


== 判断是否相等
> 大于
<小于
!=不等于
>=
<=

类型转换
例转换成int
int(input("xxxxx"))
name = input("请输入你的名字:")
password=input("请输入密码:")

if name == "tom" and password == "123456":
    print("yes")
else:
    print("no")

变量名称的定义

变量=赋值(赋值类型)
变量名称的定义
1,不能以数字开头
2,变量名称不能包含特殊符号(_下划线除外)
3,变量名称区分大小写
4,关键字不能作为变量名称
‘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’
5.内建函数不能作为变量名称使用
内建函数(python内已经定义好的函数)
在使用内建函数做变量名时,会使内建函数失去其本来的功能
用del(被用作变量名的内建函数)
区分内建函数的方法
1.在python编译器中,内建函数会呈紫色
2.查看官方帮助手册,去安装目录里面找,也可以在

在这里插入图片描述
新建一个python文件,用IDLE打开,可以在里面找到帮助文档
搜built-in就是内建

字符串赋值

字符串变量中包含索引值
astr = “python”
print(astr[5])
print(astr[0,1]) #报错
print(astr[0:2]) #显示0-2位的数值 变量[脚标的起始位置:脚标的结束位置]
print(astr[6]) 报错
print(astr[0:1000]) #起始位不可以超出范围。结束位可以,此时会输出全部内容
print(astr[0:1000:2]) #变量[脚本的起始位置:脚标的结束位置:步长值],会根据步长值显示,例步长值为2时,会两个两个的显示数值,中间那个数值就不显示了
print(astr[-1]) #取最后一位
#print(astr[-7]) 报错
print(astr[-1:-1000:-1]) #反向取值字符串
print(astr[:]) #整体正向取值
print(astr[::-1]) #整体反向取值

常见的赋值类型

数字,列表,元组,字典

列表

alist=[“tom”,“jerry”]
特点:[ ]在中括号中可以写入不同类型的数据,每个值直接用逗号分隔,支持角标取值。

元组

blist=("“tom”,“jerry”)
特点:()取值方式基本和列表相同

字典

clist={“tom”:“123”,“jerry”:“456”}
特点:{ } 字典没有索引值 键值对来取值 {“key”:“value”}
判断方法
“tom” in clist //对的
“123” in adict //错的,因为123并不是键,是值
“123” ==clist[“tom”] //键为tom时的值是否等于123
例子

userdict = {"tom":"123","jerry":"456","lisa":"789"}
 
username = input("请输入用户名:")
password = input("请输入密码:")
 
if username in userdict and password == userdict[username]:
    print("欢迎"+username+"登录")
else:
    print("你输入的用户名或密码有误")

不同类型中包含的属性

数字 字符串 元组 列表 字典
不同的类型有不同的属性
注:元组和列表的不同,元组中的值不可变,不可追加
但是列表中的值可以变,可以追加
数字

例
数字
inta=12
print(type(inta))  //显示出inta的类型
print(dir(inta))  //显示出这个inta的类型所带的属性
print(inta._doc_)  //这个inta变量调用它的_doc_属性
print(inta.bit_length())  //inta调用它的bit_length属性,因为这个属性是个函数,所以要加上()
help(inta.bit_length) //显示这个属性的作用,这里不需要加()

字符串

例
字符串
stra="python"
print(stra.lower())  //全部变成小写
print(help(stra.split))  //显示出split这个属性的用法和作用
print(stra.split("t"))   //显示出这个split属性的作用,以t分割线,分开stra

元组

tuplea=("tom","jerry")
print(tuplea.index("jerry"))  //显示出jerry的索引值

列表

lista=["tom","jerry"]
lista.append("bob")  //追加bob
print(lista)  

字典

dicta={"tom":"123","jerry":"456"}
print(dicta.keys())  //显示出dicta的键
print(dicta.values())  //显示出dicta的值
dicta["tom"]="789"  //让键为tom的值变为789

更多的自己去试试吧

循环语句

模块的调用

import  random
dir(random)  //查看random的属性
help(random.randint)  //查看某属性的用法和作用
random.randint(1,100)  //对1-100的整数的随机选取

循环

while 条件:
循环条件
只要满足循环就会执行

num=0
while num<10:
    num=num+1
    print("hello")

break 和continue语句

循环语句中的两个子语句
break 立即退出循环

num=0
while num<10:
    num+=1
    print(num)
    if num==5:
        break

continue 当该语句被执行时会结束当前循环,继续下一次循环

找出偶数
num=0
while num<10:
    num+=1
    if num%2:   #是奇数的话就会执行continue跳出当前循环
        continue
    print(num)

练习
加法运算练习 10以内的整数和

num=0
nn=0
while num<10:
    num+=1
    nn=num+nn
print(nn)

for循环的应用

for循环
根据变量赋值的次数进行循环
for循环的字符串赋值

for i in "p":  #i是变量,把p赋给i,
    print("hello")  #赋了几次值,就循环几次

for i in "python":  #会把字符串中的数值一个一个的赋给i,所以有一个字符串有六个字符就循环六次
    print("hello")

for循环的列表赋值

for i in ["tom","jerry","bob"]:
    print("hello"+i)

结果 一个字符串赋一次值
hellotom
hellojerry
hellobob

元组和列表差不多,字典也差不多,字典只赋key值
for循环的字典赋值

for i in {"tom":"123","bob":"456"}:
    print("hello"+i)

hellotom
hellobob

让字典也可以显示value值
a={"tom":"123","bob":"456"}
for i in a:
    print("hello"+a[i])  #赋给i的依旧是key值,但是可以根据key值得到对应的value值

hello123
hello456
for i in 10:
    print("hello")  #报错了,for循环不能写整数用于赋值
   
for i in range(10):
    print("hello"+str(i))  #可以

hello0
hello1
hello2
hello3
hello4
hello5
hello6
hello7
hello8
hello9
注:输出1-10时时写成range(1,11)
range(起始位,终止位)
Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐