Python零基础快速入门学习笔记

文章目录

      • 1. 安装python
      • 2. 安装vscode
      • 3. python语法
        • 3.1 流程控制
          • 3.1.1 条件语句
          • 3.1.2 循环语句
        • 3.2 模块与包
          • 3.2.1 模块
          • 3.2.2 包
        • 3.3 数据类型
          • 3.3.1 数字(Number)
          • 3.3.2 字符串(string)
          • 3.3.3 列表(list)
          • 3.3.4 元组(tuple)
          • 3.3.5 集合(set)
          • 3.3.6 字典(dict)
        • 3.4 异常处理
        • 3.5 类、对象、方法
          • 3.5.1 类与对象
          • 3.5.2 成员变量和成员方法
          • 3.5.3 构造方法
          • 3.5.4 Python类内置的类方法:
        • 3.6 面向对象
          • 3.6.1 封装
          • 3.6.2 继承
          • 3.6.3 多态
        • 3.7 文件操作
        • 3.8 变量的类型注解
        • 3.9 操作MySQL
          • 3.9.1 操作步骤
          • 3.9.2 建表
          • 3.9.3 单条插入SQL
          • 3.9.4 批量插入
          • 3.9.5 查询SQL
          • 3.9.6 更新SQL
          • 3.9.7 删除SQL
        • 3.10 操作mongodb
          • 3.10.1 操作步骤
          • 3.10.2 增删改查
        • 3.11 发送http请求
          • 3.11.1 发送post请求 json格式
          • 3.11.2 发送post请求 form-data格式
          • 3.11.2 发送get请求

1. 安装python

官网链接 windows7最高安装版本3.8.10

安装过程选择Add Pytyon 3.8 to PATH,这样就可以在任意路径使用Python了,同时也可以自定义一下Python的安装路径,不建议选在C盘。

Win+R打开命令行界面,输入python --version,会显示Python的版本号,至此Pytyon安装就已经完成。

linux版本python --version,默认的是python3以下的版本,想看python3的版本,需要输入python3 --version

2. 安装vscode

官方链接,直接下载windows版本即可。

下载后选择安装在非C盘,五个框框都勾选,然后一路next即可愉快地进行python编程了。

安装插件:设置–>扩展–>应用商店搜索对应插件

安装Python插件:VS Code官方自带插件

3. python语法

python对缩进要求比较严格,以Tab键或者4个空格进行缩进。与java不同,并没有{}进行代码段的控制,而是通过缩进来控制代码段。虽然java也可省略{},但不推荐。且python末尾的分号“;”可有可无,java必须有。

注释:
单行注释采用#,可以使用ctrl+/快速注释。
多行注释: 以 一对三个双引号 引起来 (“”" “”")来解释说明一段代码的作用使用方法
三引号即能用做 多行注释 又能用做 字符串定义

3.1 流程控制
3.1.1 条件语句

if 语句

age=18
if age>=18:print("成年")

if-else 语句

 age=17if age>=18:print("成年")else:print("未成年")

if-elif-else 语句

age=17
if age>=65:print("老年")
elif age>=35:print("中年")
else:print("青少年")
3.1.2 循环语句

Python支持两种循环语句:while和for。

while循环

    i=0sum=0while i<=10:sum+=ii+=1   print(sum)

for循环
Python中的for比较特殊,只能迭代列表、字符串等任意序列,不能迭代算数递增值,或者定义结束条件。
如果想要跳出循环或者跳过本次循环?使用break/continue ,这与java中保持一致。

    names=['北方有佳人','遗世而独立','一顾倾人城','再顾倾人国']for name in names:print(name)

如果想对数字序列进行迭代就得用到range()函数:

    for i in range(11):print(i)

python定义函数

def printNum(num):print(num);return True;
printNum(10);

def: python中用def关键字定义函数
printNum:函数名
num:函数的形参
print(num):函数体
return True:函数的返回值

3.2 模块与包
3.2.1 模块

一个Python文件,以.py 结尾,能定义函数,类和变量,也能包含可执行的代码

通过函数我们可以实现很多代码的复用,但是所有的函数我们也不能都写在一个文件里,必须拆分文件。文件拆分后,就得用到Python的模块来调用函数。

导入语法:
[from 模块名] import [模块|类|变量|函数|*] [as 别名]
*表示导入所有

