Python基础知识入门(二)

news2024/11/26 3:45:43

Python基础知识入门(一)


一、数字类型

       Python 数字数据类型用于存储数值。数据类型是不允许改变的,如改变数字数据类型的值,将重新分配内存空间。

1.数字函数

函数

 描述 

abs(x)

返回数字的绝对值。如abs(-10) 返回 10。

fabs(x)

返回x的绝对值(float类型)。 如math.fabs(-5) 返回 5。

max(x)

返回给定参数的最大值,参数可以为序列。如max(1,2,3)返回 3。

min(x)

返回给定参数的最小值,参数可以为序列。如min(1,2,3) 返回1。

ceil(x)

返回数字的向上整数。如math.ceil(4.1) 返回 5。

floor(x)

返回数字的下舍整数。如math.floor(4.9)返回 4。

gcd(x,y)

返回x和y的最大公约数。如math.gcd(3,6) 返回3。

divmod(x,y)

返回x除以y的商和余数。 如divmod(10,3) 返回(3, 1)。

round(x[,n])

返回浮点数 x 的四舍五入值,如给出 n 值,则舍入到小数点后的位数。

保留值将保留到离上一位更近的一端。如round(1.2345,2)返回1.23。

pow(x,y)

x**y 运算后的值。如pow(2,3)返回8,等同于2^3=8。

sqrt(x)

matt.sqrt()返回数字x的平方根。如math.sqrt(100)返回10.0。

factorial(x)

返回x阶乘的值 如math.factorial(3) 返回 6。

fsum(x)

返回迭代器里每个元素之和。  如x = (1,2,3) math.fsum(x) 返回 6.0。

sum(x)

返回迭代器x里每个元素之和。如sum(1,2,3) 返回 6。

prod(x)

返回迭代器x里每个元素之积。如sum(2,3,4) 返回 24。

 log(x)

返回x的自然对数。如math.log(math.e)返回1.0,math.log(100,10)返回2.0。

log10(x)

返回以10为基数的x的对数。如math.log10(100)返回 2.0。

exp(x)

返回e的x次幂。如math.exp(1) 返回2.718281828459045。

modf(x)

math.modf()返回x的整数部分与小数部分,两部分的数值符号与x相同,

整数部分以浮点型表示。如math.modf(1.23) 返回(0.22999......, 1.0)。


2.随机函数

函数

描述

choice(x)

从序列x中随机挑选一个元素,x --可以是一个列表、元组、字符串。

如random.choice(range(10)),从0到9中随机挑选一个整数。

randrange([start,] stop [,step])

指定范围内按指定基数递增集合中获取一个随机数,默认值为 1

start -- 指定范围内的开始值,包含在范围内。

stop -- 指定范围内的结束值,不包含在范围内。

step -- 指定递增基数。

如random.randrange(1, 100, 2)从 1-100 中选取一个奇数。

 random()

在[0,1)范围内随机生成一个浮点数。

如random.random() 

 seed([x])

改变随机数生成器种子,需在调用其他随机函数之前调用此函数。

如random.seed(8),提前指定种子数字为8。

 shuffle(x)

将序列x的所有元素随机排序。

如random.shuffle(x)。

 uniform(x,y)

[x,y]范围内随机生成一个浮点数。

如random.uniform(3,5)。


3.数字常量

常量

描述

pi

数学常量 pi(圆周率,一般以π来表示 3.1415926......)。如math.pi。

e

数学常量 e,e即自然常数(自然常数 2.7182818......)。如math.e。


二、字符类型

       字符串是 Python 中最常用数据类型。字符串是使用一对英文单引号(')或英文双引号(")包裹的任意文本,可用(''')三引号包裹多行字符串,也可\n实现字符串换行。创建字符串很简单,只要为变量分配一个值即可。例如:'Hello World!'。

       注意:

       字符串不可以“增删改”操作,但可以通过字符拼接来实现“增删改”操作。

1.字符函数

序号

函数名

方法及描述

1

len(x)

返回字符串长度。

x = 'hello',len(x),返回5。

2

upper()

转换字符串中的小写字母为大写。

x = 'hello',x.upper(),返回HELLO。

3

lower()

转换字符串中所有大写字符为小写。

x = 'HELLO',x.lower(),返回hello。

