1.8 python 模块 time、random、string、hashlib、os、re、json

ython之模块
一、模块的介绍
(1)python模块,是一个python文件,以一个.py文件,包含了python对象定义和pyhton语句
(2)python对象定义和python语句
(3)模块让你能够有逻辑地组织你的python代码段。
(4)把相关的代码分配到一个模块里能让你的代码更好用,更易懂
(5)模块能定义函数,类和变量,模块里也能包含可执行的代码

二、模块的导入
注意点:
(1)一个模块只要导入一次,不管你执行多少次import,一次就可以
(2)模块不调用时是置灰状态

1、
格式:import 模块名
使用:模块名.函数名
案例:
import time
print(1)
time.sleep(5) #休眠
print(2)


2、from 包名.模块名 import * (*表示所有的函数)
from bao.aa import *
案例:
aa模块
def gs():
print(1)
def gs1():
print(2)
def gs2():
print(3)

bb模块:
from bao.aa import *
gs()
gs1()
gs2()

3、from 包名.模块名 import 函数名 (*表示所有的函数)
案例:
aa文件:
def gs():
print(1)
def gs1():
print(2)
def gs2():
print(3)

bb文件:
from bao.aa import gs
gs()

4、
通过取别名来调用函数
格式:from 模块名 import 函数名 as 别名

案例:
aa模板
def gs():
print(1)
def gs1():
print(2)
def gs2():
print(3)bb模块:

from bao.aa import gs as b
b()


=============================================
模块讲解:一、time模块

import time
#1970年到现在经过的秒数
print(time.time()) #1651200498.799537
print(time.ctime()) #固定格式的当前时间
time.sleep(3)) # 休眠,也是强制等待
print(time.asctime()) #转化为asc码显示当前时间
print(time.strftime(“%H-%M-%S %y-%m-%d”)) #时间戳:按照格式输出内容:

==============================================
二、random模块
生成随机浮点数,帧数,字符串,甚至帮助你随机选择列表中的一个元素,打乱一组数据等;
from random import *
print(random()) #生成0-1之间的浮点数,但是能取到0,不能取到1
print(randint(1,100)) #生成指定范围内整数,包括开始值和结束值
print(randrange(1,100,2)) # 生成指定范围内的奇数
print(randrange(0,100,2)) #生成指定范围内的偶数
f=[1,2,3,6,7,2]
print(sample(f,3)) #生成从一个固定集合中选n个数随机
print(choice(f)) #随机生成一个字符
shuffle(f)
print(list(f))

==============================================
string 模块
print(string.digits) #0123456789 所有的数据
print(string.hexdigits) #0123456789abcdefABCDEF
print(string.ascii_uppercase) #ABCDEFGHIJKLMNOPQRSTUVWXYZ #所有的小写
print(string.ascii_lowercase) #abcdefghijklmnopqrstuvwxyz #所有小写

print(string.ascii_letters) #abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ  #所有的大小写

==============================================
作业:
案例1:使用random模块随机生成手机号码、自己定义手机号码开头的前三位
方法1:
sz=string.digits
sj=[‘159’]
for i in range(8):
s=choice(sz)
sj.append(s)
print(‘’.join(sj))

方法2:
from random import *
import string
sz=string.digits
a=sample(sz,8)
b=(‘’.join(a))
sj=input(‘前三位:’)
print(sj+b)

方法3:
from random import *
import string
sz=string.digits
a=sample(sz,8)
b=(‘’.join(a))
sz=‘159’
print(sz+b)

方法4:
from random import *
import string
sz=string.digits
a=sample(sz,8)
sz=[1,5,9]
sz.extend(a)
for i in sz:
print(i,end=‘’)

==============================================

2、用random模块随机生成6位数验证码

方法1:
from random import *
a=[]
for i in range(6):
b=str(randint(0,9))
a.append(b)
print(‘’.join(a))

方法2:
from random import *
import string
d=string.digits+string.ascii_uppercase+string.ascii_lowercase
print(d)
for i in range(6) :
s=choice(d)
print(s, end=‘’)
方法3:
import random
import string
yzm=string.digits+string.ascii_uppercase+string.ascii_lowercase

print(yzm)
a=random.sample(yzm,6)
print(‘’.join(a))

方法4:
a=[]
for i in range(6):
rand_num=random.randint(0,9)
a.append(str(rand_num))
print(‘’.join(a))
方法5:
import random
import string
print(‘’.join(random.sample(string.digits+string.ascii_lowercase,6)))

