🏆今日学习目标: 🍀学习python基础 ?创作者:贤鱼 ?预计时间:35分钟 🎉个人主页:贤鱼的个人主页 🔥专栏系列:网络安全
🍀注释
单行注释
🍀基础语法
python代码不需要用==大括号{}==来控制类,函数以及其他的逻辑判断,取而代之的是缩进 举个例子
if(xxx){
xxxxx
}
我们写c语言应该都会这么些,如果xxxxx的缩进没缩好也没关系,但是python不可以
if(xxx)
xxxxxxxx
else
xxxxxxxx
python必须要缩进符合要求,不然就会报错或者运行的乱七八糟
🍀数据类型
5个标准数据类型
numbers(数字): 由int,float,complex三种形式组成
string(字符串): 由数字,字母,下划线资产的一串字符
list[列表]: python中使用最频繁的数据类型
tuple(元组): 另一种数据类型,类似于list(列表)
dictionary{字典}: 除了列表以外python中最灵活的内置数据集结构类型 列表是有序对象集合,字典是无序对象集合
下面来具体介绍
numbers
int | float |
---|
10 | 0.0 | 100 | 15.20 | -786 | -21.9 |
字符串
a=hello,b=python
操作符 | 描述 | 实例 |
---|
+ | 字符串连接 | a+b ‘hello python’ | * | 重复输出字符串 | a*2’hellohello’ | [] | 通过索引获得字符串中字符 | a[0]‘h’ | [:] | 截取字符串中一部分 | a[1:4]‘ell’ | in | 成员运算符—如果包含指定字符返回true | “h” in a true | not in | 成员运算符—如果不包含返回true | "g"not in a true |
字符串常用方法
str.replace(old,new)
str.split(str='')
str.strip()
str.join()
str.startswith()
str.endswith()
str.find(str2)
str.isnumeric()
len(string)
bytes类型.decode()
列表
创建列表
list=['xianyu',"s",'python','yyds',520,1314]
访问列表
list[0]
list[1:3]
添加列表元素
list.append('hahahah')
删除列表元素
del list[1]
元组
创建
tup=('xianyu',"s",'python',666)
xxx=(1,)
访问元素
tup[0]
tup[1:4]
修改,删除元素
元组中元素无法修改 但是可以整合多元组
tup=tup1+tup2
元组中元素也无法删除 但是可以删掉整个元组
del tup
字典
字典的每个键值 key=>value 对用冒号 : 分割,每个键值对之间用逗号 , 分割,整个字典包括在花括号 {} 中
dic = {key1 : value1, key2 : value2 }
键一般是唯一的,值不需要唯一
创建字典
dic={'xianyu':'666','qweqwe':'234234'}
访问字典元素
==通过键值访问
dic['xianyu']
修改字典元素
可以通过找到键的名字来修改元素
dic['xianyu']=520
删除字典元素
del dic['xianyu']
🍀运算符
假设a=10,b=20
算数运算符
运算符 | 描述 | 结果 |
---|
+ | 相加 | 30 | - | 相减 | -10 | * | 相乘 | 200 | / | 相除 | 2 | % | 取余数 | 0 | ** | 返回x的y次幂 | 100000000000000000000 | // | 返回的商向下取整 | |
比较运算符
运算符 | 描述 | 结果 |
---|
== | 比较对象是否相等 | | != | 比较对象是否不相等 | true | > | 大于 | false | < | 小于 | true | >= | 大于等于 | false | <= | 小于等于 | true |
赋值运算符
运算符 | 描述 | 结果 |
---|
= | 赋值 | c = a + b 将 a + b 的运算结果赋值为 c | += | 加法赋值运算符 | c += a 等效于 c = c + a | -= | 减法赋值运算符 | c -= a 等效于 c = c - a | *= | 乘法赋值运算符 | c *= a 等效于 c = c * a | /= | 除法赋值运算符 | c /= a 等效于 c = c / a | %= | 取模赋值运算符 | c %= a 等效于 c = c % a | **= | 幂赋值运算符 | c **= a 等效于 c = c ** a | //= | 取整除赋值运算符 | c //= a 等效于 c = c // a |
逻辑运算符
运算符 | 逻辑表达式 | 描述 | 结果 |
---|
and | x andy | 布尔"与" - 如果 x 为 False,x and y 返回 False,否则它返回 y 的计算值。 | (a and b) 返回20。 | or | x or y | 布尔"或" - 如果 x 是非 0,它返回 x 的计算值,否则它返回 y 的计算值。 | (a or b) 返回10。 | not | not x布尔"非" - 如果 x 为 True,返回 False 。如果 x 为False,它返回 True。 | not(a and b) 返回 False | |
成员运算符
运算符 | 描述 | 结果 |
---|
in | 如果在指定的序列中找到值返回 True,否则返回 False。 | x 在 y 序列中 , 如果 x 在 y 序列中返回True。 | not in | 如果在指定的序列中没有找到值返回 True,否则返回 False。 | x 不在 y 序列中 , 如果 x 不在 y 序列中返回 True。 |
🍀条件控制
python 中 elif代替了else if 所以if关键字
if-elif-else
if condition_1:
statement_block_1
elif condition_2:
statement_block_2
else:
statement_block_3
每个条件后面用冒号,表示接下来满足条件后执行语句 缩进划分语句 没有swich-case语句
🍀循环语句
while
while 判断条件(condition):
else:
for…in…
for <variable> in <sequence>:
<statements>
else:
<statements>
当需要遍历数字序列的时候,可以使用range(),会自动生成数列
🍀函数
格式如下
def 函数名(传参列表):
函数体
调用函数可以使用的正式传参类型
必传参数 关键字参数 默认参数 不定长参数
必须参数实例
def printme( str ):
"打印任何传入的字符串"
print (str)
return
printme()
关键字参数实例
def printinfo( name, age ):
"打印任何传入的字符串"
print ("名字: ", name)
print ("年龄: ", age)
return
printinfo( age=50, name="runoob" )
默认参数实例
def printinfo( name, age = 35 ):
"打印任何传入的字符串"
print ("名字: ", name)
print ("年龄: ", age)
return
printinfo( age=50, name="runoob" )
print ("------------------------")
printinfo( name="runoob" )
不定长参数
def printinfo( arg1, *vartuple ):
print (arg1)
print (vartuple)
printinfo( 70, 60, 50 )
🍀模块
模块是一个包含所有你定义的函数和变量的文件,其后缀名是.py。模块可以被别的程序引入,以使用该 模块中的函数等功能。 想使用 Python 源文件,只需在另一个源文件里执行 import 语句
import module1[, module2[,... moduleN]
🍀第三方库
requests安装
pip install requests
使用方法介绍
请求方式
requests包含多种请求方式:
GET- 请求页面,并返回页面内容 POST- 大多用于提交表单或上传文件,数据包含在请求体中 HEAD- 类似于GET请求,只不过返回的响应中没有具体的内容,用于获取报头 PUT- 从客户端向服务器传送的数据取代指定文档中的内容 DELETE- 请求服务器删除指定的页面 CONNECT- 把服务器当作跳板,让服务器代替客户端访问其他网页 OPTIONS- 允许客户端查看服务器的性能 TRACE- 回显服务器收到的请求,主要用于测试或诊断
基本用法
有get和post请求 get
import requests
params = {
'name': 'Evan',
'age': '24'
}
r = requests.get(url='http://httpbin.org/get',params=params)
print(r.text)
post
import requests
data = {
'name': 'Evan',
'age': '24'
}
r = requests.post(url='http://httpbin.org/post', data=data)
print(r.text)
响应
当我们使用requests请求网页时,会返回一个response,要解析这个response,才能拿到想要的信息 响应是指服务器返回客户端的结果,可以分为三个部分:
响应状态码、响应头、响应体
- 响应状态码表示服务器的响应状态,如 200 代表服务器正常响应, 404 代表页面未找到, 500 代表
服务器内部发生错误。 - 响应头包含了服务器对请求的应答信息,如 Content-Type 、 Server 、 Set-Cookie 等。
- 响应体是最重要的内容,响应的正文数据都是在响应体中,比如请求网页时,它的响应体就是网页的HTML代码,请求一张图片时,它的响应体就是图片的二进制数据
举个例子
response.url
response.status_code
response.headers
response.text
其他用法
常见请求头信息
Accept- 请求报头域,用于指定客户端可接受哪些类型的信息。 Accept-Language- 指定客户端可接受的语言类型 Accept-Encoding- 指定客户端可接受的内容编码 Host- 用于指定请求资源的主机IP和端口号,其内容为请求URL的原始服务器或网关的位置 Cookie- 也常用复数形式Cookies,它的主要功能是维持当前访问会话,服务器会用会话保存登陆 状态信息 Referer- 此内容用来标识这个请求是从哪个页面发过来的,服务器可以拿这一信息做相应的处理, 如做来源统计,放盗链处理等 User-Agent- 简称UA,它是一个特殊的字符串头,可以使服务器识别客户使用的操作系统及版本、 浏览器及版本等信息。在做爬虫时加上此信息,可以伪装为浏览器,如果不加,很可能会被识别出 为爬虫 Content-Type- 也叫互联网媒体类型(Internet Media Type)或者MIME类型,它用来表示具体请 求中的媒体类型信息。例如,text/html代表HTML格式,image/gif代表GIF图片, application/json代表JSON类型等
🔥🏆结束语🔥
后序还会更新相关内容,如果感兴趣的话可以订阅一下专栏点个关注不迷路!!
|