保研考研机试攻略:python笔记(1)
🐨🐨🐨宝子们好呀 ~ 我来更新欠大家的python笔记了,从这一篇开始我们来学下python,当然,如果只是想应对机试并且应试语言以C和C++为主,那么大家对python了解一点就好,重点可以看高分篇、满分篇和大数问题python合集就好,本部分建议学有余力的同学或者想多了解一些python的同学来看哦 ~ 话不多说,上干货 ~ ( •̀ ω •́ )✧
目录
🐨🐨🐨1输出格式问题
🐼数字对齐
🐼输出间隔问题
🐼global与nonlocal
🐼format自适应小数点
🐼format用法
🐶1、基本用法
🐶2、进阶用法
🐶3、多个格式化
🐼如何print
🐨🐨🐨2字符类
🐼ASCII码转换
🐶字符串转ASCII码
🐶ASCII码转字符串
🐼字母大小写转换
🐼字符检测函数isalpha()
🐼去除字符串的空格
🐶去除字符串开头或者结尾的空格
🐶去除字符串开头的空格
🐶去除字符串结尾的空格
🐶去除全部空格
🐼字符串和数组
🐨🐨🐨3列表类
🐼注意事项
🐼enumerate循环语句
🐼index获取指定值元素的位置
🐼insert插入元素
🐶语法
🐶参数
🐶返回值
🐶实例
🐼删除元素
🐶remove()
🐶pop()
🐶切片
🐶clear和del
🐼count统计元素出现次数
🐼用数组实现栈
🐼差分与前缀和方法
在正式开始之前,我先提醒一下大家, 若试题中有多组输入,每组样例输入完后会有EOFerror,所以我们在写python代码时要采用try+except的结构来防止阻塞!
🐨🐨🐨1输出格式问题
🐼数字对齐
print("%-3s " % str(j), end='')#%-3s表示 ‘str(j)’占用三个字符,向右对齐,多余字符用空格
补充
🐼输出间隔问题
#看清间隔大小,此处无需加空格
for i,s in res_order: print(i,s)
#若加空格,间隔明显偏大,输出格式为
'''
input:
3
1 90
2 87
3 92
output: 2 87 1 90 3 92
'''
🐼global与nonlocal
a = 0
def change_a(): global aa =1print(a) #1
def change(): b = 0def c_b():nonlocal b b =1print(b) #1 #global b#b =1 # 报错:没有b这个全局变量
🐼format自适应小数点
price = int(input())
discount =1
if price >=1000 and price <2000: discount = 0.95
elif price >=2000 and price <3000: discount = 0.9
elif price >=3000 and price <5000: discount = 0.85
elif price >=5000:discount = 0.8
pay = discount*price
print("discount={},pay={:g}".format(discount,pay))##{:g}自动去掉小数点后的0
🐼format用法
🐶1、基本用法
(1)不带编号,即“{}”
(2)带数字编号,可调换顺序,即“{1}”、“{2}”
(3)带关键字,即“{a}”、“{tom}”
>>> print('{} {}'.format('Hello ','world ')) # 不带字段
Hello world
>>> print('{0} {1}'.format('Hello ','world ')) # 带数字编号
Hello world
>>> print('{0} {1} {0}'.format('Hello ','world ')) # 打乱顺序
Hello world Hello
>>> print('{1} {1} {0}'.format('Hello ','world '))
world world Hello
>>> print('{a} {b} {a}'.format(a='Hello ',b='world ')) # 带关键字
Hello world Hello
🐶2、进阶用法
(1)< (默认)左对齐、 > 右对齐、 ^ 中间对齐、 = (只用于数字)在小数点后进行补齐
(2)取位数“{:4s}”、"{:.2f}"等
>>> print('{} and {}'.format('Hello ','world ')) # 默认左对齐
Hello and world
>>> print('{:10s} and {:>10s}'.format('Hello ','world ')) # 取10位左对齐,取10位右对齐
Hello and world
>>> print('{:^10s} and {:^10s}'.format('Hello ','world ')) # 取10位中间对齐
Hello and world
>>> print('{} is {:.2f}'.format(1.123,1.123)) # 取2位小数
1.123 is 1.12
>>> print('{0} is {0:>10.2f}'.format(1.123)) # 取2位小数,右对齐,取10位
1.123 is 1.12
🐶3、多个格式化
'b' - 二进制。将数字以2为基数进行输出。
>>> print('{0:b}'.format(3))
11
'c' - 字符。在打印之前将整数转换成对应的Unicode字符串。
>>> print('{:c}'.format(20))
4
'd' - 十进制整数。将数字以10为基数进行输出。
>>> print('{:d}'.format(20))
20
'o' - 八进制。将数字以8为基数进行输出。
>>> print('{:o}'.format(20))
24
'x' - 十六进制。将数字以16为基数进行输出,9以上的位数用小写字母。
>>> print('{:x}'.format(20))
14
'e' - 幂符号。用科学计数法打印数字。用 'e'表示幂。
>>> print('{:e}'.format(20))
2.000000e+01
'g' - 一般格式。将数值以fixed-point格式输出。当数值特别大的时候,用幂形式打印。
>>> print('{:g}'.format(20.1))
20.1
'n' - 数字。当值为整数时和 'd'相同,值为浮点数时和 'g'相同。不同的是它会根据区域设置插入数字分隔符。
>>> print('{:f}'.format(20))
20.000000
>>> print('{:n}'.format(20))
20
'%' - 百分数。将数值乘以100然后以fixed-point('f')格式打印,值后面会有一个百分号。
>>> print('{:%}'.format(20))
2000.000000%
🐼如何print
a = "12"
b = "3"
#非指定end时,print默认end为换行符
print("%-3s" % str(a), end=' !')
#“-”为左对齐,“3”表示取3位,不够则空格补位,“%"后的 str(a)对应于“%-3s”
print("%3s" % str(b), end=' !')
#a: 12 !
#b: 3 !
字符串输出
-
%s
-
%10s——右对齐,占位符10位 %-10s——左对齐,占位符10位
-
%.2s——截取2位字符串
-
%10.2s——10位占位符,截取两位字符串
print('%s' % 'hello world') # 字符串输出
#hello worldprint('%20s' % 'hello world') # 右对齐,取20位,不够则补位
#hello worldprint('%-20s' % 'hello world') # 左对齐,取20位,不够则补位
#hello worldprint('%.2s' % 'hello world') # 取2位
#heprint('%10.2s' % 'hello world') # 右对齐,取2位
#heprint('%-10.2s' % 'hello world') # 左对齐,取2位
#he
🐨🐨🐨2字符类
🐼ASCII码转换
🐶字符串转ASCII码
借助ord()函数实现,ASCII码转化可以看作字符减运算, ord()是python自带的函数,无需导入:
>>> print(ord('c')-ord('a'))
2
借助ord()函数不仅可以进行字符减运算,也可以进行加运算,但一般不这么用:
>>> print(ord('c')+ord('a'))
196
🐶ASCII码转字符串
直接借助python自带的chr()函数:
>>> print(chr(99))
c
🐼字母大小写转换
-
upper():所有字母大写
-
lower():所有字母小写
-
capitalize():首字母大写,其他字母小写
-
title():每个单词首字母大写,其他小写
#encoding:UTF-8
msg = 'www.BAIDU.com.123'
print(msg.upper()) #upper()函数,将所有字母都转换成大写
print(msg.lower()) #lower()函数,将所有字母都转换成小写
print(msg.capitalize()) #capitalize()函数,将首字母都转换成大写,其余小写
print(msg.title()) #title()函数,将每个单词的首字母都转换成大写,其余小写
'''
WWW.BAIDU.COM.123
www.baidu.com.123
Www.baidu.com.123
Www.Baidu.Com.123
'''
🐼字符检测函数isalpha()
isalpha() 方法用于检测指定字符串是否只由字母组成。如果字符串中至少有一个字符并且所有字符都是字母则返回 True,否则返回 False。
#!/usr/bin/python
# coding=utf-8str = "runoob";
print str.isalpha();str = "runoob菜鸟教程";
print str.isalpha();str = "this is string example....wow!!!";
print str.isalpha();'''
True
False
False
'''
🐼去除字符串的空格
🐶去除字符串开头或者结尾的空格
>>> a = " a b c " >>> a.strip()
'a b c'
🐶去除字符串开头的空格
>>> a = " a b c "
>>> a.lstrip()
'a b c '
🐶去除字符串结尾的空格
>>> a = " a b c "
>>> a.rstrip()
' a b c'
🐶去除全部空格
replace:
>>> a = " a b c "
>>> a.replace(" ", "") 'abc'
split()+join():
split()可以去除字符串中的空格,并按空格分割成list。
>>> a = " a b c "
>>> b = a.split() # 字符串按空格分割成列表 >>> b ['a', 'b', 'c']
>>> c = "".join(b) # 使用一个空字符串合成列表内容生成新的字符串 >>> c 'abc'
# 快捷用法
>>> a = " a b c "
>>> "".join(a.split()) 'abc'
🐼字符串和数组
数组转字符串:
''.join(['a','b','c'])#'abc'
字符串转数组:
list('abc')#['a','b','c']
'a b c'.split()#['a','b','c']
🐨🐨🐨3列表类
🐼注意事项
列表的append使用的是引用传递,即加入的是原数据地址,对原数据进行pop等操作时同时也会改变使用append原数据的数据
解决方法:利用list.copy() 或者使用list[:]代替list
a = [1,2,3]
b =[a] # [[1,2,3]]
c =[3]
b.append(a)# [[1,2,3],[1,2,3]]
b.append(c) #[[1,2,3],[1,2,3],[3]]
a.pop()
c=[4]
b # [[1,2],[1,2],[3]]
b.append(a.copy())# [[1,2],[1,2],[3],[1,2]]
b.append(a[:])# [[1,2],[1,2],[3],[1,2],[1,2]]
a.pop()
b # [[1,2],[1,2],[3],[1,2],[1,2]]
在使用append时要注意,当目标list之前有其他变量引用时,值也会变化如:
a=[1]
b=a
c = a[:]
d =a+[2]
a.append(3)
# a [1,3]
# b [1,3]
# c [1]
# d [1,2]
🐼enumerate循环语句
while True: try:string = list(input()) list1 = []for i in string:if i.isalpha():list1.append(i)#大写全变为小写,sort可满足 当字母相同不影响本来输入的数据的顺序list1.sort(key=lambda c: c.lower())#此类循环可以得到index值for index, i in enumerate(string): if not i.isalpha():# 可通过insert直接插入得到结果,无需另构建一个空字符串相加获得结果list1.insert(index, i) print(''.join(list1))except:break
🐼index获取指定值元素的位置
#用法,获取列表中值为val的索引值,但只能寻找一维的list
#当列表中有多个相同val值时,只返回最小的索引值
a = [1,2,2,3]
val = 2
a.index(val)
# 1
🐼insert插入元素
insert函数用于将指定对象插入列表的指定位置。
🐶语法
insert()方法语法:
list.insert(index, obj)
🐶参数
-
index -- 对象 obj 需要插入的索引位置。
-
obj -- 要插入列表中的对象。
🐶返回值
该方法没有返回值,但会在列表指定位置插入对象。
🐶实例
#!/usr/bin/python
aList = [123, 'xyz', 'zara', 'abc']
aList.insert( 3, 2009)
print "Final List : ", aList#输出:
#Final List : [123, 'xyz', 'zara', 2009, 'abc']
注意,下标是从0开始的!
🐼删除元素
-
remove():一次删除一个元素;如果列表内有重复元素则删除第一个;元素不存在时抛出异常 ValueError
-
pop():删除一个指定的索引位置上的元素;指定索引不存在则抛出异常IndexError
-
切片:一次至少删除一个元素
-
clear():清空列表
-
del:删除列表
🐶remove()
指定值
1. 一次删除一个元素;
2. 如果列表内有重复元素则删除第一个;
3. 元素不存在时抛出异常ValueError。
lst = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
print("原列表为:", lst)
#原列表为:[0, 1, 2, 3, 4, 5, 6, 7, 8, 9] lst.remove(5)
print("删除后的列表为:", lst)
#删除后的列表为:[0, 1, 2, 3, 4, 6, 7, 8, 9]
🐶pop()
删除一个指定的索引位置上的元素;指定索引不存在则抛出异常IndexError
注意:如果不指定参数,则默认删除最后一个元素!
lst = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
print("原列表为:", lst)
#原列表为:[0, 1, 2, 3, 4, 5, 6, 7, 8, 9] lst.pop(5)
print("删除后的列表为:", lst)
#删除后的列表为:[0, 1, 2, 3, 4, 6, 7, 8, 9]
🐶切片
# 切片的本意为截取原有列表中指定的的某一段,或者说是复制指定的那一段,并返回了新的列表
lst = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
print("原列表为:", lst)
# 借助列表的添加方式,原来添加的操作中,使得lst[start,stop] = lst1(此为添加的元素)
# 那么删除操作可以类似的,使lst1为空列表,那么原列表中指定一段的元素被空替代,则完成删除
lst[1:3] = [] # 将第1,2索引位的元素删除
print("删除后的列表为:", lst)
🐶clear和del
clear为清空列表中的元素,列表对象还存在
del直接删除了列表对象
lst = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
print("原列表为:", lst)
lst.clear()
print("删除后的列表为:", lst)lst = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
print("原列表为:", lst)
del lst
print("删除后的列表为:", lst)
🐼count统计元素出现次数
统计列表中某个元素出现的次数
#用法[ ].count(object)
[1,2,1,3].count(1)
# 2
🐼用数组实现栈
"""
isEmpty 判断是否为空
push 添加新元素(及最后被添加的元素为栈顶)
pop 移出栈顶元素
peek 查看当前栈顶元素
size 计算数量
""" class Stack:#创建一个栈def_init_(self):#初始为空栈self.items = [] def isEmpty(self):return self.items ==[] def push(self, item):self.items.append(item) #添加新成员,新成员为顶,旧骨干为底 def pop(self):return self.items.pop() #移出顶,底上位def peek(self): #查看当前顶部成员return self.items[-1]def size(self): #查看当前成员数量return len(self.items)
🐼差分与前缀和方法
适用题型:某一个区间同时加减一个数
举例,每次对某一区间的数进行加减操作,最后查询某坐标的数:
普通方法:创建一个数组,对输入的每个区间分别循环,区间内的所有值加一。此方法容易理解,但是容易超时。
优化方法:
1、差分:只对每个输入的起点和终点进行加减操作
2、前缀和:最后统一只循环一次,每次迭代当前数目加前一个数的大小,即为最终的统计数
data = []
check = []
while True:Bi, Ei = map(int, input().split()) if Bi == Ei == 0:breakdata.append((Ei, Bi))while True:bi, ei = map(int, input().split()) if bi == ei == 0:breakcheck += [i for i in range(bi, ei + 1)]max_index = max(data)[0]
wall = [0 for i in range(max_index+5)]# 记录差分 ,表示Bi到Ei区间存在值
for Ei, Bi in data: wall[Bi] += 1wall[Ei+1] -= 1# 遍历一遍,求前缀和
for i in range(1, len(wall)): wall[i] += wall[i - 1]for v in check:print(wall[v])
好啦,今天我们先学到这里,学完的同学们都太棒了,我们下一篇见 ~ 👋👋👋
有什么问题我们随时评论区见哦 ~ 🌹🌹🌹
相关文章:

