百度建站多少钱,如何使用网站模板,做交互的网站,建网站 企汇网本文主要是总结各函数#xff0c;简单的函数不会给予示例#xff0c;如果在平日遇到一些新类型将会添加
基础知识
输入与输出
print([要输出的内容])输出函数
input([提示内容]如果输入提示内容会在交互界面显示#xff0c;用以提示用户)输入函数
注释
#
单行注释符简单的函数不会给予示例如果在平日遇到一些新类型将会添加
基础知识
输入与输出
print([要输出的内容])输出函数
input([提示内容]如果输入提示内容会在交互界面显示用以提示用户)输入函数
注释
#
单行注释符加在语句后面或者单独为一行均不会被python程序解释
三引号eg.
多行注释这里与字符区分就是仅用三引号引起来而不赋值这就仅是一个注释
变量
变量就是一个名字需要先定义或者赋值再使用。变量的命名要符合标识符的命名规范标识符相当于名字包括变量名/函数名/类名
标识符的命名规范
可以由字母数字数字不能作为标识符的开头下划线组成区分大小写不能使用关键字和保留字 关键字if,while,for,as,import 保留字input,print,range 没有长度限制最好是能根据名字明白意思eg.数字就用num或者number大小写: 1. 包名全小写例如 time ; 2. 类名每个单词的首字母大写其他的小写简称大驼峰命名例如 HelloWorld 3. 变量名/函数名:第一个单词的首字母小写后面的单词的首字母大写简称小驼峰命名例如 helloWorld 4. 常量全大写例如 HELLO 。 数据类型分类
整型整数int浮点型小数float复数包含实数也包含虚数complex(real[,imag]){这里的real是复数的实部imag是复数的虚部}字符串字符 str 表现形式‘xxx’“xxx”xxx,xxx布尔类型bool返回值分为FlaseTure。1为真0为假None是一个单独的数据类型标识空或者不存在的值。若将变量赋值为None标识该变量没有实际的值 不存在的值如果一个变量尚未赋值或其值是未知的则将它设置为 None。 空集合None 可以用于表示空集合、空列表或空字典。 函数返回值当函数没有要返回的明确值时可以使用 None 作为返回值。 列表元组字典集合(这四个类型后续详讲
类型转换仅常见的
字符串转数字
intstr[转为整数] / floatstr[转为浮点数]
其中的str只可以由数字组成
浮点型与整型互换
浮点转整型
int(float) 直接去掉小数部分保留整数部分
整型转浮点型
floatint未表明精确度默认为一位小数
数字转字符
str(int)[整型转字符] / strfloat[浮点转字符] 获取类型
type()函数
type(对象[可以先将对象赋值给一个变量再type也可以直接将对象放在圆括号中]) type()函数返回的是对象的类型 a123type(a)
class int type([1,23,4,5])
class list
如果不是在交互型中的仅仅只是一个type()不会有输出所以我们需要print()配合嵌套使用即print(type(对象))或者将type对象赋值给一个变量再print变量
isinstance()函数
isinstance(对象,class)class是种类的意思
返回的值是布尔值即这个函数是自己猜测类型再用这个函数来确定类型是否正确这个函数不常用
运算符
一般运算符
加 -减 *乘 /除
// 整除去掉小数部分 %取模或者说是取余**幂运算
比较运算符
返回的是布尔值即False和True
符号意义等于不等于大于小于大于等于小于等于
赋值运算符
简单的赋值符号eg.acv就是将cv的结果赋值给a
变量1[算数运算符]变量2 eg.a5这个等效于aa5。也就是算数运算的简写方法不用重新再赋值而是将算后的结果直接赋值给前面的变量
位运算符
运算符意义/描述按位与运算参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0|按位或运算符只要对应的二个二进位有一个为1时结果位就为1。^按位异或运算符当两对应的二进位相异时结果为1~按位取反运算符将二进制表示中的每一位取反0 变为 11 变为 0。~x 类似于 -x-1右移动运算符把左边的运算数的各二进位全部右移若干位 右边的数字指定了移动的位数左移动运算符运算数的各二进位全部左移若干位由 右边的数字指定了移动的位数高位丢弃低位补0。 成员运算符
判断是不是在序列里
in(在) not in(不在)
身份运算符
判断二者的标识符是不是引用自同一个对象
is是 is not不是
逻辑运算符
and 与 两者同时为真才为真一假为假
or 或 两者任一为真就为真全假为假
not 非 非真非假
注意运算先后 数字运算函数
abs(x) 绝对值函数取x的绝对值
divmod(x,y) 商余函数。表示(x//y,x%y) 二元组形式输出含括号
powx,y[,z]如果仅有x和y就仅仅只是x**yy是指数如果有三个参数就是x**y%z(模幂运算)
round(x[,d])计算保留函数。对x取舍保留d位小数“四舍五入”没有d就四舍五入为整数
max( , , , , )在一堆数中取最大的
min( , , , , )在一堆数中取最小的
字符串操作
len(x)返回字符串x的长度或者组合数据类型的元素个数
str(x)任意类型x转字符类型
chr(x)返回Unicode编码对应的单字符
ordx返回单字符的Unicode编码
range的语法
range(start,end,stepnum)start和end可以为空start就是字符串开始end就是字符串结尾step可以为负数为负就代表反向获取字符
如果是遍历字符串的话
start和end可以是顺次的索引也可以是逆向的索引但是start所索引的字符的位置必须在end所索引的位置之前
for i in range(start,end,step):
tab[语句块]
step如果不设置就表示步长为1直接依次遍历如果有步长就从start到end-1的字符串中提取步长为n的字符
流程控制
条件判断
顺次往下进行不返回进行
if单分支
if [需要进行的条件判断布尔表达式]
一个tab[语句块]
当条件判断后为真就进行语句块的执行
if else双分支
if [布尔表达式条件判断]:
tab[语句块]
else:
tab[语句块]
if条件判断为真就进行if下面的语句块的执行否则执行else的语句块
if elif else多分支
if [条件判断表达式]:
tab[语句块]
elif [条件判断表达式]:
tab[语句块]
.
.
.
elif [条件判断表达式]:
tab[语句块]
else:
tab[语句块]
当if语句为真就执行其下方的语句块后面的判断就不会经历否则就往后进行条件判断直到为真时停【一旦在if或各elif语句实现了判断为真就跳出这个结构直接进行else的语句块以后的程序如果前方的都不满足就执行else的语句块】
条件判断的嵌套使用
s int(input(请输入分数:))
if 80 s 60:print(及格)
elif 80 s 90:print(优秀)
elif 90 s 100:print(非常优秀)
else:print(不及格)if s 50:print(你的分数在60分左右)else:print(你的分数低于50分)循环结构
for循环遍历循环
知道遍历次数或者有需要遍历的对象进行提取其中的东西
range
遍历n次i从0到n-1
for i in range(n)
tab[语句块] 遍历字符串
for i in s:
tab[语句块]
逐一提取字符串s中的字符并赋给i
enumerate()
for index,char in enumerate(x):
tab[语句块] 利用enumerate函数遍历字符串x并获取字符串x的每一个字符及其对应的索引 遍历列表
for item in ls:
tab[语句块] 遍历列表ls里的每一个元素
遍历文件f
for line in f:
tab[语句块] 逐一提取文件f的每一行
whlie循环条件循环
不知道需要循环的次数。条件循环是只要满足条件就一直循环下去知道条件为False后才会结束
while [条件]
tab[语句块] 循环控制
break
跳出最内层的循环仅是跳出当前层的循环外层循环将会继续
continue
结束当前当次的尚未执行的语句但不跳出当前循环。
对于while循环遇continue将返回继续判断循环条件
对于for循环遇continue将返回程序继续遍历下一个元素 for s in dasgfsasdgadgs: if ss: countinue print(s,end) #dagfadgadg for s in dasgfsasdgadgs: if ss: break print(s,end) #da continue与break的区别
continue仅结束本次循环
break直接结束整个循环过程 字符串str
字符串的特点 1. 字符串不可变类型 2. 字符串是可迭代对象 3. 字符串支持索引和切片操作 4. 支持操作符; 字符串的操作 拼接 #字符串a与字符串b连接起来 重复操作符* #将字符串重复 比较运算符 ! 逻辑运算符not and or 成员关系 in not in 字符串的处理 格式化输出
格式化输出有多种表达方式且在日常经常会遇见吗常用的方法有 format 和 $% 。
format
仅有{}占位无下标的对应
顺序是前后对应的
apython
beasy
print({} is {}.format(a,b))
#python is easy
用{}数字小标占位
以format内的顺序为下标来对应前面的数字此处b的下标为1a的下标为1所以就得是ba
apython
beasy
print({1} is {0}.formate(b,a))
#输出python is easy
用{}字母标识符占位
将需要加入的内容在format中写出其标识符在输出字段里占位
print({a} is {b}.format(apython,beasy))
#python is easy
%s
常见的是参数可以为任意值
for i in range(1, 10):for j in range(1, i 1):print(%s * %s %s % (i, j, i * j), end\t)print() 转义字符 \n 换行 \\ 反斜杠 \ 单引号 \ 双引号 \t 制表符 列表(List)
列表是可以存放任何数据包括整型浮点型字符串布尔型等等是常用的数据类型之一。 列表也是一个可迭代对象 1. 普通形式 l [1,2,3,4,5] ---整型列表 l [a,b,c] ---字符串列表 l [True,False,12,56]---布尔列表 2. 混合列表 l [1,2.5,a,True] 3. 空列表 l [] 创建列表
先定义一个空列表再用函数加入元素
l[]
l.append()
列表中含有元素直接创建
l[1,23,43,adf,True]
用list函数
llist(一个组合类型的数据)
获取列表元素
for循环
l[a,1,23,sdf]
for i in l:print(i,end)#a123sdf
下标提取
这个的下标与字符串的相同
l[12,23,354,56]
print(l[1])#23
添加元素 交换元素的位置 l [1, 2, 3, 4, 5] # 下标/索引0开始 l[2], l[3] l[3], l[2] print(l) 改值
l[a:b][希望改后的结果s1‘希望改后的结果s2’.......]#这里的ab是l列表的将被改动的区域的下标,如果后面的不满足前面的个数遵循“多增少减”也就是以后面的为准
删除元素 列表元素重新排序
l.sort(reverseFalse) 默认将列表从小到大排列
字典
字典用于储存数据其中的数据以映射关系存储keyvalue
特点 1. 字典是Python中唯一的映射类型 2. 字典是无序的 3. 字典是可迭代对象 4. 字典的构成 键key 值value 映射键映射值 键-值键值对又叫 项 创建字典
直接创建
d{}
#d{} 空列表
#d {name:不良人,apple:苹果}
dict()函数
ddict() 得到空列表
ddict(key1value1,key2value2...) 得到列表d{key1:value1,key2:value2...}
dict(可迭代对象)
将可以有对应关系的转为字典
d3 dict([(one,1),(two,2)])
print(d3)
#{one:1,two:2}
字典的访问
dict[key]
变量名[键名] #输出键所对应的值
d {name:不良人,apple:苹果}
print(d[name])
#输出不良人
字典的一些处理 1.添加一个键值对 变量名[键名]值 2.修改一个键值对的值 变量名[已有的键名]值 字典的for循环
1. 字典可以使用for循环 for i in d2: print(i) #键不包含值
2. 输出一个键值对 for i in d2.items(): print(i)
3. 成员关系操作符 in/not in 只能查询键
函数
print(r.recvall())
是使用 Python 的 requests 库发送网络请求时用于接收服务器响应的全部内容。
这种在pwn的exp中可以运用到用于连接服务器后将所有都输出
eval()函数 eval() 函数用来执行一个字符串表达式并返回表达式的值。 字符串表达式可以包含变量、函数调用、运算符和其他 Python 语法元素。 语法
eval(expression[, globals[, locals]])expression -- 表达式。globals -- 变量作用域全局命名空间如果被提供则必须是一个字典对象。locals -- 变量作用域局部命名空间如果被提供可以是任何映射对象。 eval() 函数将字符串转换为相应的对象并返回表达式的结果。
注意 eval() 函数执行的代码具有潜在的安全风险。如果使用不受信任的字符串作为表达式则可能导致代码注入漏洞因此应谨慎使用 eval() 函数并确保仅执行可信任的字符串表达式。
自定义函数 函数代码块以 def 关键词开头后接函数标识符名称和圆括号()。任何传入参数和自变量必须放在圆括号中间。圆括号之间可以用于定义参数。函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。函数内容以冒号起始并且缩进。return [表达式] 结束函数选择性地返回一个值给调用方。不带表达式的return相当于返回 None。 def sum(a,b):sumabprint(sum)
sum(3,5)
#输出8
自定义函数后的调用就直接用自己定义的函数名就行了比如上面的例子就是定义了一个函数sum用来求和然后一个sum35实现了调用sum函数并且将3传给形参a5传给形参b
函数运行机制 1. 从函数调用开始执行 2. 通过函数名字找到函数定义的位置创建函数的位置 3. 执行函数体 4. 执行完毕之后返回到函数的调用处 函数变量机制
分为两个变量局部变量和全局变量 1. 局部变量 定义在函数内部的变量 先赋值在使用 从定义开始到包含他的代码结束 在外部无法访问 2. 全局变量 1. 定义在源文件的开头 2. 作用范围整个文件 3. 局部变量和全局变量发生命名冲突时以局部变量优先 3.global 声明全局变量 4.nonlocal 声明局部变量 这里的global需要理清楚
在函数中可以访问全局变量并使用其值。但是如果不对变量进行global宣言则不会改变全局变量的值。
a1
def sum(x):a12print(xa)
sum(3)
print(a)
#15
#1
如果需要在函数中改变全局变量的值需要在函数中先定义global用例如下。
a1
def sum(x):global aa12print(xa)
sum(3)
print(a)
#15
#12
函数的参数 形式参数形参 在定义函数的时候传递的参数 实际参数实参 在调用函数时传递的参数 无参 没有任何参数 地址参数 实参的位置与形参的位置一一对应不能多也不可少这个例子中3和5既是实参也是地址参数 默认参数 给了默认值的参数--形 如果传递了新的值那么默认值就被覆盖了
def sum(a1,b2):sumabprint(sum)
sum()
sum(10,5)
#3
#15
if __name__ __main__:
这个在本次开学考中有所遇见但是当时不太懂现在补一下 用于判断当前运行的脚本是否是主程序而不是被其他脚本导入的模块。这是Python的一种约定俗成的用法用于控制脚本的执行流程。这个条件判断确保了只有当该脚本被直接运行时紧随其后的代码块才会被执行。如果该文件被其他Python脚本通过import语句导入那么这部分代码将不会执行。 通常是先用def函数实现了自定义函数再通过该语句来判断是否为主函数没有被导入其他脚本如果是主函数就执行
def main():print(This is the main program.)if __name__ __main__:main()
例如这个代码只有当这个自定义的main函数没有被导入一个脚本时会被执行 百度安全验证 Python 运算符 | 菜鸟教程