常用的组合形式如:
import 模块名
from 模块名 import 类、变量、方法等
from 模块名 import *
import 模块名 as 别名
from 模块名 import 功能名 as 别名

from可以省略,直接import
as别名可以省略
通过”.”来调用模块提供的功能
模块的导入一般写在代码文件的开头位置

新建test.py文件

def printNum(num):print(num);

导入test模块,并调用printNum函数

import test
test.printNum(100)

注意一
在实际开发中,当一个开发人员编写完一个模块后,为了让模块能够在项目中达到想要的效果,开发人员可能会在在py文件中添加一些测试信息。此时,无论是当前文件,还是其他已经导入了该模块的文件,在运行的时候都会自动执行测试信息

# 只在当前文件中运行条件才为True,导入其他文件时均为False
if __name__ == '__main__':
# __main__ 运行时程序的名称
# __name__ 系统自动赋值,不用管
# 在Run时为 __main__ 
# 未Run时为 文件名称

注意二
当导入多个模块的时候,如果模块内有同名功能,且未使用用法一导入形式,后面导入的模块将会覆盖前面模块内同名的功能。

注意三
如果一个模块文件中有__all__变量,当使用from xxx import *导入时,只能导入这个列表中的元素

3.2.2 包

当Python的模块太多了,就可能造成一定的混乱,此时可以通过Python包的功能来管理。

从物理上看,包就是一个文件夹,在该文件夹下包含了一个 init.py 文件,该文件夹可用于包含多个模块文件

从逻辑上看,包的本质依然是模块

自定义包

当我们的模块文件越来越多时,包可以帮助我们分类管理这些模块,包的作用就是包含多个模块,但本质依然是模块。新建包后,包内部会自动创建__init__.py文件,这个文件控制着包的导入行为

导入包

导入包与导入模块几种方式类似,例如:

import 包名.模块名
包名.模块名.功能名()

限制导入

可以在__init__.py文件中添加__all__ = [‘模块名’],控制允许导入的模块列表

与导入模块类似__all__只针对from 包名.模块名 import *而对其他方式无效

安装第三方包
第三方(其他人)开发的,Python没有内置,需要先安装才可以导入使用

如何安装?只需要使用Python内置的pip程序即可

在终端中输入如下指令即可通过网络快速安装第三方包:pip install 包名称

提高安装速度

由于pip是连接的国外的网站进行包的下载,下载速度经常很慢。
我们可以通过如下命令,让其连接国内的网站进行包的安装:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple 包名称
# 网站为清华大学提供的一个网站,可供pip程序下载第三方包
3.3 数据类型

Python是一种面向对象的编程语言,所有的数据类型都是类,每个数据值都是类的“实例”,并且不需要显式声明变量的类型。

在Python中有6种主要的内置数据类型:数字(Number)、字符串(string)、列表(list)、元组(tuple)、集合(set)和字典(dict)。

变量无类型而数据有类型,可使用 type(变量) 查看数据的类型

3.3.1 数字(Number)

Python中常用的数字类型有两种:整数(int)、浮点(float)。

其中/会永远返回浮点数float,Python只支持双精度的浮点数float,返回int需要用//

int和float转换,类似java的强转 int(float) float(int)