方法6:
from random import *
import string
def kk():
a=string.digits+string.ascii_uppercase+string.ascii_lowercase
k=[]
for i in range(6):
k.append(choice(a))
s=‘’.join(k)
return s
code=kk()
print(code)
def hh():
login=input(str(‘请输入上方验证码登录:’))
if login==code:
print(‘登录成功’)
else:
print(‘登录失败’)
hh()

===========================================
加密模块:
import hashlib

base64
MD5

一、加密算法
md5、rsa、AES ,DES.BASE
DES 以64位为分组队数据加密,加密和解密是同一算法‘;
rsa加密 算法:是一种非对称加密算法(在公开秘钥加密和电子商业中rsa被广泛使用)
AES rijndael 加密法对称加密中最流行的算法之一(AES为分组密码)

===================================

案例:

#base64加密
import base64
a=base64.b64encode(b"123456")
print(a) #b’MTIzNDU2’
#base64解密
b=base64.b64decode(b"MTIzNDU2")
print(b) #b’123456’
备注:base64 编码包含ascll是包含字符,二是二进制数据

http://encode.chahuo.com/  在线加解密

===================================
MD5加密

(1)md5 是一种算法,可以将一个字符串或文件,md5后,就可以生成一个固定为128bit的串,这个串,基本上唯一;
(2)python2中有md5
(3)python将MD5 归纳到hash 模块,译作:‘散列’,直译为‘哈希’。
(4)md5 可以把任意长度的输入,通过种hash算法,变换成固定长度的输出,该输出就是散列值,也称摘要值,,改算法就是哈希函数,也称摘要函数。(5)md5 是最常见的摘要算法,速度快,生成结果是固定16字节,通常用32位的16进制字符串表示。
(5)hash模块中包含MD5、sha1 ,sha256 ,sha512,等
(6)摘要;hash.digest() 返回摘要,作为二进制数据字符串值;
hash.hexdigeest 返回摘要,作为16进制数据字符串值
(7)案例1:
import hashlib
m=hashlib.md5() # 创建MD5对象
m.update(b"123456")
print(m.hexdigest()) #e10adc3949ba59abbe56e057f20f883e

十六直径转换输出
备注:
1、python中md5要加上b,python2不需要
2、md5 不能范姐,但是加密是固定,关系是一一对应,可以被对撞。

案例1
import hashlib
m=hashlib.sha384()
m.update(b’123456’)
print(m.hexdigest())

案例2
import hashlib
m=hashlib.sha256()
m.update(b’123456’)
print(m.hexdigest())
案例3:
import hashlib
m=hashlib.sha512()
m.update(b’123456’)
print(m.hexdigest())

案例4:

-==================================
面试题:
(1)如果在工作中有很多数据,如果数据被改动,或传递别修改,看不出?
a、通过加密检查数据
通过加密对数据进行加密处理,生成加密字符,如果有改动,字符就不相同
b、比对数据不一样,如果加密的字符不相同,说明两个数据不一致

=================================
作业:
通过md5加密算法把随机生成的6位数验证码进行加密返回16进制的字符串

方法:

1

2

3

4

5

6

7

8

9

10

方法1

import random

import  string

import  hashlib

s=string.digits+string.ascii_letters

h=random.sample(s,6)

yzm="".join(h)

m=hashlib.md5()

m.update(yzm.encode(encoding="utf-8"))

print(m)

  

===================================
os模块:

os模块提供了多数操作系统的功能接口函数。当os模块被导入后,它会自适 应于不同的操作系统平台,根据不同的平台进行相应的操作,在python编 程时,经常和文件、目录打交道,所以离不了os模块。
os模块中常见的方法:
os.getcwd()获取当前执行命令所在目录
os.path.isfile()判断是否文件
os.path.isdir() #判断是否是目录
os.path.exists() #判断文件或目录是否存在
os.listdir(dirname) #列出指定目录下的目录或文件
os.path.split(name) #分割文件名与目录
os.path.join(path,name) #连接目录与文件名或目录
os.mkdir(dir) #创建一个目录
os.rename(old,new) #更改目录名称
os.remove() 删除文件

===========================
固定格式:xu
场景一:获取当前操作对象中的的的一个项目的绝对路径固定语法
import os
#获取项目路径
p=os.path.abspath(os.path.dirname(os.getcwd()))
print§