4

capitalize()

将字符串x的第一个字符转换为大写。

x = 'hello world!' x.capitalize(),返回 Hello world!。

5

title()

"标题化"的字符串,所有单词都是以大写开始,其余字母均为小写。

x = 'hello world',x.title(),Hello World。

6

swapcase()

将字符串中大写转换为小写,小写转换为大写。

x = 'hEllO',x.swapcase(),返回HeLLo。

7

max(x)

返回字符串 x 中小写字母最大的字母。

x = 'abcde',max(x),返回e。

8

min(x)

返回字符串 x 中最小的字母。

x = 'Abcde',min(x),返回A。

9

split()

split(str="", num=string.count(str))

以 str 为分隔符截取字符串,如果 num 有指定值,

则仅截取 num+1 个子字符串。

x = 'h,e,l,l,o',x.split(',')返回['h', 'e', 'l', 'l', 'o']。

10

rsplit()

rsplit(str="", num=string.count(str))

以 str 为分隔符从右边截取字符串,如果 num 有指定值,

则仅截取 num+1 个子字符串。

x = 'h,e,l,l,o',x.rsplit(',',2)返回['h, e, l', 'l', 'o']。

11

rpartition()

指定字符串最后一次出现,并将该字符串拆分为包含三个元素的元组。

x = 'hello',x.rpartition('l'),返回('hel', 'l', 'o')

12

find(x)

find(str, beg=0, end=len(string))
检测 str 是否包含在字符串中,如果指定范围 beg 和 end ,

则检查是否包含指定范围内,如果包含返回开始索引值,否则返回-1。

x = 'hello world' x.find('l')返回2;x.find('l',5)返回9。

13

rfind()

rfind(str, beg=0,end=len(string))​
类似于 find()函数,不过是从右边开始查找。

x = 'hello',x.rfind('l'),返回3,x.rfind('l',0,3)返回2。

14

index(x)

index(str, beg=0, end=len(string))
跟find()方法一样,只不过如果str不在字符串中会报一个异常。

x = 'hello world' x.index('l')返回2; x.index('l',5)返回9。

15

rindex()

rindex( str, beg=0, end=len(string))
类似于 index(),不过是从右边开始。

x = 'hello',x.rindex('l'),返回3,x.rindex('l',0,3)返回2。

16

center(x,y)

返回一个指定的宽度 x 居中的字符串,y 为填充的字符,默认为空格。

x = '漫步桔田' x.center(10,'*') ,返回 ***漫步桔田***。

17

ljust()

ljust(width[, fillchar])
返回一个原字符串左对齐,并使用 fillchar

填充至长度 width 的新字符串,fillchar 默认为空格。

x = 'hello',x.ljust(8,'*'),返回hello***。

18

rjust()

rjust(width,[, fillchar])

返回一个原字符串右对齐,并使用fillchar

(默认空格)填充至长度 width 的新字符串。

x = 'hello',x.rjust(8,'*'),返回***hello。

19

count(x)

count(x, beg= 0,end=len(string))
返回 x在字符出现次数, beg和end 用于返回指定范围内 x 出现次数。

x = 'Hello'  x.count('l') 返回 2;x.count('l',3)返回 1 。

20

replace()

replace(old, new [, max])
将字符串中 old 替换成 new,如果 max 指定,则替换不超过 max 次。

x = 'aacc',x.replace('c','b'),返回aabb,

x.replace('c','b',1),返回aabc。

21

join(x)

join(x)以指定字符作为分隔符,将 x 中所有元素合并为一个新字符串。

x = 'hello' '*'.join(x) ,返回h*e*l*l*o。

22

decode()

decode(encoding="utf-8", errors="strict")

encoding - 要使用的编码,如"UTF-8"

errors - 参数可以指定不同的错误处理方案

decode() 用来解码给定的 bytes 对象。

x = b'\xe6\xbc\xab\xe6\xad\xa5' x.decode('utf-8') 返回'漫步'。

23

encode()

encode(encoding='UTF-8',errors='strict')
encoding - 要使用的编码,如"UTF-8"

errors参数可以指定不同的错误处理方案

以 encoding 指定的编码格式编码字符串。

x = '漫步'x.encode('utf-8') 返回 b'\xe6\xbc\xab\xe6\xad\xa5'。

