当前位置:首页 » 《随便一记》 » 正文

一文步入python大门,基础教程大全(25分钟)

1 人参与  2022年11月08日 15:29  分类 : 《随便一记》  评论

点击全文阅读


?今日学习目标:
?学习python基础
✅创作者:贤鱼
⏰预计时间:35分钟
?个人主页:贤鱼的个人主页
?专栏系列:网络安全
?贤鱼的个人社区,欢迎你的加入 贤鱼摆烂团

请添加图片描述

python

?注释?基础语法?数据类型numbers字符串列表创建列表访问列表添加列表元素删除列表元素 元组创建访问元素 修改,删除元素字典创建字典访问字典元素修改字典元素删除字典元素 ?运算符算数运算符比较运算符赋值运算符逻辑运算符成员运算符 ?条件控制?循环语句whilefor...in... ?函数?模块?第三方库requests安装使用方法介绍请求方式基本用法响应其他用法 ??结束语?

?注释

#单行注释

?基础语法

python代码不需要用==大括号{}==来控制类,函数以及其他的逻辑判断,取而代之的是缩进
举个例子

if(xxx){ xxxxx}

我们写c语言应该都会这么些,如果xxxxx的缩进没缩好也没关系,但是python不可以

if(xxx)xxxxxxxxelsexxxxxxxx

python必须要缩进符合要求,不然就会报错或者运行的乱七八糟

?数据类型

5个标准数据类型

numbers(数字):
由int,float,complex三种形式组成

string(字符串):
由数字,字母,下划线资产的一串字符

list[列表]:
python中使用最频繁的数据类型

tuple(元组):
另一种数据类型,类似于list(列表)

dictionary{字典}:
除了列表以外python中最灵活的内置数据集结构类型
列表是有序对象集合,字典是无序对象集合

下面来具体介绍

numbers

intfloat
100.0
10015.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) # 将字符串中的 old 替换成 newstr.split(str='') # 以 str 为分隔符截取字符串str.strip() #将开头和结尾的空白符删除str.join() #常用于将列表转换为字符串str.startswith() # 检查字符串是否是以指定字符串开头,是则返回 True,否则返回 Falsestr.endswith() # 检查str是否以指定字符串结尾,如果是,返回 True,否则返回 False.str.find(str2) # 检查str1是否包含在str2中,如果存在,返回索引,不存在返回-1str.isnumeric() # 如果字符串中只包含数字字符,则返回 True,否则返回 Falselen(string) #返回字符串长度bytes类型.decode() # 将bytes类型变量转为string类型

列表

创建列表

list=['xianyu',"s",'python','yyds',520,1314]# 创建一个列表,用逗号分隔数据

访问列表

list[0]list[1:3]

添加列表元素

#使用append()添加元素list.append('hahahah')

删除列表元素

# del删除元素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']# 会删掉键是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

逻辑运算符

运算符逻辑表达式描述结果
andx andy布尔"与" - 如果 x 为 False,x and y 返回 False,否则它返回 y 的计算值。(a and b) 返回20。
orx or y布尔"或" - 如果 x 是非 0,它返回 x 的计算值,否则它返回 y 的计算值。(a or b) 返回10。
notnot 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-elseif condition_1:statement_block_1elif condition_2:statement_block_2else:statement_block_3

每个条件后面用冒号,表示接下来满足条件后执行语句
缩进划分语句
没有swich-case语句

?循环语句

while

while 判断条件(condition):# 当while为真执行的语句else:# 当while为假执行的语句

for…in…

for <variable> in <sequence>:<statements>else:<statements>

当需要遍历数字序列的时候,可以使用range(),会自动生成数列

?函数

格式如下

def 函数名(传参列表):函数体

调用函数可以使用的正式传参类型

必传参数
关键字参数
默认参数
不定长参数

必须参数实例

def printme( str ):"打印任何传入的字符串"print (str)returnprintme()

关键字参数实例

def printinfo( name, age ):"打印任何传入的字符串"print ("名字: ", name)print ("年龄: ", age)returnprintinfo( age=50, name="runoob" )

默认参数实例

def printinfo( name, age = 35 ):"打印任何传入的字符串"print ("名字: ", name)print ("年龄: ", age)returnprintinfo( 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) # 使用GET请求访问print(r.text) # 打印网页的HTML文本

post

import requests# 请求参数data = {'name': 'Evan','age': '24'}r = requests.post(url='http://httpbin.org/post', data=data) # 使用POST请求访问print(r.text)

响应

当我们使用requests请求网页时,会返回一个response,要解析这个response,才能拿到想要的信息
响应是指服务器返回客户端的结果,可以分为三个部分:

响应状态码、响应头、响应体

响应状态码表示服务器的响应状态,如 200 代表服务器正常响应, 404 代表页面未找到, 500 代表
服务器内部发生错误。响应头包含了服务器对请求的应答信息,如 Content-Type 、 Server 、 Set-Cookie 等。响应体是最重要的内容,响应的正文数据都是在响应体中,比如请求网页时,它的响应体就是网页的HTML代码,请求一张图片时,它的响应体就是图片的二进制数据

举个例子

response.url #获取当前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类型等

??结束语?

后序还会更新相关内容,如果感兴趣的话可以订阅一下专栏点个关注不迷路!!

请添加图片描述


点击全文阅读


本文链接:http://zhangshiyu.com/post/47493.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

关于我们 | 我要投稿 | 免责申明

Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1