#获取当前文件的绝对路径,直接通过spliit对目录和文件进行分割
file_path=os.path.split(os.path.realpath(file))
print(file_path)
#(‘C:\Users\Administrator\PycharmProjects\gs1\bao’, ‘python006.py’)
#获取当前文件的绝对路径,直接通过spliit对目录
file_path=os.path.split(os.path.realpath(file))[0]
print(file_path)
#获取当前文件的绝对路径,直接通过spliit对目录
file_path1=os.path.split(os.path.realpath(file))[1]
print(file_path1)

#获取项目的绝对路径
v=os.path.dirname(os.path.dirname(file))
print(v)

#项目路径和包进行拼接
hz_path=os.path.join(v,‘ss.txt’)
print(hz_path) #C:/Users/Administrator/PycharmProjects/gs1\ss.txt

===========================
python中re模块

一、re正则匹配基本介绍
正则匹配:使用re模块实现

1、什么是正则表达式?
正则表达式是一种对字符和特殊字符操作的一种逻辑公式,从特点的字符中,用正则表达字符来过滤的逻辑。
2、正则表达式是一种文本模式;
3、正则表达式可以帮助我们检查字符是否与某种模式匹配
4、re模块使pyhton语言用有全部的表达式功能
5、re表达式作用?
(1)快速高效查找和分析字符比对自读,也叫模式匹配,比如:查找,比对,匹配,替换,插入,添加,删除等能力。
(2)实现一个编译查看,一般在入职处理文件时用的多

二、认识正则表达式中的特殊元素?
\d:数字0-9
\D:非数字
\s:空白字符
\n:换行符
\w 匹配字母数字
\W 匹配非字母数字
^:表示的匹配字符以什么开头
$:表示的匹配字符以什么结尾
:匹配前面的字符0次或n次 eg:ab (* 能匹配a 匹配ab 匹配abb )
+:匹配+前面的字符1次或n次
?:匹配?前面的字符0次或1次
{m}:匹配前一个字符m次
{m,n}:匹配前一个字符m到n次(包括n次),m或n可以省略,mn都是
1、findall
从第一个字符开始查找,找到全部相关匹配为止,找不到返回一个空列表[]

2、match
从第一个字符开始匹配,如果第一个字符不是要匹配的类型、则匹配失败得到一个none值
注意:如果规则带了’+’,则匹配1次或者多次,无’+'只匹配一次
3、compile(不考虑)
编译模式生成对象,找到全部相关匹配为止,找不到返回一个列表[]
4、search
从第一个字符开始查找、一找到就返回第一个字符串,找到就不往下找,找不到则报错

============================
group 以str 形式返回对象中match元素
span 以tuple形式返回范围

====================================

实战案例:
场景一、findall
从第一个字符开始查找,找到全部相关匹配为止,找不到返回一个空列表[]
(1)第一种情况查找字符汇总存在的字符
import re # 导入re模块
s=‘anbdckk12356afjmba’
c=re.findall(‘a’,s)
print© #[‘a’, ‘a’, ‘a’] 显示查找的字符
(2)第二种情况查找不存在的字符
import re # 导入re模块
s=‘anbdckk12356afjmba’
c=re.findall(‘z’,s)
print© #[] 显示的是一个空了列表

场景二、match 匹配开头
从第一个字符开始匹配,如果第一个字符不是要匹配的类型、则匹配失败得到一个none值
第一种情况:开头是匹配的是存在的字符
import re # 导入re模块
s=‘anbdckk12356afjmba’
c=re.match(‘a’,s)
print(c.span()) #显示结果是索引位:(0, 1)

第二种情况:开头匹配的是不存在字符
import re # 导入re模块
s=‘anbdckk12356afjmba’
c=re.match(‘z’,s)
print© #None

场景三、search
从第一个字符开始查找、一找到就返回第一个字符串,找到就不往下找,找不到则报错
第一种情况:查看的字符存在,返回字符的索引位
import re # 导入re模块
s=‘anbdckk12356afjmba’
c=re.search(‘1’,s)
print(c.span()) #(7, 8)

第一种情况:查看的字符不存在,返回字符的是none
import re # 导入re模块
s=‘anb1dckk12356afjmba’
c=re.search(‘9’,s)
print© # None

=============================================