24

zfill()

返回长度为 width 的字符串,原字符串右对齐,前面填充0。

x = 'hello',x.zfill(10),返回00000hello。

25

lstrip()

截掉字符串左边的空格或指定字符。

x = '   HELLO',x.lstrip(),返回HELLO。

26

rstrip()

删除字符串末尾的空格或指定字符。

x = 'hello***',x.rstrip('*'),返回hello。

27

strip()

在字符串上执行 lstrip()和 rstrip()。

x = '**hello**',x.strip('*'),返回hello。

28

splitlines(x)

按照行('\r', '\r\n', \n')分隔,返回一个包含各行作为元素的列表,

如果参数 x 为 False,不包含换行符,如果为 True,则保留换行符。

'12\r34\r\n56\n78'.splitlines(),返回['12', '34', '56', '78']。
'12\r34\r\n56\n78'.splitlines(True),返回['12\r', '34\r\n', '56\n', '78']。

29

expandtabs()

expandtabs(tabsize=8)

expandtabs() 方法把字符串中的 tab 符号 \t 转为空格,

tab 符号 \t 默认的空格数是 8,在第 0、8、16...等处给出制表符位置,

如制表符位置字符数不足 8 倍数则以空格代替。

x = 'hello\tworld' x.expandtabs() 返回hello   world补充3个空格。

30

startswith()

startswith(x, beg=0,end=len(string))

检查字符串是否是以指定子字符串 x 开头,

是则返回 True,否则返回 False。

如果beg 和 end 指定值,则在指定范围内检查。

x = 'hello',x.startswith('h'),返回True。

31

endswith()

endswith(x, beg=0, end=len(string))

检查字符串是否以 x 结尾,如果 beg 和 end 指定则检查指定范围内

是否以 suffix 结束,如果是,返回 True,否则返回 False。

x = 'hello' x.endswith('o')返回True;x.endswith('l',0,3)返回True。

32

isalnum()

如果字符串不为空并且所有字符都是字母或数字,

则返回 True,否则返回 False。

x = 'hello world' x.isalnum()返回False。

33

isalpha()

如果字符串不为空且所有字符都是字母或中文字,

则返回 True, 否则返回 False。

x = 'hello漫步' x.isalpha()返回 True。

34

isdigit()

如果字符串只包含数字则返回 True 否则返回 False。

x = '123456' x.isdigit(),返回 True。

35

isnumeric()

如果字符串中只包含数字字符,则返回 True,否则返回 False。

x = '123456' x.isnumeric() 返回 True。

36

isdecimal()

检查字符串是否只包含十进制字符,如果是返回 True,否则返回 false。

x = '123',x.isdecimal(),返回True。

37

isupper()

如果字符串中所有字符都是大写,则返回 True,否则返回 False。

x = 'HELLO WORLD ' x.isupper(),返回 True。

38

islower()

如果字符串中所有字符都是小写,则返回 True,否则返回 False。

x = 'Hello' x.islower() 返回 False。

39

istitle()

如果字符串所有单词首字母大写则返回 True,否则返回 False。

x = 'Hello World ' x.istitle(),返回 True。

40

isspace()

如果字符串中只包含空格,则返回 True,否则返回 False。

x = ' ' x.isspace(),返回 True。


2.字符切片

x = 'hello'      #        所有字符串切片都返回新值
print(x[3])      # l      查询字符串下标为3的元素
print(x[0:])     # hello  查询字符串下标为0到末尾的元素
print(x[:4])     # hell   查询字符串下标0到下标为(n-1)的元素
print(x[1:])     # ello   查询字符串下标为1到末尾的元素
print(x[1:4])    # ell    查询字符串下标1到下边为(n-1)的元素
print(x[-4:-1])  # ell    查询字符串下标为-4到-1的元素
print(x[-3:4])   # ll     查询字符串下标为-3到4的元素
print(x[-2:])    # lo     查询字符串下标为-2到末尾的元素

3.字符运算

操作符

方法及描述

+

字符串拼接。   

x = 'hello' y = 'world' , x+y = helloworld。

 *

字符串乘接。   

x = 'hello',  x*2 = hellohello。

[]

通过索引获取字符串中字符。

x = 'hello', x[1] = e。

[ : ]

截取字符串,遵循左闭右开原则。

x[0:2] 只包含下标0,1元素,不包含下标2元素。

in

如果字符串中包含给定的字符返回True,否则返回False。    

x = 'hello' ,'h' in x 返回True。

not in

如果字符串中不包含给定的字符返回True ,否则返回False。

x = 'hello' ,'h' not in x,返回False。

r/R

在字符串前加 r / R 主要是将字符串按原始字符定义,不会被转义符转义。

x = r'he\t\nllo' 或 R'he\t\nllo',返回he\t\nllo

%

格式字符串。

'我叫 %s 今年 %d 岁。' % ('漫漫', 21) 返回 我叫 漫漫 今年 21 岁。


4.字符格式(%)

符号

方法及描述

%c

 格式化字符及其ASCII码。   

 '我是字母 %c 。' % (97) ,返回我是字母 a 。

%s

 格式化字符串。  

'我的年龄 %s 。' % (21) ,返回我的年龄 21 。

%d

 格式化整数。  

'我的年龄 %d 。' % (21),返回我的年龄 21 。

%u

 格式化无符号整型。  

'我的年龄 %u。' % (21),返回我的年龄 21 。

%i

格式化无符号十进制数。 

'我的年龄 %i。' % (21),返回我的年龄 21 。

%o

 格式化无符号八进制数。  

'我的年龄 %o。' % (21),返回我的年龄 25 。

%x

%X

 格式化无符号十六进制数。 

 '我的年龄 %x。' % (15),返回我的年龄 f / F 。

%f

%F

 将整数、浮点数转换浮点数表示,其格式化到指定位置(默认保留小数点后6位)。

 '我的体重 %.2f。' % (100.126),,返回我的体重 100.13。

%e

%E

 将整数、浮点数转换成科学计数法,并将其格式化到指定位置。

  '我的体重 %.2e。' % (100.126) ,返回我的体重 1.00e+02。

%g

%G

自动将整数、浮点数转换浮点或科学计数法表示(超过6位数用科学计数法),

并将其格式化到指定位置(如果是科学计数则是e)。

'我的体重 %.2g。' % (1.001260e+02),返回我的体重 100.126。

%%

 字符"%" 。

'我的体脂 %d%%。'%18 ,返回我的体脂 18%。

       注意:

              %[(name)][flags][width].[precision] typecode

              (name):参数名称,用来传入字典值的,(传入参数必须是字典);

              flags:作为用户对一些格式的选择,只有固定的几个值,以下

                     + 右对齐:正数前加正好,负数前加负号;

                     -  左对齐:正数前无符号,负数前加负号;

                     ' ' 右对齐:正数前加空格,负数前加负号;

                     0 右对齐:正数前无符号,负数前加负号;用0填充空白处

              width:表示显示宽度,如果设置宽度低于实际字符宽度时,会按照实际的宽度来输出

              如果设置宽度高于字符宽度时,会按照设置的宽度输出,空白符自动补位,右对齐。

              precision:表示小数点后精度

              typecod:用于指定输出类型(%s、%d、%f)。


5.字符格式(format)

数字

格式

输出

描述

3.1415926

{:.2f}

3.14

保留小数点后两位

3.14159/-1

{:+.2f}

+3.14/-1.00

带符号保留小数点后两位

2.71828

{:.0f}

3

不带小数

5

{:0>2d}

05

数字补零 (填充左边, 宽度为2)

5/10

{:x<4d}

5xxx/10xx

数字补x (填充右边, 宽度为4)

1000000

{:,}

1,000,000

以逗号分隔的数字格式

0.25

{:.2%}

25.00%

百分比格式

1000000000

{:.2e}

1.00e+09

科学计数法(1*10^9)

13

{:>10d}

13

右对齐 (默认, 宽度为10)

13

{:<10d}

13

左对齐 (宽度为10)

13

{:^10d}

13

中间对齐 (宽度为10)

11

{:b}.format(11)

{:d}.format(11)

{:o}.format(11)

{:x}.format(11)

{:#x}.format(11)

{:#X}.format(11)

1011

11

13

b

0xb

0XB

进制

 注意:

       ^, <, > 分别是居中、左对齐、右对齐,后面带宽度; 

       : 号后面带填充的字符,只能是一个字符,不指定则默认是用空格填充;

       + 表示在正数前显示 +,负数前显示 -;  

      (空格)表示在正数前加空格

       b、d、o、x 分别是二进制、十进制、八进制、十六进制。 


三、列表类型

       列表用英文 中括号 [] 把里面的所有数据框起来,列表里面的每一个数据叫作元素。每个元素之间都要用 英文逗号 ( , ) 隔开。例如:[1,2,3]。

1.列表函数

序号

函数名 

方法及描述

1

len(x)

列表元x素个数。

x = [1,2,3,4,5], len(x), 返回 5。

2

max(x)

返回列表x元素最大值。

x = [1,2,3,4,5],max(x) ,返回 5。

3

min(x)

返回列表x元素最小值。

x = [1,2,3,4,5],min(x) ,返回 1。

4

list(x)

将序列x转换为列表。

x = (1,2,3,4,5), list(x), 返回 [1,2,3,4,5]。

5

append(x)

在列表末尾添加新的对象。

x = [1,2,3,4,5],x.append(6),返回 x [1, 2, 3, 4, 5, 6]。

6

count(x)

统计某个元素在列表中出现的次数。

x = [1,2,3,3,5],x.count(3),返回 2。

7

extend(x)

在列表末尾一次性追加另一个序列(用新列表扩展原来的列表)。

x = [1,2,3],y = [4,5,6],x.extend(y),返回 x = [1, 2, 3, 4, 5, 6]。

8

index(x)

从列表中找出某个值第一个匹配项的索引位置。

x = [1,2,3],x.index(3),返回 2。

9

insert(x,y)

将对象插入列表,x.insert(index, obj)
index-对象obj需要插入的索引位置。obj-要插入列表中的对象。

x = [1,2,4,5],x.insert(2,3),返回x = [1, 2, 3, 4, 5]。

10

pop(x)

移除列表中的一个元素(默认最后一个元素),并且返回该元素的值。

x = [1,2,3,4,5],x.pop(),返回 x = [1, 2, 3, 4]。

x = [1,2,3,4,5],x.pop(3),返回 x = [1, 2, 3, 5]。

11

del

移除列表中指定位置元素。

x = [1, 2, 3 ,4, 5],del x[3],返回 x = [1, 2, 3, 5]。

12

remove(x)

移除列表中某个值的第一个匹配项。

x = [1,2,3,3,5],x.remove(3),返回 x = [1, 2, 3, 5]。

13

reverse(x)

反向列表中元素 。

x = [1,2,3,4,5],x.reverse(),返回 x = [5, 4, 3, 2, 1]。

14

sort(x)

对原列表进行排序,list.sort( key=None, reverse=False)。

key - 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。

reverse - 规则,reverse = True 降序, reverse = False 升序(默认)。

x = [2,1,4,3,5],x.sort() 返回 x = [1, 2, 3, 4, 5]。

x.sort(reverse=True),返回 x = [5, 4, 3, 2, 1]。

15

clear(x)

清空列表 。

x = [1,2,3,4,5],x.clear(),返回 x = []。

16

copy(x)

复制列表 。

x = [1,2,3,4,5],y = x.copy(),返回 y = [1,2,3,4,5]。


 2.列表切片

x = [1, 2, 3, 4, 5, 6]
print(x[2])             # 3                     查找列表下标为2的元素
print(x[-2])            # 5                     查找列表倒数第2个元素
print(x[:])             # [1, 2, 3, 4, 5, 6]    查找列表下标为0到末尾的元素
print(x[::2])           # [1, 3, 5]             查找列表下标0到末尾间隔为2的元素
print(x[:5])            # [1, 2, 3, 4, 5]       查找列表下标为0到5的元素
print(x[1:])            # [2, 3, 4, 5, 6]       查找列表下标为1到末尾的元素
print(x[1:-2])          # [2, 3, 4]             查找列表下标1的到倒数第2个间的元素
print(x[-5:-3])         # [2, 3]                查找列表倒数第5到倒数第3间的元素

x[3] = 8;print(x)       # [1, 2, 3, 8, 5, 6]    根据列表元素下标修改元素值      

 3.列表运算

x = [1, 2, 3]
y = [4, 5, 6]

print(len(x))       # 3                     计算列表元素个数
print(x + y)        # [1, 2, 3, 4, 5, 6]    列表x和列表y拼接
print(x*2)          # [1, 2, 3, 1, 2, 3]    复制指定系数列表x
print(5 in y)       # True                  判断5是否在列表x内
print(5 not in y )  # False                 判断5是否不在列表x内
print(x!=y)         # True                  判断列表x和y是否相等

 

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

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

相关文章

前端小游戏——推箱子

最近刚刚更新完了HTML&#xff0c;CSS的万字总结&#xff0c;有很多人已经学习完了文章&#xff0c;感觉反馈还不错&#xff0c;今天&#xff0c;用HTML&#xff0c;CSS&#xff0c;JS的知识编写了一个童年经典游戏 - 推箱子&#xff0c;供学习参考。 推荐学习专栏&#xff1a…

EdrawMax Ultimate v12.0 图表和流程图

EDraw Max 是一个多合一的应用程序&#xff0c;用作演示构建器、图表创建者、可视化业务规划师和协作空间&#xff08;用于快速共享图表和模型并接收反馈&#xff09;。 该软件可用于哪些潜在用途&#xff1f; 任何人都可以从 EDraw Max 中受益。它所针对的主题和感兴趣的领域…

【EasyRL学习笔记】第十一章 模仿学习

文章目录一、前言二、行为克隆三、逆强化学习四、第三人称视角模仿学习五、序列生成和聊天机器人六、关键词总结七、习题一、前言 模仿学习 (imitation learning&#xff0c;IL) 讨论的问题是&#xff0c;假设我们连奖励都没有&#xff0c;要怎么进行更新以及让智能体与环境交…

黑马学Docker(二)

目录&#xff1a; &#xff08;1&#xff09;容器命令介绍 &#xff08;2&#xff09; 容器命令案例1 &#xff08;3&#xff09;容器命令案例2 &#xff08;4&#xff09;容器命令练习 &#xff08;5&#xff09;数据卷命令 &#xff08;6&#xff09; 数据卷挂在案例1 …

数字孪生:实现保险行业数字化转型

现如今&#xff0c;数据分析在各个行业都在广泛的使用&#xff0c;保险行业也不例外。在数字化浪潮席卷全球的时代&#xff0c;如何利用数字化技术驱动业务增长&#xff0c;实现数字化转型&#xff0c;是目前保险行业需要思考的问题。 可视化技术能够助力保险机构更好地解决互联…

[hive]维度模型分类:星型模型,雪花模型,星座模型|范式|纬度建模|数仓分层

数仓&#xff08;十八&#xff09;数仓建模以及分层总结(ODS、DIM、DWD、DWS、DWT、ADS层) - 墨天轮 一、维度模型分类:星型模型,雪花模型,星座模型 1、星型模型 星型模型中只有一张事实表&#xff0c;以及0张或多张维度表&#xff0c;事实与纬度表通过主键外键相关联&#…

vue项目 API接口封装

vue项目 API接口封装 01.基础配置创建 分别创建如下文件和文件夹 Object │ .env.development │ .env.production └─src├─api│ index.js│ login.js├─utils│ request.js.env.development 和 .env.production 配置生产环境和开发环境移步&#xf…

Java程序员不得不会的124道面试题(含答案)

1&#xff09;Java 中能创建 volatile 数组吗&#xff1f; 能&#xff0c;Java 中可以创建 volatile 类型数组&#xff0c;不过只是一个指向数组的引用&#xff0c;而不是整个数组。我的意思是&#xff0c;如果改变引用指向的数组&#xff0c;将会受到 volatile 的保护&#x…

多线程常见锁的策略

文章目录前言一、乐观锁和悲观锁1.1 定义1.2 生动有趣滴例子1.3 版本号机制二、读写锁2.1 读写锁的由来2.2 生动有趣de例子2.3 ReentrantReadWriteLock 类三、重量级锁与轻量级锁3.1 定义3.2 生动活泼の例子3.3 自旋锁&#xff08;Spin Lock&#xff09;四、公平锁与非公平锁五…

一名程序员的电脑桌面

配置&#xff1a; 酷呆桌面注册表隐藏快捷方式箭头图标开启桌面模式自动隐藏任务栏 酷呆桌面 在选择酷呆之前&#xff0c;一直是使用的Fences&#xff0c;他的桌面切换功能非常赞&#xff0c;适合划分工作区。但由于强迫症实在是忍受不了肉眼可见的掉帧、黑背景bug&#xff0…

简简单单搞一个实用的Android端搜索框

Hello啊老铁们&#xff0c;今天带来一个非常实用的自定义搜索框&#xff0c;包含了搜索框、热门搜索列表、最近搜索列表等常见的功能&#xff0c;有类似的&#xff0c;大家可以直接复用&#xff0c;将会大大节约您的开发时间&#xff0c;有一点&#xff0c;很负责任的告诉大家&…

最全面的Mybatis教程,从“开局”到“通关”,Ready Go!

前言 本文为SSM框架 【Mybatis】 相关知识&#xff0c;MyBatis 是一款优秀的半自动的ORM持久层框架&#xff0c;下边将对Mybatis的简介、Mybatis的CRUD实现&#xff0c;Mybatis的配置文件&#xff0c;Mybatis的日志配置&#xff0c;resultMap详解&#xff0c;分页实现&#xff…

Vulnhub_CengBox

目录 一 环境异常处理 &#xff08;一&#xff09;nat设置无法正常获取地址 1 单用户模式进入命令行 2 passwd更改 3 修改网络配置文件 二 环境测试 &#xff08;一&#xff09;信息收集 1 端口服务 2 目录扫描 &#xff08;二&#xff09;漏洞测试 1 SQL…

SpringBoot项目的创建(一):通过idea的Spring Initializr来创建(需联网以下载SpringBoot相关的模板)

SpringBoot项目的创建1. 环境准备2. 创建SpringBoot项目3. 创建的SpringBoot项目结构如下4. 添加代码测试web页面效果1. 环境准备 安装jdk和idea&#xff0c;tomcat可不安装&#xff0c;有内置的tomcat 2. 创建SpringBoot项目 打包成war后&#xff0c;需要部署到tomcat中再运…

大数据培训技术操作Flume测试监控

大数据培训技术操作Flume测试监控 1&#xff09;修改/opt/module/flume/conf目录下的flume-env.sh配置&#xff1a; JAVA_OPTS”-Dflume.monitoring.typeganglia -Dflume.monitoring.hosts192.168.9.102:8649 -Xms100m -Xmx200m” 2&#xff09;启动Flume任务 [atguiguh…

关于微前端,你理解到究极奥义了么?

微前端的起源 在微前端这个概念出现之前&#xff0c;我们或多或少都能够联想到另一个词性上有些相似的概念微服务&#xff0c;它从出现后便一直都很火热&#xff0c;并不断催生着后端架构体系的演进&#xff0c;而此刻我们如果细品一下这微字头的两兄弟&#xff0c;探究他们的诞…

大白鲨优化算法(WSO)(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

2022年Java发展怎么样?现在学了Java技术出来是否还能找到工作?

马云爸爸说过&#xff0c;未来的制造业要的不是石油&#xff0c;最大的能源应该是数据。不管你是上网购物&#xff0c;还是手机浏览咨询&#xff0c;甚至是政府机构&#xff0c;大型跨国集团系统&#xff0c;银行&#xff0c;背后的庞大的数据处理都是由Java来完成&#xff0c;…

FPGA时序约束02——不同时序路径的分析方法

前言前文&#xff08;FPGA时序约束01——基本概念&#xff09;中介绍了四种时序路径&#xff0c;如下图所示。 分别是触发器到触发器&#xff0c;触发器到输出端&#xff0c;输入端到触发器&#xff0c;输入端到输出端&#xff0c;其中输入端到输出端是纯组合逻辑路径&#xff…

外包做的系统宕机了,逼得我重新设计一套MySQL数据库架构!

V-xin&#xff1a;ruyuanhadeng获得600页原创精品文章汇总PDF 目录 一般业务系统运行流程图一台 4 核 8G 的机器能扛多少并发量呢&#xff1f;高并发来袭时数据库会先被打死吗&#xff1f;8 核 16G 的数据库每秒大概可以抗多少并发压力&#xff1f;数据库架构可以从哪些方面优…