print(101//10)
print(100%10)
print(int(6.6))
print(float(6))10
0
6
6.0

算数运算符:

加减乘取余与java相同
/	除	    直接除返回商
//	整除	返回商的整数部分 
**	指数	a**b 为a的b次方
+=,-=,*=,/=,%=,//=**=

逻辑运算符
and 逻辑与运算,等价于数学中的“且” a and b 当 a 和 b 两个表达式都为真时,a and b 的结果才为真,否则为假。
or 逻辑或运算,等价于数学中的“或” a or b 当 a 和 b 两个表达式都为假时,a or b 的结果才是假,否则为真。
not 逻辑非运算,等价于数学中的“非” not a 如果 a 为真,那么 not a 的结果为假;如果 a 为假,那么 not a 的结果为真。相当于对 a 取反。

3.3.2 字符串(string)

字符串是最常用的数据类型,需要用 双引号" " 或者 单引号’ ’ 或者 三引号"“” “”" 包围起来。

任何类型,都可以通过str(),转换成字符串。

字符串内必须真的是数字,才可以将字符串转换为数字,否则会报错。

字符串连接可以直接使用+

如果字符串本身包含单引号’'或者双引号“”,可以使用转义符\

字符串可以和数字相互转化,字符串转数字可以用int()或float(),数字转字符串可以用str()

字符串支持下标访问,包括正向索引(正数),和反向索引(负数)

字符串使用find()查找,replace()替换,split()切割

str1 = "helloworld"
print(str1[5])
print(str1[-4])
print(str1.find('w'))
print(str1.replace('w','W'))
print(str1.split('l'))
w
o
5
helloWorld
['he', '', 'owor', 'd']
3.3.3 列表(list)

线性表这种数据结构我们都比较熟悉,Python中的实现是list,类似于Java中的ArrayList,list中可以放入任意类型的变量:
list初始化可以使用[]:
元素可以直接通过下标访问:
通过append()方法添加元素
通过insert(i,x)方法在指定位置 插入元素
替换元素,可以直接list[i]=x
删除元素,使用remove(x)方法,此处的x是具体的值,而不是下标,且x如果不存在于list,则会报错

list1=[];
list1.append('hello')
print(list1)
list1.insert(0,'world');
print(list1)
list1.remove('world');
print(list1);
list1[0]='HELLO';
print(list1);['hello']
['world', 'hello']
['hello']
['HELLO']

列表循环

for循环列表

names=['北方有佳人','遗世而独立','一顾倾人城','再顾倾人国']
for name in names:print(name)

while循环,根据下标循环list

names=['北方有佳人','遗世而独立','一顾倾人城','再顾倾人国']
len=len(names)
i=0
while i<len:print(names[i])i=i+1;

用enumerate() 函数可以同时取出位置索引和对应的值:

    names=['北方有佳人','遗世而独立','一顾倾人城','再顾倾人国']for i,v in enumerate(names):print(i,v)
3.3.4 元组(tuple)

列表(list)是一种可变的序列类型,元组(tuple)是一种不可变的序列类型,由多个用逗号隔开的值组成:

t='hello','world'
print(t[0]);
hello
3.3.5 集合(set)

集合(set)是一种可迭代的、无序的、不能包含重复元素的容器类型的数据,类似于Java中的Set。集合的添加用add(),删除用remove()

3.3.6 字典(dict)

字典(dict)是一种key,value类型的数据结构,类似于Java中的Map。
可以直接根据key找到value
添加和更新元素都可以直接通过key
使用pop()删除元素

dic={"hello":"world","spring":"boot"}
print(dic);
dic['spring']='mvc';
print(dic)
print(dic['hello'])
dic.pop('spring')
print(dic){'hello': 'world', 'spring': 'boot'}
{'hello': 'world', 'spring': 'mvc'}
world
dict_keys(['hello', 'spring'])
{'hello': 'world'}

字典遍历

hero_dict={'吕布':100,'赵云':98,'典韦':96}# 遍历字典中的元素
for k,v in hero_dict.items():print(k,v)# 遍历字典中的元素
for k in hero_dict:print(k,hero_dict[k])# 遍历keys
for k in hero_dict.keys():print(k,hero_dict[k])# 遍历values
for v in hero_dict.values():print(v)
3.4 异常处理

用try/except/finally语句来捕获异常。

try:num=10/0
except Exception as e:print(e)
finally:print('end')
3.5 类、对象、方法

什么是面向对象
万物皆对象
现实世界的事物都有属性和行为,可在程序中抽离为类来描述现实世界的事物属性和行为

3.5.1 类与对象

使用类封装属性,基于类创建出一个个的对象来使用

创建类的语法
class:关键字,表示要定义类了
类的属性:定义在类中的变量(成员变量)
类的行为:定义在类中的函数(成员方法)

# 创建类
class 类名称:类的属性(成员变量)类的行为(成员方法)# 基于类创建对象
对象名 = 类名称()# 调用
对象名.成员变量
对象名.成员方法()
3.5.2 成员变量和成员方法

成员变量
定义在类内部的变量称之为成员变量,用法与正常变量一致。

成员方法
定义在类内部的函数称之为方法,与函数存在细微区别。

 # 函数
# 形参可以为0-N个
def 函数名(形参1,形参2,..,形参N):函数体# 方法
# 形参可以为0-N个
# self关键字必须填写
def 方法名(self,形参1,形参2,..,形参N):方法体

self关键字在成员方法定义的时候必须填写,表示类对象自身
在方法内部,想要访问类的成员变量,必须使用self
当我们使用对象调用方法的时,self会自动被python传入,虽然在参数列表中,但是传参的时候可以不传。

3.5.3 构造方法

通过传参的形式快速对属性赋值

在类可以使用:init()方法,即构造方法,快速为对象赋值。简化形式:可以省略成员属性定义,但仍可调用

在创建类对象(构造类)的时候,会自动执行,将传入参数自动传递给__init__方法使用。

构造方法也是成员方法,定义时也需要在参数列表中提供:self

变量定义在构造方法内部,如果要成为成员变量,需要用self来表示,例如self.age

使用了构造方法,创建对象时必须传参否则会报错

3.5.4 Python类内置的类方法:

init 构造方法,可用于创建类对象的时候设置初始化行为
str 字符串方法,用于实现类对象转字符串的行为
lt 用于2个类对象进行小于(<)或大于(>)比较
le 用于2个类对象进行小于等于(<=)或大于等于(>=)比较
eq 用于2个类对象进行相等(==)比较

3.6 面向对象

面向对象包含3大主要特性:封装,继承,多态

3.6.1 封装

封装就是隐藏对象的内部细节,外部只管调用就行了。

Python中的变量默认是公开的,可以在外部的类中访问它们,如果想让它们变为私有变量,在变量前加上双双下画线(__)就行了,变量的获取和设置可以通过get()、set()方法。

基本语法:

私有成员变量:变量名以__开头(2个下划线)
私有成员方法:方法名以__开头(2个下划线)
3.6.2 继承

一个类继承另外一个类的所有成员变量和成员方法(不含私有)

多继承和单继承

一个类也可以继承多个类,也可以继承一个类
多个父类中,如果有同名的成员,默认以继承顺序(从左到右)为优先级。即:后继承的被先继承的覆盖

基本语法:

class 类名(父类1,父类2,...,父类N):类内容体

重写

子类继承父类的成员属性和成员方法后,如果对其“不满意”,那么可以进行重写。即:在子类中重新定义同名的属性或方法。
一旦重写父类成员,那么类对象调用成员的时候,就会调用重写后的新成员

如果需要使用被复写的父类的成员,只能在子类内通过如下方式调用父类的同名成员:

方式一:使用父类名调用
使用成员变量:父类名.成员变量
使用成员方法:父类名.成员方法(self)

方式二:使用super()调用
使用成员变量:super().成员变量
使用成员方法:super().成员方法()

3.6.3 多态

多种状态,即完成某个行为时,使用不同的对象会得到不同的状态

抽象类(接口)

抽象类就好比定义一个标准,包含了一些抽象的方法,要求子类必须实现

抽象类:包含抽象方法的类
抽象方法:没有具体实现的方法(只含pass)称之为抽象方法
pass是占位语句,用来保证函数(方法)或类定义的完整性,表示无内容,空的意思
多用于做顶层设计(设计标准),以便子类做具体实现。是对子类的一种软性约束,要求子类必须复写(实现)父类的一些方法
并配合多态使用,获得不同的工作状态。

3.7 文件操作

文件操作主要包括打开、关闭、读、写等操作文件的打开

基本格式

在Python,使用open函数,可以打开一个已经存在的文件,或者创建一个新文件
基本语法:
open(name, mode, encoding)

# name:是要打开的目标文件名的字符串(可以包含文件所在的具体路径)。
# mode:设置打开文件的模式(访问模式):只读、写入、追加等。
# encoding:编码格式(推荐使用UTF-8)

打开模式

文件常用的三种基础访问模式,可通过mode指定。

r->read(读取),w->write(写入),a->append(追加)

r 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。
w 打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,原有内容会被删除。如果该文件不存在,创建新文件。
a 打开一个文件用于追加。如果该文件已存在,新的内容将会被写入到已有内容之后。 如果该文件不存在,创建新文件进行写入。

f = open(“./source.log”, “r”, encoding=“UTF-8”)
文件的读取
read(num) 读取指定长度字节 不指定num读取文件全部
readline() 读取一行
readlines() 读取全部行,返回列表
for line in 文件对象 for循环文件行,一次循环得到一行数据
close() 关闭文件对象
with open() as f 通过with open语法打开文件,可以自动关闭

每次读取会从上一次读取结束的位置开始,每次open()中的内容只能被读取一次

文件的写入使用示例:

f = open("C:/code/test.txt", "w")
# 文件如果不存在,使用”w”模式,会创建新文件
# 文件如果存在,使用”w”模式,会将原有内容清空
# 2.文件写入
f.write('hello world')
# 3. 内容刷新
f.flush()

直接调用write,内容并未真正写入文件,而是会积攒在程序的内存中,称之为缓冲区
当调用flush的时候,内容会真正写入文件
close()方法,附带flush()方法的功能
这样做是避免频繁的操作硬盘,导致效率下降(攒一堆,一次性写磁盘)

文件的追加

使用w模式,每次写入会将原有内容清空,写入新内容
使用a模式,文件不存在会创建文件,文件存在会在最后追加内容写入文件
使用示例:

f = open("C:/code/test.txt", "a")
# 2.文件写入
f.write('study')
# 3. 内容刷新
f.flush()
3.8 变量的类型注解

Python中类型注解仅仅起到提示作用,没有其他语言那么严格
Python解释器不会根据类型注解对数值做验证和判断,无法对应上也不会导致错误

语法格式
变量名: 数据类型 = 数值

var_1: int = 10 
var_2: bool = True  
# 定义学生类
class Student:passstu: Student = Student()  # 学生类类型注解
my_list: list = [1, 4, 7]
my_list: list[int] = [2, 5, 8]  # 限定数据类型为int
my_tuple: tuple[str, int, bool] = ("hello", 111, False)
my_dict: dict[str, int] = {"age": 13}

函数的类型注解
def 函数方法名(形参名1:类型,形参名2:类型) -> 返回值类型:
函数体

def add(x: int, y: int) -> int:return x + y

Union类型
联合类型注解,在变量注解、函数(方法)形参和返回值注解中均可使用
需要导包使用
当数据类型不唯一时基本格式无法满足要求,此时便可使用Union类型
使用示例,Union[类型,类型]:

from typing import Union
# 数据为字符串和整数
my_list: list[Union[str, int]] = [66, "hello", 88, "world"]
# 键为字符串,值为字符串和整数
my_dict: dict[str, Union[str, int]] = {"name": "zhangsan", "age": 18}
from typing import Union# 接收字符串或整数,返回字符串或整数
def func(data: Union[int, str]) -> Union[int, str]:pass
3.9 操作MySQL

在Python中,通过使用第三方库:pymysql,完成对MySQL数据库的操作。

安装指令:pip install pymysql

pymysql在执行数据插入或其它产生数据更改的SQL语句时,默认是需要提交更改的,即,需要通过代码“确认”这种更改行为。

如果不想手动commit确认,可以在构建连接对象的时候,设置自动commit的属性。

查询后,使用游标对象.fetchall()可得到全部的查询结果封装入嵌套元组内

可使用游标对象.execute()执行SQL语句

3.9.1 操作步骤

导包->建立连接->执行操作->关闭连接:

# 导包
from pymysql import Connection
# 建立连接
conn = Connection(host='10.100.56.51',  # 主机名或IP地址port=3306,  # 端口号,默认3306user='root',  # MySQL账号password='123456',  # MySQL密码autocommit=True  # 设置自动提交(commit)
)
# 执行操作
print(conn.get_server_info())
# 关闭连接
conn.close()
3.9.2 建表

将执行操作改为建表SQL

"""
建表SQL
"""
# 获取游标对象(用于操作数据库)
cursor = conn.cursor()
# 选择要操作的数据库
conn.select_db("db_study_system")
# 使用游标对象,执行建表sql语句
cursor.execute("CREATE TABLE student(id int,name VARCHAR(64),age int,score int)")
3.9.3 单条插入SQL
"""
单条插入SQL
"""
# 获取游标对象(用于操作数据库)
cursor = conn.cursor()
# 选择要操作的数据库
conn.select_db("db_study_system")
cursor.execute("insert into student values(6,'张三',18,99)")
conn.commit();
3.9.4 批量插入

批量插入使用executemany方法,values定义使用[()]或[[]]

"""
批量插入SQL
"""
# 获取游标对象(用于操作数据库)
cursor = conn.cursor()
# 选择要操作的数据库
conn.select_db("db_study_system")
# 使用游标对象,执行sql语句
sql = "insert into student(id,name,age,score) values(%s,%s,%s,%s)";
values=[(4,'张三',18,99),(5,'张三',18,99)];
cursor.executemany(sql,values)
# 提交事务
conn.commit();
3.9.5 查询SQL
"""
查询SQL
"""
# 获取游标对象(用于操作数据库)
cursor = conn.cursor()
# 选择要操作的数据库
conn.select_db("db_study_system")
# 使用游标对象,执行sql语句
cursor.execute("SELECT * FROM student where name ='张三'")
# 获取查询结果,返回元组对象
results: tuple = cursor.fetchall()
for result in results:print(result)
3.9.6 更新SQL
"""
更新SQL
"""
# 获取游标对象(用于操作数据库)
cursor = conn.cursor()
# 选择要操作的数据库
conn.select_db("db_study_system")
# 使用游标对象,执行sql语句
cursor.execute("UPDATE student set name ='李四' where id = 4")
conn.commit();
3.9.7 删除SQL
"""
删除SQL
"""
# 获取游标对象(用于操作数据库)
cursor = conn.cursor()
# 选择要操作的数据库
conn.select_db("db_study_system")
# 使用游标对象,执行sql语句
cursor.execute("DELETE FROM  student where id IS NULL")
conn.commit();
3.10 操作mongodb

pymongo的安装

使用pip安装:pip install pymongo

3.10.1 操作步骤

导包->建立连接->执行操作->关闭连接:

import pymongo
MONGO_URL_BSS = "mongodb://root:123456@10.100.56.51:27019/study?authSource=admin"
#数据库
BSS_DATABASE = "study"CLIENT = pymongo.MongoClient(MONGO_URL_BSS)
db = CLIENT.get_database(BSS_DATABASE);
collection = db.get_collection("Student");
#执行操作
print(collection.find_one({"name": name}));
CLIENT.close();
3.10.2 增删改查
import pymongo
MONGO_URL_BSS = "mongodb://root:123456@10.100.56.51:27019/study?authSource=admin"
#数据库
BSS_DATABASE = "study"CLIENT = pymongo.MongoClient(MONGO_URL_BSS)
db = CLIENT.get_database(BSS_DATABASE);
collection = db.get_collection("Student");def getStudent(name):object = collection.find_one({"name": name});return object;def updateStudent(name,address):query = {"name": name}update = {"$set": {"address": address}}collection.update_one(query,update);return;def deleteStudent(name):query = {"name": name}collection.delete_one(query);return;def addStudent(student):collection.insert_one(student);if __name__ == '__main__':print(getStudent('zhangsan1'))updateStudent('zhangsan1','苏州')print(getStudent('zhangsan1'))student={'name': 'zhangsan111', 'age': 4, 'address': '西安', 'books': [{'name': '人性的缺点', 'author': '卡耐基'}]};addStudent(student);print(getStudent('zhangsan111'))deleteStudent('zhangsan111');print(getStudent('zhangsan111'))CLIENT.close();
3.11 发送http请求

requests模块为python的第三方库,主要用于处理HTTP
安装requests模块
pip install requests

3.11.1 发送post请求 json格式
def request_post():headers = {'Content-Type': 'application/json','access_token':'TGT-101787-I5XN9XvVwIrbaPPoJbcVhKYarNJTH034GrXhom6DpZB3jPJhWb'}data = {"goodsId":"6596da7a7dd3a945ebdc057d","streamNo":"web_saas1704423400890818242","partnerCode":"UKSAS"}url = "url"resp = requests.post(url, headers=headers, json=data,timeout=(10,10))print(resp.content)return resp;
3.11.2 发送post请求 form-data格式
def request_post2():headers = {'Content-Type': 'application/x-www-form-urlencoded','access_token':'TGT-101787-I5XN9XvVwIrbaPPoJbcVhKYarNJTH034GrXhom6DpZB3jPJhWb'}data = {"id":"5a6afd864d9b23696f7c3cd3","streamNo":"web_saas1704423400890818242"}url = "url"resp = requests.post(url, headers=headers, data=data,timeout=(10,10))print(resp.content)return resp;
3.11.2 发送get请求
def request_post3():headers = {'Content-Type': 'application/x-www-form-urlencoded','access_token':'TGT-101787-I5XN9XvVwIrbaPPoJbcVhKYarNJTH034GrXhom6DpZB3jPJhWb'}url = "url"resp = requests.get(url, headers=headers, timeout=(10,10))print(resp.content)return resp;

参考
Python快速入门,看这一篇就够了!
【Python】学习汇总(附思维导图)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/6751.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[单片机课设]十字路口交通灯的设计

题目要求&#xff1a; 模拟交通灯运行情况。南北绿灯亮30秒&#xff0c;南北黄灯亮3秒&#xff0c;东西红灯亮33秒&#xff1b;南北红灯亮33秒&#xff0c;东西绿灯亮30秒&#xff0c;东西黄灯亮3秒&#xff1b;要求数码管同步显示时间的倒计时&#xff0c;用定时器实现延时。…

(HAL)STM32F103C8T6——内部flash模拟EEPROM

内部Flash大部分空间是用来存储烧录进单片机的程序代码&#xff0c;因此可以将非代码等无关区域用来存储数据。项目工程的代码量可以通过Keil uVision5软件底下框查看&#xff0c;如下图所示。一般只需参考代码量&#xff08;Code&#xff09;以及只读数据&#xff08;RO-data&…

某盾BLACKBOX逆向关键点

需要准备的东西&#xff1a; 1、原JS码 2、AST解混淆码 3、token(来源于JSON) 一、原JS码很好获取&#xff0c;每次页面刷新&#xff0c;混淆的代码都会变&#xff0c;这是正常&#xff0c;以下为部分代码 while (Qooo0) {switch (Qooo0) {case 110 14 - 55: {function O0…

C++入门第二节--关键字、命名空间、输入输出

点赞关注不迷路&#xff01;本节涉及c入门关键字、命名空间、输入输出... 1. C关键字 C总计63个关键字&#xff0c;C语言32个关键字 asmdoifreturntrycontinueautodoubleinlineshorttypedefforbooldynamic_castintsignedtypeidpublicbreakelselongsizeoftypenamethrowcaseen…

1.预备知识

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 预备知识 一、C语言和C的发展历史和基本原理二、过程性编程和面向对象编程三、编程语言的标准 提示&#xff1a;以下是本篇文章正文内容&#xff0c;下面案例可供参考 一、C…

A Dexterous Hand-Arm Teleoperation System

A Dexterous Hand-Arm Teleoperation System Based on Hand Pose Estimation and Active Vision解读 摘要1. 简介2.相关工作2.1 机器人遥操作2.2 主动视觉&#xff08;Active Vision&#xff09; 3. 硬件设置4. 基于视觉的机器人手部姿态估计4.1 Transteleop4.2 Dataset 5. 主动…

升级OpenSSH版本(安装telnet远程管理主机)

一 OpenSSH是什么 OpenSSH 是 SSH &#xff08;Secure SHell&#xff09; 协议的免费开源实现。SSH协议族可以用来进行远程控制&#xff0c; 或在计算机之间传送文件。而实现此功能的传统方式&#xff0c;如telnet(终端仿真协议)、 rcp ftp、 rlogin、 rsh都是极为不安全的&…

C++奇迹之旅:string类接口详解(上)

文章目录 &#x1f4dd;为什么学习string类&#xff1f;&#x1f309; C语言中的字符串&#x1f309;string考察 &#x1f320;标准库中的string类&#x1f309;string类的常用接口说明&#x1f320;string类对象的常见构造 &#x1f6a9;总结 &#x1f4dd;为什么学习string类…

二维泊松方程(Neumann+Direchliet边界条件)有限元Matlab编程求解|程序源码+说明文本

专栏导读 作者简介&#xff1a;工学博士&#xff0c;高级工程师&#xff0c;专注于工业软件算法研究本文已收录于专栏&#xff1a;《有限元编程从入门到精通》本专栏旨在提供 1.以案例的形式讲解各类有限元问题的程序实现&#xff0c;并提供所有案例完整源码&#xff1b;2.单元…

stm32开发之netxduo网口通讯,网线热插拔处理

前言 在使用netxduo组件时&#xff0c;如果在上电过程中&#xff0c;未插入网线&#xff0c;eth驱动使能过程中未正常初始化本次使用以下几种方式进行设置 问题原因 使用定时器事件回调方式 网络组件中进行调整 /** Copyright (c) 2024-2024&#xff0c;shchl** SPDX-Licen…

Initialize failed: invalid dom.

项目场景&#xff1a; 在vue中使用Echarts出现的错误 问题描述 提示&#xff1a;这里描述项目中遇到的问题&#xff1a; 例如&#xff1a;在vue中使用Echarts出现的错误 ERROR Initialize failed: invalid dom.at Module.init (webpack-internal:///./node_modules/echarts…

Delta lake with Java--入门

最近在研究数据湖&#xff0c;虽然不知道研究成果是否可以用于工作&#xff0c;但我相信机会总是留给有准备的人。 数据湖尤其是最近提出的湖仓一体化概念&#xff0c;很少有相关的资料&#xff0c;目前开源的项目就三个&#xff0c;分别是hudi, delta lake, iceberg。最终选择…

算法打卡day41

今日任务&#xff1a; 1&#xff09;198.打家劫舍 2&#xff09;213.打家劫舍II 3&#xff09;337.打家劫舍III 4&#xff09;复习day16 198.打家劫舍 题目链接&#xff1a;198. 打家劫舍 - 力扣&#xff08;LeetCode&#xff09; 你是一个专业的小偷&#xff0c;计划偷窃沿街…

【hive】transform脚本

文档地址&#xff1a;https://cwiki.apache.org/confluence/display/Hive/LanguageManualTransform 一、介绍二、实现1.脚本上传到本地2.脚本上传到hdfs 三、几个需要注意的点1.脚本名不要写全路径2.using后面语句中&#xff0c;带不带"python"的问题3.py脚本Shebang…

LNMP部署wordpress

1.环境准备 总体架构介绍 序号类型名称外网地址内网地址软件02负载均衡服务器lb0110.0.0.5192.168.88.5nginx keepalived03负载均衡服务器lb0210.0.0.6192.168.88.6nginx keepalived04web服务器web0110.0.0.7192.168.88.7nginx05web服务器web0210.0.0.8192.168.88.8nginx06we…

基于深度学习的MVS学习笔记(05.04-05.05)

1. MVS方法与分类 1.1 问题界定&#xff1a;多目和单目双目 单目深度估计&#xff1a;拟合一个函数将图像【RGB输入】映射到深度图【浮点输出】双目深度估计&#xff1a;双目回归视差&#xff0c;可以进一步求像素距离相机光心的深度多视点三维重建 单目只能找到“相对的”相…

cmd查看局域网内所有设备ip

说明&#xff1a;最近碰到一个新问题&#xff0c;就是有一个安卓设备&#xff0c;安装了一个app导致死机了&#xff0c;app设置了开机重启&#xff0c;所以&#xff0c;无论重启还是关机&#xff0c;都是进来就白屏&#xff0c; 这可把人愁坏了&#xff0c;直接死循环了 无论…

【Redis】10大数据类型之Hash类型

文章目录 1.Hash类型2.常用命令3.示例hset和hgethgetallhlenhkeys和hvalshexistshdelhincrby和hincrbyfloathsetnx 1.Hash类型 Redis中的Hash类型是一种高效的数据结构&#xff0c;用于存储键值对的集合。这种类型特别适用于表示对象&#xff0c;因为它允许你将对象的多个属性…

基于Springboot的校园生活服务平台(有报告)。Javaee项目,springboot项目。

演示视频&#xff1a; 基于Springboot的校园生活服务平台&#xff08;有报告&#xff09;。Javaee项目&#xff0c;springboot项目。 项目介绍&#xff1a; 采用M&#xff08;model&#xff09;V&#xff08;view&#xff09;C&#xff08;controller&#xff09;三层体系结构…

shell脚本-监控系统内存和磁盘容量

监控内存和磁盘容量除了可以使用zabbix监控工具来监控&#xff0c;还可以通过编写Shell脚本来监控。 #! /bin/bash #此脚本用于监控内存和磁盘容量&#xff0c;内存小于500MB且磁盘容量小于1000MB时报警#提取根分区剩余空间 disk_size$(df / | awk /\//{print $4})#提取内存剩…