(1)\d:数字0-9 ,返回的结果是列表的格式
案例:
import re # 导入re模块
s=‘anb1dckk12356afjmba’
c=re.findall(‘\d’,s)
print© #[‘1’, ‘1’, ‘2’, ‘3’, ‘5’, ‘6’]

(2)\D:非数字
案例:
import re # 导入re模块
s=‘anb1dckk12356afjmba’
c=re.findall(‘\D’,s)
print©

(3)\s:空白字符
import re # 导入re模块
s=‘a nb1dck k12356a fjmba’
c=re.findall(‘\s’,s)
print© #[’ ', ’ ', ’ ', ’ ', ’ ']

(4)\n:换行符
案例:
import re # 导入re模块
s=‘a nb1\ndck k123 \n 56a fjmba’
c=re.findall(‘\n’,s)
print© #[‘\n’, ‘\n’]

(5)\w 匹配字母数字
案例:
import re # 导入re模块
s=‘a nb1*k123jmba’
c=re.findall(‘\w’,s)
print© #[‘a’, ‘n’, ‘b’, ‘1’, ‘k’, ‘1’, ‘2’, ‘3’, ‘j’, ‘m’, ‘b’, ‘a’]

(6)\W 匹配非字母数字
案例:
import re # 导入re模块
s=‘a nb1k123jmba’
c=re.findall(‘\W’,s)
print© #[’ ', '’, ‘', '’, ‘', '’]

(7)^:表示的匹配字符以什么开头

案例:
import re # 导入re模块
s=‘anb1*k123jmba’
c=re.findall(‘^a’,s)
print© #[‘a’]
KaTeX parse error: Expected 'EOF', got '#' at position 30: …案例: import re #̲ 导入re模块 s='anb1…’,s)
print© #[‘b’]