保研考研机试攻略:python笔记(1)
🐨🐨🐨宝子们好呀 ~ 我来更新欠大家的python笔记了,从这一篇开始我们来学下python,当然,如果只是想应对机试并且应试语言以C和C为主,那么大家对python了解一点就好,重点可以看高分篇…...

在浏览器中运行 Puppeteer:解锁新能力
Puppeteer,这个强大的浏览器自动化工具,通常在Node.js环境中运行。但你有没有想过,在浏览器本身中运行Puppeteer会是什么样子?这不仅能让我们利用Puppeteer的功能完成更多任务,还能避开Node.js特定的限制。 支持的功…...

Kafka消费者故障,出现活锁问题如何解决?
大家好,我是锋哥。今天分享关于【Kafka消费者故障,出现活锁问题如何解决?】面试题?希望对大家有帮助; Kafka消费者故障,出现活锁问题如何解决? 1000道 互联网大厂Java工程师 精选面试题-Java资…...

pytorch 交叉熵损失函数 BCELoss
BCE Loss 交叉熵损失函数计算公式: BCE Loss - 1/n*(y_actual * log(y_pred) (1 - y_actual) * log(1 - y_pred)) t[i]为标签值:0或者1 o[i]是经过sigmoid后的概率值 BCEWithLogitsLoss 这个损失将Sigmoid层和BCELoss合并在一个类中。 BCEWithLog…...
【进阶】面向对象之接口(多学三招)
文章目录 IDK8开始接口中新增的方法1.允许在接口中定义默认方法,需要使用关键字default修饰2.接口中的默认方法的定义格式3.接口中默认方法的注意事项总结 IDK8开始接口中新增的方法 JDK7以前:接口中只能定义抽象方法。JDK8的新特性:接口中可以定义有方法体的方法。(默认、静态…...
linux上trace code的几种方法
我们在看代码时,总是会遇到下面问题: 1.查看某个场景下的代码执行流 2.查看某个函数被执行时的routine 但是,如果直接查看源码,源码可能代码量大,且分支多,不容易理清。就需要让相关程序运行起来查看。 …...

文件操作(1) —— 文件基础知识
目录 1. 为什么使用文件? 2. 文件种类【按功能分】 3. 文件名 4. 数据文件种类【按存储方式细分】 5. 文件的打开和关闭 5.1 流和标准流 5.2 文件指针 5.3 文件的打开和关闭函数 6. 文件缓冲区 1. 为什么使用文件? 如果没有⽂件,我…...

4K双模显示器7款评测报告
4K双模显示器7款评测报告 HKC G27H7Pro 4K双模显示器 ROG华硕 XG27UCG 4K双模显示器 雷神 ZU27F160L 4K双模显示器 泰坦军团 P275MV PLUS 4K双模显示器 外星人(Alienware)AW2725QF 4K双模显示器 SANC盛色 D73uPro 4K双模显示器 ANTGAMER蚂蚁电竞 …...
2024.10.24华为(留学生)笔试题解
第一题集装箱堆叠 看注释即可 // 看题目,是最长连续序列的变种。底应该选大的,然后往上堆叠选择次大的(越接近底越好?) // 后续想一下,像是动态规划? // 再一想,好像排序后很容易处理#include <bits/stdc++.h> #include <functional> using namespace st…...

基于neo4j的医疗问诊系统
当你身体不适时,想要找到准确的答案却经常遇到模棱两可的答复,糟心吗?现在,基于neo4j的智能医疗问诊系统为你带来全新体验!我们设计了一个具备自动化问答功能的医疗系统,帮助用户快速获取专业的健康知识答案…...

java :String 类
在我们之前的讲解中我们已经了解了很多的Java知识,这节我们讲Java中字符如何定义以及关于String如何使用还有常见的string函数。 【本节目标】 1. 认识 String 类 2. 了解 String 类的基本用法 3. 熟练掌握 String 类的常见操作 4. 认识字符串常量池 5. 认识 …...
关于非中文或者url文本不换行的问题
我在一个写一个简单的url展示的时候,发现url一直溢出不换行,查了各种方法不管用,我请教了我大哥,他直接甩给我两个css放进去就好了 word-break:break-all; 按字符截断换行 /* 支持IE和chrome,FF不支持*/ word-w…...

LeetCode 热题 100之矩阵
1.矩阵置0 思路分析:使用标记数组 记录需要置为 0 的行和列:使用两个布尔数组 zeroRows 和 zeroCols 来记录需要置为 0 的行和列两次遍历 第一遍遍历整个矩阵,找到所有为0的元素,并更新zeroRows和zeroCols;第二遍遍历…...
YOlO系列——yolo v3
文章目录 一、算法原理二、网络结构三、正负样本匹配规则四、损失函数五、边框预测六、性能特点七、应用场景 YOLO-v3(You Only Look Once version 3)是一种先进的目标检测算法,属于YOLO系列算法的第三代版本。以下是对YOLO-v3的详细介绍&…...

基于Datawhale开源量化投资学习指南(11):LightGBM在量化选股中的优化与实战
1. 概述 在前几篇文章中,我们初步探讨了如何通过LightGBM模型进行量化选股,并进行了一些简单的特征工程和模型训练。在这一篇文章中,我们将进一步深入,通过优化超参数和实现交叉验证来提高模型的效果,并最终通过回测分…...

Python4
4. 更多控制流工具 除了刚介绍的 while 语句,Python 还用了一些别的。我们将在本章中遇到它们。 4.1. if 语句 if elif else if x<0: x 0 print(Negative changed to zero) elif x0: print( zero) else: print(More) 4.2. for 语句 Pyth…...

springboot系列--web相关知识探索六
一、前言 web相关知识探索五中研究了请求中所带的参数是如何映射到接口参数中的,也即请求参数如何与接口参数绑定。主要有四种、分别是注解方式、Servlet API方式、复杂参数、以及自定义对象参数。web相关知识探索五中主要研究自定义对象参数数据绑定底层原理。本次…...

FreeSWITCH 简单图形化界面30 - 使用MYODBC时可能遇到的错误
FreeSWITCH 简单图形化界面30 - 使用MYODBC时可能遇到的错误 测试环境1、 MYODBC 3.51.18 or higher2、分析和解决2.1 解决1,降级MySQL ODBC2.2 解决2,修改FreeSWITCH代码 测试环境 http://myfs.f3322.net:8020/ 用户名:admin,密…...

阿里云物联网的通信方式
阿里云物联网通信的两种方式,一个是物模型(分为服务,事件,属性),一个是自定义topic(要另外设置数据流转) 1.使用产品内的功能定义,(其实也就是Topic中定义好的…...

自由职业者的一天:作为小游戏开发者的真实工作日记
大家好,我是小蜗牛。 在这个快节奏的数字时代,自由职业者的生活往往充满了挑战与机遇。作为一名微信小游戏开发者,我的日常工作并不像人们想象中的那样充满光鲜亮丽的画面,而是由无数的编码、调试和创意碰撞组成的。今天…...

idea大量爆红问题解决
问题描述 在学习和工作中,idea是程序员不可缺少的一个工具,但是突然在有些时候就会出现大量爆红的问题,发现无法跳转,无论是关机重启或者是替换root都无法解决 就是如上所展示的问题,但是程序依然可以启动。 问题解决…...

【人工智能】神经网络的优化器optimizer(二):Adagrad自适应学习率优化器
一.自适应梯度算法Adagrad概述 Adagrad(Adaptive Gradient Algorithm)是一种自适应学习率的优化算法,由Duchi等人在2011年提出。其核心思想是针对不同参数自动调整学习率,适合处理稀疏数据和不同参数梯度差异较大的场景。Adagrad通…...

大型活动交通拥堵治理的视觉算法应用
大型活动下智慧交通的视觉分析应用 一、背景与挑战 大型活动(如演唱会、马拉松赛事、高考中考等)期间,城市交通面临瞬时人流车流激增、传统摄像头模糊、交通拥堵识别滞后等问题。以演唱会为例,暖城商圈曾因观众集中离场导致周边…...
Qt Widget类解析与代码注释
#include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this); }Widget::~Widget() {delete ui; }//解释这串代码,写上注释 当然可以!这段代码是 Qt …...

【Redis技术进阶之路】「原理分析系列开篇」分析客户端和服务端网络诵信交互实现(服务端执行命令请求的过程 - 初始化服务器)
服务端执行命令请求的过程 【专栏简介】【技术大纲】【专栏目标】【目标人群】1. Redis爱好者与社区成员2. 后端开发和系统架构师3. 计算机专业的本科生及研究生 初始化服务器1. 初始化服务器状态结构初始化RedisServer变量 2. 加载相关系统配置和用户配置参数定制化配置参数案…...

ESP32读取DHT11温湿度数据
芯片:ESP32 环境:Arduino 一、安装DHT11传感器库 红框的库,别安装错了 二、代码 注意,DATA口要连接在D15上 #include "DHT.h" // 包含DHT库#define DHTPIN 15 // 定义DHT11数据引脚连接到ESP32的GPIO15 #define D…...

Module Federation 和 Native Federation 的比较
前言 Module Federation 是 Webpack 5 引入的微前端架构方案,允许不同独立构建的应用在运行时动态共享模块。 Native Federation 是 Angular 官方基于 Module Federation 理念实现的专为 Angular 优化的微前端方案。 概念解析 Module Federation (模块联邦) Modul…...
WEB3全栈开发——面试专业技能点P2智能合约开发(Solidity)
一、Solidity合约开发 下面是 Solidity 合约开发 的概念、代码示例及讲解,适合用作学习或写简历项目背景说明。 🧠 一、概念简介:Solidity 合约开发 Solidity 是一种专门为 以太坊(Ethereum)平台编写智能合约的高级编…...

vue3+vite项目中使用.env文件环境变量方法
vue3vite项目中使用.env文件环境变量方法 .env文件作用命名规则常用的配置项示例使用方法注意事项在vite.config.js文件中读取环境变量方法 .env文件作用 .env 文件用于定义环境变量,这些变量可以在项目中通过 import.meta.env 进行访问。Vite 会自动加载这些环境变…...

Linux 内存管理实战精讲:核心原理与面试常考点全解析
Linux 内存管理实战精讲:核心原理与面试常考点全解析 Linux 内核内存管理是系统设计中最复杂但也最核心的模块之一。它不仅支撑着虚拟内存机制、物理内存分配、进程隔离与资源复用,还直接决定系统运行的性能与稳定性。无论你是嵌入式开发者、内核调试工…...