匹配前面的字符0次或n次 eg:ab (* 能匹配a 匹配ab 匹配abb )
案例:
import re # 导入re模块
s=‘anb1aa**k123aaaajmb’
c=re.findall('a’,s)
print©
#[‘a’, ‘’, ‘’, ‘’, ‘’, ‘aa’, ‘’, ‘’, ‘’, ‘’, ‘’, ‘’, ‘’, ‘aaaa’, ‘’, ‘’, ‘’, ‘’, ‘’]
+:匹配+前面的字符1次或n次
案例:
import re # 导入re模块
s=‘anb1aa**k123aaaa*jmaaaaaab’
c=re.findall(‘a+’,s)
print© #[‘a’, ‘aa’, ‘aaaa’, ‘aaaaaa’]

?:匹配?前面的字符0次或1次
案例:
import re # 导入re模块
s=‘anb1aa**k123aaaa*jmaaaaaab’
c=re.findall(‘a?’,s)
print©
#[‘a’, ‘’, ‘’, ‘’, ‘’, ‘a’, ‘a’, ‘’, ‘’, ‘’, ‘’, ‘’, ‘’, ‘’, ‘a’, ‘a’, ‘a’, ‘a’, ‘’, ‘’, ‘’, ‘a’, ‘a’, ‘a’, ‘a’, ‘a’, ‘a’, ‘’, ‘’]

{m}:匹配前一个字符m次
案例:
import re # 导入re模块
s=‘abnb1abca**k123aaaa*jmaasaasaab’
c=re.findall(‘a{3}’,s)
print©#[‘aaa’]

{m,n}:匹配前一个字符m到n次(包括n次),m或n可以省略,mn都是

案例:
s=‘abnb1abca**k123aaaa*jmaaasasaab’
c=re.findall(‘a{2,3}’,s)
print© #[‘aaa’, ‘aa’, ‘aa’, ‘aa’]

==========================================
re 标识符:
flags=标识符

(1)re.I(大写的i) 不区分大小写
import re # 导入re模块
s=‘abnb1AabcaAk123jmaaasasaab’
c=re.findall(‘a’,s,flags=re.I)
print© #[‘a’, ‘A’, ‘a’, ‘a’, ‘A’, ‘a’, ‘a’, ‘a’, ‘a’, ‘a’, ‘a’]

==========================================
sub 替换

import re # 导入re模块
s=‘abnb1AabcaAk123jmaaasasaab’
c=re.sub(‘\d’,‘拱墅’,s)
print©

==========================================

python标准模块之json

定义:json  (java   script   object   notation)是轻量级的文本数据交换格式

案例json:

json和字典  一样

一、json模块可以实现json数据的序列化和反序列化

(1)序列化:将可存放在内存中的python 对象转换成可物理存储和传递的形式

实现方法:load() loads()

(2)反序列化:将可物理存储和传递的json数据形式转换为在内存中表示的python对象

实现方法:dump() dumps()

查看 dump用法:ctrl+点击dump

===================================================

1、由python对象格式化成为json()dumps

案例1:将字典格式转化字符

j={'name':'zs','age':18,"no":["123","456"],"sex":"男"}
print(j)#{'name': 'zs', 'age': 18, 'no': ['123', '456'], 'sex': '男'}
print(type(j))#<class 'dict'>
jsonzfc=json.dumps(j,ensure_ascii=False)# 将一个字典转换称json
print(jsonzfc) #{"name": "zs", "age": 18, "no": ["123", "456"], "sex": "男"}
print(type(jsonzfc)) #<class 'str'>

 备注:

1、python中的字典是单引号,字符是双引号

2、字典是大写True,   字符是小写

 ================================================

dump 方法:
定义:往文件中添加字符json
案例1:
j={'name':'zs','age':18,"no":["123","456"],"sex":"男","isonly":True}
print(j)
print(type(j))
jsonzfc=json.dumps(j,ensure_ascii=False)# 将一个字典转换成json
print(jsonzfc)
print(type(jsonzfc))
#dump
json.dump(j,open("data.json","a"))

===================================================·

indent=4    indent 分隔符  ,排序

案例3:

结果:

{
"name": "zs",
"age": 18,
"no": [
"123",
"456"
],
"sex": "男",
"isonly": true
}

 案例2:

 ================================

对json中字符 排序

sort_keys=True   排序;

=================================================================

三、 json string   转化称python对象

(1)字符类型转换成字典

import  _json
json1='{"age": 18, "isonly": true, "name": "zs", "no": ["123", "456"], "sex": "男"}'
print(type(json1))
jsgs=json.loads(json1)
print(type(jsgs)) #<class 'dict'>(2)字符类型转换成元组

 案例:

json2='["a","b" ,{"no": 123, "sex": "男"}]'
print(type(json2))# <class 'str'>
listgs=json.loads(json2)
print(type(listgs)) #<class 'list'>

============================================

四、load文件转换成 对象方式

1、创建json格式:

{"age": 18, "isonly": true, "name": "zs", "no": ["123", "456"], "sex": "男"}

 2、将 文件中的json通过load转换字典

import  json
dxwj=json.load(open('aa.json','r',encoding="utf-8"))
print(type(dxwj))
print(dxwj)

重要补充

json的作用

Python 的 json 模块提供了对 JSON (JavaScript Object Notation) 数据格式的编码和解码功能。JSON 是一种轻量级的数据交换格式,它基于 ECMAScript (欧洲计算机协会制定的js规范)的一个子集,采用完全独立于语言的文本格式来存储和表示数据。简单、清晰的层次结构使得 JSON 成为理想的数据交换语言。

json 模块的主要功能包括:

  1. 编码(序列化):将 Python 对象转换为 JSON 格式的字符串。

    使用 json.dumps() 函数可以将 Python 对象序列化为 JSON 格式的字符串。例如:

     

    python复制代码

    import json
    data = {
    "name": "John",
    "age": 30,
    "city": "New York"
    }
    json_string = json.dumps(data)
    print(json_string) # 输出: {"name": "John", "age": 30, "city": "New York"}
  2. 解码(反序列化):将 JSON 格式的字符串转换为 Python 对象。

    使用 json.loads() 函数可以将 JSON 格式的字符串反序列化为 Python 对象。例如:

     

    python复制代码

    import json
    json_string = '{"name": "John", "age": 30, "city": "New York"}'
    data = json.loads(json_string)
    print(data) # 输出: {'name': 'John', 'age': 30, 'city': 'New York'}
    print(type(data)) # 输出: <class 'dict'>
  3. 文件读写:将 Python 对象写入 JSON 文件,或从 JSON 文件中读取 Python 对象。

    使用 json.dump() 函数可以将 Python 对象直接写入一个打开的文件对象,它将自动转换为 JSON 格式。同样,json.load() 函数可以从一个打开的文件对象中读取 JSON 数据并解析为 Python 对象。例如:

     

    python复制代码

    import json
    data = {
    "name": "John",
    "age": 30,
    "city": "New York"
    }
    # 写入文件
    with open('data.json', 'w') as file:
    json.dump(data, file)
    # 读取文件
    with open('data.json', 'r') as file:
    loaded_data = json.load(file)
    print(loaded_data) # 输出: {'name': 'John', 'age': 30, 'city': 'New York'}

使用 json 模块,你可以方便地在 Python 程序和 JSON 数据之间进行转换,这对于数据交换、配置文件管理、API 交互等场景非常有用。

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

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

相关文章

Redis 全景图(2)---- 关于 Redis 的三“高”

前言 我们继续写第一篇文章没写完的。其实我也不想将我写的一篇 Redis 文章分成几篇中短文来写&#xff0c;但是没办法&#xff0c;我一次写个1万字&#xff0c;会限流&#xff0c;所以将就一下吧。 上篇文章我用了 Redis 的6大模块这个思路来描绘我脑子中的 Redis。其实这6大…

密码算法概论

基本概念 什么是密码学&#xff1f; 简单来说&#xff0c;密码学就是研究编制密码和破译密码的技术科学 例题&#xff1a; 密码学的三个阶段 古代到1949年&#xff1a;具有艺术性的科学1949到1975年&#xff1a;IBM制定了加密标准DES1976至今&#xff1a;1976年开创了公钥密…

Golang | Leetcode Golang题解之第4题寻找两个正序数组的中位数

题目&#xff1a; 题解&#xff1a; func findMedianSortedArrays(nums1 []int, nums2 []int) float64 {if len(nums1) > len(nums2) {return findMedianSortedArrays(nums2, nums1)}m, n : len(nums1), len(nums2)left, right : 0, mmedian1, median2 : 0, 0for left <…

app自动化-Appium学习笔记

使用Appium&#xff0c;优点&#xff1a; 1、支持语言比较多&#xff0c;例如&#xff1a;Java、Python、Javascript、PHP、C#等语言 2、支持跨应用&#xff08;windows、mac、linux&#xff09; 3、适用平台Android、iOS 4、支持Native App(原生app)、Web App、Hybird App…

算法系列--递归,回溯,剪枝的综合应用(1)

&#x1f495;"对相爱的人来说&#xff0c;对方的心意&#xff0c;才是最好的房子。"&#x1f495; 作者&#xff1a;Lvzi 文章主要内容&#xff1a;算法系列–递归,回溯,剪枝的综合应用(1) 大家好,今天为大家带来的是算法系列--递归,回溯,剪枝的综合应用(1) 1.全排…

使用Redis集合List实现消息队列

系列文章目录 文章目录 系列文章目录前言前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,看懂了就去分享给你的码吧。 Redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型…

高阶DS---AVL树详解(每步配图)

目录 前言&#xff1a; AVL树的概念: AVL树节点的定义&#xff1a; AVL树的插入&#xff08;重点&#xff09; AVL树的旋转&#xff1a; &#xff08;1&#xff09;新节点插入较高左子树的左侧---右单旋 &#xff08;2&#xff09;新节点插入较高右子树的右侧---左单旋 …

unity双层滑动实现

实现功能&#xff1a; 当滑动列表中内容处于顶端的时候&#xff0c;向上滑动优先滑动整个滑动列表&#xff0c;当滑动列表移动到设置位置&#xff0c;即设定的最高处时&#xff0c;继续移动列表内内容。向下移动亦然&#xff0c;当内容处于滑动列表顶端时&#xff0c;移动整个滑…

深入解析Hadoop生态核心组件:HDFS、MapReduce和YARN

这里写目录标题 01HDFS02Yarn03Hive04HBase1&#xff0e;特点2&#xff0e;存储 05Spark及Spark Streaming关于作者&#xff1a;推荐理由&#xff1a;作者直播推荐&#xff1a; 一篇讲明白 Hadoop 生态的三大部件 进入大数据阶段就意味着进入NoSQL阶段&#xff0c;更多的是面向…

[游戏开发][UE5.3]代码生成蓝图文件并在代码中保存文件。

我看网上有人的做法比我更好&#xff0c;我这个更简单 UE5-GAS:读取Excel数据在蓝图创建并更新GE类 - 知乎 数据配表 测试编辑器API 创建编辑器蓝图文件&#xff0c;继承AssetActionUtility.h 创建在编辑器中显示的函数&#xff0c;可以用中文命名方便其他人使用。 右键任意…

从零开始学Python数据分析:菜鸟也能成高手(文末送书)

&#x1f935;‍♂️ 个人主页&#xff1a;艾派森的个人主页 ✍&#x1f3fb;作者简介&#xff1a;Python学习者 &#x1f40b; 希望大家多多支持&#xff0c;我们一起进步&#xff01;&#x1f604; 如果文章对你有帮助的话&#xff0c; 欢迎评论 &#x1f4ac;点赞&#x1f4…

【数据结构与算法初阶(c语言)】插入排序、希尔排序、选择排序、堆排序、冒泡排序、快速排序、归并排序、计数排序-全梳理(万字详解,干货满满,建议三连收藏)

目录 1.排序的概念及其运用 1.1排序的概念 1.2排序运用 1.3常见的排序算法 2.插入排序 2.1 原理演示&#xff1a;​编辑 2.2 算法实现 2.3 算法的时间复杂度和空间复杂度分析 3.希尔排序 3.1算法思想 3.2原理演示 3.3代码实现 3.4希尔算法的时间复杂度 4.冒泡排序 4.1冒泡排…

test01

欢迎关注博主 Mindtechnist 或加入【Linux C/C/Python社区】一起学习和分享Linux、C、C、Python、Matlab&#xff0c;机器人运动控制、多机器人协作&#xff0c;智能优化算法&#xff0c;滤波估计、多传感器信息融合&#xff0c;机器学习&#xff0c;人工智能等相关领域的知识和…

Java的IDEA的工程管理

模块和包的图标&#xff1a; 举个例子&#xff1a; IDEA中创建包&#xff1a; 如图所示&#xff0c;com.LBJ的意思是在com包中创建子包LBJ 参见&#xff1a; IDEA中项目、模块和包的关系_idea中模块和项目-CSDN博客

网站秒收录的6个方法

网站怎么做到秒收录 网站的收录速度对于网站的曝光和流量至关重要。如果能够实现网站的秒收录&#xff0c;将大大提高网站的可见性和访问量。下面介绍几种方法&#xff0c;帮助您实现网站秒收录的目标。 1. 提交sitemap.xml文件 创建并提交sitemap.xml文件是实现网站快速收录…

Netty学习——源码篇9 Netty的Handler其他处理 备份

1 ChannelHandlerContext 每个ChannelHandler被添加到ChannelPipeline后&#xff0c;都会创建一个ChannelHandlerContext&#xff0c;并与ChannelHandler关联绑定。ChannelHandlerContext允许ChannelHandler与其他的ChannelHandler进行交互。ChannelHandlerContext不会改变添加…

U8二次开发-钉钉集成

钉钉开放平台作为企业沟通和协作的重要工具,其技术的每一次迭代都为企业带来了新的机遇和挑战。随着企业对于高效沟通和智能化管理的需求日益增长,钉钉平台的SDK更新显得尤为重要。把传统的U8与钉钉平台集成,可以有效的将业务功能和角色进行前移,打破应用系统二八原则,即8…

dailyneaty、希亦、鲸立婴儿洗衣机怎么样?三款卷王测评PK对决

曾经我还是一直选择手洗婴儿衣物&#xff0c;最终还是加入了买婴儿洗衣机的大军&#xff0c;一方面因为我懒&#xff0c;不想再继续手洗&#xff0c;另一方面是因为我看了科普才知道&#xff0c;当我们清洗衣物时&#xff0c;除了要洗掉衣物表面的污渍&#xff0c;更需要消除掉…

MATLAB——知识点备忘

最近在攻略ADC建模相关方面&#xff0c;由好多零碎的知识点&#xff0c;这里写个备忘录。 Matlab 判断一个数是否为整数 1. isinteger 函数 MATLAB中&#xff0c;可以使用 isinteger 函数来判断一个数是否为整数&#xff0c;例如&#xff1a;要判断x是否为整数可以采用以下代…

科研学习|论文解读——情感对感知偶然信息遭遇的影响研究(JASIST,2022)

原文题目 Investigating the impact of emotions on perceiving serendipitous information encountering 一、引言 serendipity一词最初是由霍勒斯沃波尔创造的&#xff0c;他将其定义为“通过意外和睿智发现你并不追求的事物”。信息研究中大多数现有的偶然性定义从几个角度看…