Python语言快速入门上

news2024/12/26 11:40:23

目录

1、前言

2、变量和常量

1)Python对象模型

2)Python变量

二、运算符和表达式

【运算符和表达式】

【位运算符】

【逻辑运算符】

【成员运算符】

【身份运算符】

【常用内置函数】

【基本输入输出】

【模块导入与使用】

【Python代码编写规范】

三、选择与循环

1、条件表达式

2、选择结构

3、循环结构

四、列表

【python序列】

【列表】

【列表创建与删除】

【列表元素访问】

【列表对象常用方法】

【列表对象支持的运算符】

【成员资格判断】

【切片操作】

【复制与排序】

【用于序列操作的常用内置函数】

五、元组

【元组创建与删除】

【元组与列表的区别】

六、集合

【集合创建与删除】


1、前言

吕同学买了蓝桥云课的课程,下面就对课程的内容进行笔记记录。

2、变量和常量

1)Python对象模型

  • Python中的一切都是对象
  • 内置对象:各种数据、内置函数
  • 需要导入后才能使用的对象

2)Python变量

【python变量命名规则】

  • 字母或下划线开头 (下划线开头的变量有特殊含义,不能以数字开头)
  • 不能有空格或标点符号
  • 不能与关键字同名
  • 尽量不要与内置名称相同
  • 大小写敏感
  • 取有意义的名称

【数字】

  • 不可变对象
  • 整数、浮点数、复数
  • 整数可以任意大

【例题】

进制转换,Python 语言支持 4 种机制:

十进制:0-9

十六进制:0-9、A-F

除了十进制外,其他进制数字最前面都是0

二进制:0b

八进制:0o

十六进制:0x

从其他进制转换到十进制,要使用 int 函数,该函数有两个参数

参数1:字符串类型,表示待转换的数

参数2:数值类型

>>> print(int("0b11010101",2))
213
>>> print(int("0o43124",8))
18004
>>> print(int("0xFF12E",16))
1044782
>>> print(bin(432))
0b110110000
>>> print(oct(432))
0o660
>>> print(hex(432))
0x1b0
>>> print(bin(0xFF12E))
0b11111111000100101110
>>> print(hex(0o43124))
0x4654
>>> print(0b1011101)
93
>>> print(0o532)
346
>>> print(0xF0ld)
SyntaxError: invalid syntax
>>> print(0xF01d)
61469
>>>
>>> x=1234.56789
>>> print(format(x,'0.2f'))    #保留小数点后2位
1234.57
>>> print(format(x,'>12.1f'))  #保留小数点后1位,在12个字符长度的区域内右对齐,左侧空格
      1234.6
>>> print(format(x,'<12,2f'),12)
Traceback (most recent call last):
  File "<pyshell#3>", line 1, in <module>
    print(format(x,'<12,2f'),12)
ValueError: Invalid format specifier
>>> print(format(x,'<12.2f'),12)  #保留小数点后2位,在12个字符长度的区域内左对齐,后面紧跟12
1234.57      12
>>> print(format(x,'0>12.1f'))   #保留小数点后1位,在12个字符长度的区域内右对齐,左侧补0
0000001234.6
>>> print(format(x,'0<12.2f'))  #保留小数点后2位,在12个字符长度的区域内左对齐,右补0
1234.5700000
>>> print(format(x,'0^12.1f'))  #保留小数点后1位,在12个字符长度的区域内中心对齐,前后补0
0001234.6000
>>> print(format(x,',.2f'))  #加上千分位逗号
1,234.57
>>> print(format(x,'e'))  #科学计数法
1.234568e+03
>>> print(format(x,'0.2E'))
1.23E+03
>>>

【字符串】

  • 字符串属于不可变序列,一般使用单引号、双引号或三引号进行界定,可以互相嵌套,用来表示复杂字符串
  • 一对三单引号或三双引号表示的字符串支持换行,支持排版格式较为复杂的字符串,也可以在程序中表示较长的注释

二、运算符和表达式

【运算符和表达式】

>>> print(1+2-3*4/6)
1.0
>>> print(6%4+6//4+6/4+2**4)
20.5
>>> print((2+3j)*(4+5j))    #复数
(-7+22j)
>>> print("ab"*3)
ababab
>>> print([1,2,3]*3)
[1, 2, 3, 1, 2, 3, 1, 2, 3]
>>> print((1,2,3)*3)
(1, 2, 3, 1, 2, 3, 1, 2, 3)
>>> print([1,2,3]+[3,4,5])
[1, 2, 3, 3, 4, 5]
>>> print("Hello"+" "+"world")
Hello world
>>>
  • 在计算机系统中,数值一律用补码来表示和存储。原因在于,使用补码,可以将符号位和数值域统一处理;同时,加法和减法也可以统一处理。
  • 正码:最高位表示符号位,0表示正数,1表示负数,其余位表示为整数的二进制数。
  • 反码:正数的反码与正码相同,负数的反码是在正码的基础上对除符号位之外的位取反,0变1, 1变0。
  • 补码:正数的反码与正码相同,负数的补码是在反码的基础上,对最低位+1。

 取反和求一个数的负数是不一样的。

【位运算符】

>>> a=0b00111100
>>> b=0b00001101
>>> print(bin(a&b))
0b1100
>>> print(bin(a|b))
0b111101
>>> print(bin(a^b))
0b110001
>>> print(bin(~a))
-0b111101
>>> print(bin(a<<2))
0b11110000
>>> print(bin(a>>2))
0b1111

【逻辑运算符】

>>> a=1
>>> b=-1
>>> print(a and b)
-1
>>> print(a or b)
1
>>> print(not a)
False
>>>

【成员运算符】

>>> a=3
>>> b=20
>>> list=[1,2,3,4,5]
>>> if(a in list):	print("true")

true
>>> if(b not in list):	print("true")

true
>>> t='true'
>>> f='false'
>>> print(t if (a in list) else f)
true
>>> print(t if (b not in list) else f)
true
>>>

【身份运算符】

>>> a=3
>>> b=20
>>> c=3
>>> if(a is not b):	print('true')

true
>>> if(a is c):		print('true')

true
>>> t='true'
>>> f='false'
>>> print(f if (a is b) else t)
true
>>> print(f if (a is not c) else t)
true
>>> 

【常用内置函数】

>>> print(pow(2,3))
8
>>> print(abs(-33))
33
>>> print(round(3.7))
4
>>> print(round(3.3))
3
>>> from cmath import sin
>>> print(sin(3.14))
(0.0015926529164868282-0j)
>>> print(-3.2)
-3.2
>>> print(float('3.5'))
3.5
>>> print(ord('a'))
97
>>> print(chr(65))
A
>>> print(max(2,7))
7
>>> print(sum([1,2,3,4]))
10
>>> print(len("love you"))
8
>>> print(bin(5))
0b101
>>> print(oct(55))
0o67
>>> print(hex(555))
0x22b
>>> 

【基本输入输出】

  • 使用内置函数input()可以接受用户的键盘输入,返回结果为字符串
  • 使用内置函数print()可以输出数据到IDLE或者标准控制台,也可以重定向到指定文件等
>>> x=input("Please input:")
Please input:la
>>> print(type(x))
<class 'str'>
>>> name=input("请输入你的名字:")
请输入你的名字:Leo
>>> age=int(input("请输入你的年龄:"))
请输入你的年龄:20
>>> salay=float(input("请输入你的收入:"))
请输入你的收入:100
>>> print("姓名:",name)
SyntaxError: invalid character in identifier
>>> print("姓名:",name)
姓名: Leo
>>> print("年龄:",age)
年龄: 20
>>> print("收入:",format(salary,'0.1f'))
Traceback (most recent call last):
  File "<pyshell#75>", line 1, in <module>
    print("收入:",format(salary,'0.1f'))
NameError: name 'salary' is not defined
>>> print("收入:",format(salay,'0.1f'))
收入: 100.0
>>> 

【模块导入与使用】

  • import <模块名> [as <别名>]
  • from <模块名> import <对象名> [as <别名>]
>>> import math
>>> import random as rd
>>> from math import sqrt
>>> print(math.sin(0.5))
0.479425538604203
>>> x=rd.random()    # 求 [0,1) 内的随机小数
>>> print(x)
0.3340959892878713
>>> y=rd.random(1,100)   # [1,100] 区间上的随机整数
>>> print(y)   # 之前忘记限定范围了  
0.6597740789130799 
>>> print(sqrt(3))
1.7320508075688772

【Python代码编写规范】

  • 缩进即语法
  • 每个import语句只导入一个模块
  • 如果一行语句太长,行尾使用续行符“\”来表示下面紧接的一行仍属于当前语句,一般建议使用括号来包含多行内容
  • 使用必要的空格与空行增加代码的可读性
  • 适当使用异常处理结构提高程序容错性和健壮性
  • 软件应具有较强的可测试性,测试与开发齐头并进

三、选择与循环

1、条件表达式

  • 在Python中,单个常量、变量或者任意合法表达式都可以作为条件表达式
  • 条件表达式的值为False、 0 (包括0.0、 0j等)、空值None、空列表、空元组、空集合、空字典、空字符串、空range对象或其他空迭代对象,则表示条件不成立,否则表示条件成立。x<y<z    →    x<y and y<z

2、选择结构

  • 选择结构通过判断某些特定条件是否满足来决定下一步的执行流程
  • 有单分支选择结构、双分支选择结构、多分支选择结构

3、循环结构

  • 循环结构通过判断某些特定条件是否满足来决定是否继续循环体的执行
  • 有while循环与for循环

四、列表

【python序列】

  • 所谓序列,指的是一块可存放多个值的连续内存空间,这些值按一定顺序排列,可通过每个值所在位置的编号 (称为索引) 访问它们。序列中的每个值都有对应的位置值,称之为索引,第一个索引是0。第二个索引是 1,依此类推。
  • 序列是 Python 中最基本的数据结构。
  • 常用的序列结构:列表、元组、字典、集合、字符串
  • 序列通用的操作包括:索引、长度、组合(序列相加)、重复 (乘法) 、分片、检查成员、遍历、最小值和最大值。
  • 列表、元组、字符串支持双向索引,字典和集合属于无序序列,不支持索引、切片、相加和相乘操作

【列表】

>>> a=[1,3,1,4]
>>> print(a)
[1, 3, 1, 4]
>>> b=['A','man','can','be','defeated']
>>> print(b)
['A', 'man', 'can', 'be', 'defeated']
>>> c=['iloveyou',9421,20184]
>>> print(c)
['iloveyou', 9421, 20184]
>>> d=[['ai',147],['qing',2627],609]
>>> print(d)
[['ai', 147], ['qing', 2627], 609]
>>> 

【列表创建与删除】

使用赋值运算符直接将一个列表赋值给变量

a_list=[10, 20, 30, 40]

a_list=[]

使用list()函数将元组、range对象、字符串或其他类型的可迭代对象类型的数据转换为列表

a_list=list ((3, 5, 7,9)

b_list=list(range (1, 10, 2))

c_list=list('All things come to those who wait.')

d_list=list()

【列表元素访问】

  • 创建列表之后,可以使用整数作为下标来访问其中的元素。
  • 支持双向索引
>>> a_list=['A','be','yes','is','start']
>>> print(a_list)
['A', 'be', 'yes', 'is', 'start']
>>> print(a_list[0])
A
>>> print(a_list[2])
yes
>>> print(a_list[-1])
start
>>> print(a_list[-4])
be
>>> a_list[1]=1000
>>> print(a_list)
['A', 1000, 'yes', 'is', 'start']
>>> a_list[-2]='1'
>>> print(a_list)
['A', 1000, 'yes', '1', 'start']
>>>

【列表对象常用方法】

>>> a=['tree','tree2','till','you']
>>> a.insert(7,'.')
>>> print(a)
['tree', 'tree2', 'till', 'you', '.']
>>> a.extend(['put','down'])
>>> print(a)
['tree', 'tree2', 'till', 'you', '.', 'put', 'down']
>>> a.pop()
'down'
>>> print(a)
['tree', 'tree2', 'till', 'you', '.', 'put']
>>> a[1]='tree'
>>> print(a)
['tree', 'tree', 'till', 'you', '.', 'put']
>>> a.remove('tree')
>>> print(a)
['tree', 'till', 'you', '.', 'put']
>>> a.clear()
>>> print(a)
[]
>>> 
>>> a=['be','give','you','a','be','that']
>>> b=a.count('be')
>>> print(b)
2
>>> c=a.index('be')
>>> print(c)
0
>>> a.sort()
>>> print(a)
['a', 'be', 'be', 'give', 'that', 'you']
>>> a.reverse()
>>> print(a)
['you', 'that', 'give', 'be', 'be', 'a']
>>> d=a.copy()
>>> print(d)
['you', 'that', 'give', 'be', 'be', 'a']
>>> 

【列表对象支持的运算符】

>>> a=[5,2,0]+[1,3,1,4]     #非原地操作,效率低
>>> print(a)
[5, 2, 0, 1, 3, 1, 4]
>>> a=[5,2,0]
>>> a+=[1,3,1,4]     #原地操作,效率高(元组也支持,非原地)
>>> print(a)
[5, 2, 0, 1, 3, 1, 4]
>>> a=[5,2,0]*3          #非原地操作,效率低
>>> print(a)
[5, 2, 0, 5, 2, 0, 5, 2, 0]
>>> a=[5,2,0]
>>> a*=3	#原地操作,效率高(元组也支持,非原地)
>>> print(a)
[5, 2, 0, 5, 2, 0, 5, 2, 0]
>>> 

【成员资格判断】

>>> a_list=[1,2,3,4,5,6,7,8,9,0]
>>> b=3 in a_list
>>> print(b)
True
>>> c=11 in a_list
>>> print(c)
False
>>> d=11 not in a_list
>>> print(d)
True
>>> a_list=[[1],[2],[3]]
>>> e=2 in a_list
>>> print(e)
False
>>> f=[2] in a_list
>>> print(f)
True
>>>

【切片操作】

  • 切片是Python序列的重要操作之一,适用于列表、元组、字符串、range对象等类型,用于截取序列中的任何部分,得到一个新序列,也可以用于修改和删除列表中部分元素,或增加元素
  • 切片由2个冒号分隔的3个数字组成:第一个数字表示切片开始位置 (默认为0),第二个数字表示切片截止 (但不包含) 位置 (默认为列表长度),第三个数字表示切片的步长 (默认为1),当步长省略时可以省略后一个冒号
>>> a_list=[1,2,3,4,5,6,7,8,9,0]
>>> a=a_list[::]
>>> print(a)
[1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
>>> b_list=[1,2,3,4,5,6,7,8]
>>> b=b_list[::2]
>>> print(b)
[1, 3, 5, 7]
>>> c_list=[1,2,3,4,5,6]
>>> c=c_list[::-1]
>>> print(c)
[6, 5, 4, 3, 2, 1]
>>> d_list=[6,5,4,3,2,1]
>>> d=d_list[:4:]
>>> print(d)
[6, 5, 4, 3]
>>> e=d_list[:4]
>>> print(e)
[6, 5, 4, 3]
>>>

【复制与排序】

>>> from copy import *
>>> a=[1,3,1,4,['i','love']]
>>> b=a 	#赋值,传对象的引用
>>> c=copy(a)	#对象拷贝,浅拷贝
>>> d=deepcopy(a)	#对象拷贝,深拷贝
>>> a.append(520)	#修改对象a
>>> a[4].append('you')	#修改对象a中的['a','b']数组对象
>>> print('a = ',a)
a =  [1, 3, 1, 4, ['i', 'love', 'you'], 520]
>>> print('b = ',b)
b =  [1, 3, 1, 4, ['i', 'love', 'you'], 520]
>>> print('c = ',c)
c =  [1, 3, 1, 4, ['i', 'love', 'you']]
>>> print('d = ',d)
d =  [1, 3, 1, 4, ['i', 'love']]
>>>
>>> from random import *
>>> a=list(range(10))
>>> print(a)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> shuffle(a)	  #打乱顺序,原地
>>> print(a)
[8, 3, 0, 5, 4, 2, 9, 6, 1, 7]
>>> a.sort()      #升序排序,原地
>>> print(a)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> a.sort(reverse=True)    #降序排序,原地
>>> print(a)
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
>>> b=sorted(a)        #产生一个新列表,升序排序
>>> print(b)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> c=sorted(a,reverse=True)    #产生一个新列表,降序排序
>>> print(c)
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
>>> a.reverse()        #原地逆序
>>> print(a)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>>

【用于序列操作的常用内置函数】

>>> a_list=[1,3,1,4]
>>> a=len(a_list)
>>> b=max(a_list)
>>> c=min(a_list)
>>> d=sum(a_list)
>>> print('a = ',a)
a =  4
>>> print('b =',b)
b = 4
>>> print('c =',c)
c = 1
>>> print('d =',d)
d = 9
>>>
>>> a_list=[5,2,0,9,9]
>>> a=sorted(a_list,reverse=True)
>>> print(a)
[9, 9, 5, 2, 0]
>>> a_tuple=(5,2,0,9,9)
>>> b=sorted(a_tuple)
>>> print(b)
[0, 2, 5, 9, 9]
>>> a_str='iloveyou'
>>> c=sorted(a_str)
>>> print(c)
['e', 'i', 'l', 'o', 'o', 'u', 'v', 'y']
>>>

五、元组

内置、有序、不可变序列;一个元组中元素的类型可以不同

>>> a=(96,97,98,99)
>>> print(a)
(96, 97, 98, 99)
>>> b=('i','love','you')
>>> print(b)
('i', 'love', 'you')
>>> c=('i',520,1314)
>>> print(c)
('i', 520, 1314)
>>> d=(['i',520,1314],['love',99],2)
>>> print(d)
(['i', 520, 1314], ['love', 99], 2)
>>> d[0][1]=250
>>> print(d)
(['i', 250, 1314], ['love', 99], 2)
>>>

【元组创建与删除】

使用赋值运算符直接将一个元组赋值给变量

>>> a=(96,97,98,99)
>>> print(a)
(96, 97, 98, 99)
>>> b=96,97,98,99
>>> print(b)
(96, 97, 98, 99)
>>> c=()
>>> print(c)
()
>>> d=('i')
>>> print(d)
i
>>> e='i'
>>> print(e)
i
>>>

使用 tuple() 函数将列表、range 对象、字符串或其他类型的可迭代对象类型的数据转换为元组

>>> a=tuple([96,97,98,99])
>>> print(a)
(96, 97, 98, 99)
>>> b=tuple(range(1,10,2))
>>> print(b)
(1, 3, 5, 7, 9)
>>> c=tuple('iloveyou')
>>> print(c)
('i', 'l', 'o', 'v', 'e', 'y', 'o', 'u')
>>> d=tuple()
>>> print(d)
()
>>>

使用 del 命令可以删除整个元组对象,不能只删除元组中的部分元素

>>> a=tuple([96,97,98,99])
>>> print(a)
(96, 97, 98, 99)
>>> del a
>>> print(a)
Traceback (most recent call last):
  File "<pyshell#148>", line 1, in <module>
    print(a)
NameError: name 'a' is not defined
>>> b=tuple(range(1,10,2))
>>> del b[2]
Traceback (most recent call last):
  File "<pyshell#150>", line 1, in <module>
    del b[2]
TypeError: 'tuple' object doesn't support item deletion
>>> print(b)
(1, 3, 5, 7, 9)
>>>

【元组与列表的区别】

  • 列表可变,元组不可变
  • 通过切片可以访问元组中的元素而无法修改元组中元素的值,也无法为元组增加或删除元素
  • tuple 函数可以冻结列表, list 函数可以融化元组
  • 元组的访问和处理速度比列表快
  • 元组可用作字典的键,而列表不可

如果元组中包含可变序列,此序列照样可变

>>> x=([97,98],99)
>>> x[0][0]=96
>>> print(x)
([96, 98], 99)
>>> x[0].append(95)
>>> print(x)
([96, 98, 95], 99)
>>>

六、集合

内置、无序、可变序列,每个元素的类型可以不同,一个集合中的元素不能重复

>>> a_set={96,97,98,99}
>>> print(a)
Traceback (most recent call last):
  File "<pyshell#172>", line 1, in <module>
    print(a)
NameError: name 'a' is not defined
>>> print(a_set)
{96, 97, 98, 99}
>>> b_set={'i','love','you'}
>>> print(b_set)
{'love', 'you', 'i'}
>>> print(b_set)
{'love', 'you', 'i'}
>>> c_set={'i',520,1314}
>>> print(c_set)
{520, 1314, 'i'}
>>> d_set={('i',520,1314),('love',97,98),99}
>>> print(d_set)
{('love', 97, 98), 99, ('i', 520, 1314)}
>>>

【集合创建与删除】

>>> a_set={'i','love','you'}
>>> a_set.add('99')
>>> print(a_set)
{'99', 'love', 'you', 'i'}
>>> b_set=set((5,2,0))
>>> b_set.add(1314)
>>> b_set.add(2)
>>> b_set.add(99)
>>> print(b_set)
{0, 2, 99, 1314, 5}
>>> b_set.pop()
0
>>> print(b_set)
{2, 99, 1314, 5}
>>> b_set.remove(99)
>>> b_set.add(0)
>>> print(b_set)
{0, 2, 1314, 5}
>>> b_set.clear()
>>> print(b_set)
set()
>>> del b_set
>>>

以上,Python语言快速入门上

祝好

 


 

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

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

相关文章

【PCB专题】Allegro导出3D文件

在PCB布局时,已经决定了大部分器件要放置的位置。如接口、主要的芯片、模块等。因为放置好器件后可能与结构干涉,如果没有发现,那么不得不在Layout的后期调整器件位置,增加工作量。所以前期布局基本确定后就需要导出3D文件给结构工程师,由他查看是否有器件与结构、螺丝孔等…

全志Tina Linux Display 开发指南支持百问网T113 D1-H哪吒DongshanPI-D1s V853-Pro等开发板

1 概述 让显示应用开发人员了解显示驱动的接口及使用流程&#xff0c;快速上手&#xff0c;进行开发&#xff1b;让新人接手工作时能快速地了解驱动接口&#xff0c;进行调试排查问题。sunxi 平台DE1.0/DE2.0。与显示相关的应用开发人员&#xff0c;及与显示相关的其他模块的开…

操作系统期末考试必会题库1——引言+用户界面

1.请简要描述操作系统的定义及其功能。 操作系统定义&#xff1a; 是计算机系统中的一个系统软件&#xff0c;是一些程序模块的集合 &#xff0c;它们管理和控制计算机系统中的软硬件资源&#xff0c;合理的组织计算机的工作流程&#xff0c;以便有效的利用这些资源为用户提供一…

Linux用户权限详解

为什么有人冲了钱就能享受至尊VIP待遇&#xff1f;为什么冲了黄钻、绿钻、紫钻就会享受一些特殊活动呢&#xff1f;我们起初都是一群普通用户&#xff0c;为什么有些人就能通过某些手段得到一些异于常人的服务呢&#xff1f;这其中的奥秘是什么呢&#xff1f;接下来带大家了解这…

【Vue】course_1

一、vue简介 Vue是一款用于构建用户界面的 JavaScript 框架。 它基于标准 HTML、CSS 和 JavaScript 构建&#xff0c;并提供了一套声明式的、组件化的编程模型&#xff0c;帮助你高效地开发用户界面。 无论是简单还是复杂的界面&#xff0c;Vue 都可以胜任。 二、vue3选项式…

ASEMI肖特基二极管MBR30100CT和MBR40200PT有什么区别

编辑-Z 别看ASEMI肖特基二极管MBR30100CT和MBR40200PT两种型号从名字上看很像&#xff0c;其实他们的参数和封装都是不一样的&#xff0c;具体MBR30100CT和MBR40200PT有什么区别呢&#xff1f; 肖特基二极管MBR30100CT参数&#xff1a; 型号&#xff1a;MBR30100CT 封装&…

[开源工具]使用Fiddler/Postman简单计算QPS[新手开箱可用]

使用Fiddler/Postman简单计算QPS1.什么是QPS?2.怎么计算QPS?3.如何使用Fiddler/Postman得到一个API接口的QPS?3.1Fiddler使用3.2Postman使用4.如何得到本机的核心数?5.根据公式计算QPS?6.扩展计算单机可支撑PV(理论值)?1.什么是QPS? qps即每秒查询率&#xff0c;是对一…

Postfix + Extmail 企业邮件服务器搭建

ExtMail套件用于提供从浏览器中登录、使用邮件系统的Web操作界面&#xff0c;而Extman套件用于提供从浏览器中管理邮件系统的Web操作界面。它以GPL版权释出&#xff0c;设计初衷是希望设计一个适应当前高速发展的IT应用环境&#xff0c;满足用户多变的需求&#xff0c;能快速进…

数据预处理和特征工程-sklearn

数据挖掘的五大流程&#xff1a; 获取数据数据预处理 数据预处理是从数据中检测&#xff0c;纠正或删除损坏&#xff0c;不准确或不适用于模型的记录的过程。 数据预处理的目的&#xff1a;让数据适应模型&#xff0c;匹配模型的需求特征工程 特征工程是将原始数据转换为更能代…

NLP 中文智能纠错 API 数据接口

NLP 中文智能纠错 API 数据接口 专注于中文语句智能纠错&#xff0c;基于 NLP&#xff0c;多模型参与纠错。 1. 产品功能 秒级 NLP 智能纠错性能&#xff1b;NLP 加载多个模型进行纠错处理&#xff1b;返回纠正字符以及对应位置索引&#xff1b;底层模型以及语料库持续更新集…

正大国际期货:五十句期货投资理念

1.许多期货投资人交易时没有计划。交易前&#xff0c;他们既不设定风险限度&#xff0c;也不设定盈利目标。即使是制定了计划&#xff0c;他们总是“半路出家”&#xff0c;并不坚持既定的计划&#xff0c;尤其是在出现亏损的情况下。结果往往是过量操作&#xff0c;把自己逼在…

Android 操作系统简介

Android 操作系统简介1. 起源2. 操作系统市场占有率3. Android 系统架构3.1 Linux Kernel3.2 Hardware Abstraction Layer (HAL)3.3 运行时 系统库3.3.1 Android Runtime3.3.1 Native C/C Libraries3.4 Java API Framework3.5 System Apps1. 起源 安卓&#xff08;Android&…

程序员年底如何升职加薪?这份涨薪指南来了!

年底了&#xff0c;这个时间节点对于各个公司来说都很重要。 今年大家也知道情况&#xff0c;互联网整体行情都不太好&#xff0c;国外也不好过&#xff0c;硅谷裁员大刀阔斧&#xff0c;实实在在的 感受到了寒意。 能顺利熬到年底的程序员&#xff0c;现在就会关心“公司会普调…

一分钟搞定Netty 三大组件,如果搞不定,再看3遍

1. 三大组件简介 Channel 与 Buffer Java NIO 系统的核心在于&#xff1a;通道 (Channel) 和缓冲区 (Buffer)。通道表示打开到 IO 设备 (例如&#xff1a;文件、套接字) 的连接。若需要使用 NIO 系统&#xff0c;需要获取用于连接 IO 设备的通道 以及用于容纳数据的缓冲区。然…

黑客使用虚假 DDoS 保护页面分发恶意软件

WordPress 网站被黑客入侵后显示欺诈性 Cloudflare DDoS 保护页面&#xff0c;这些页面被用于分发恶意软件&#xff08;例如 NetSupport RAT 和 Raccoon Stealer&#xff09;。 “最近针对 WordPress 网站的 JavaScript 注入激增&#xff0c;通过弹出虚假的 DDoS 阻止提示&…

DaVinci:跟踪器 - 窗口

调色页面&#xff1a;跟踪器Color&#xff1a;Tracker跟踪器 - 窗口 Tracker - Window&#xff0c;是 DaVinci Resolve 提供的一款强大的跟踪工具。可以利用窗口调板所设置的窗口区域&#xff0c;通过自动分析之后&#xff0c;在此区域内产生许多如云状分布的特征点&#xff08…

Java8 Stream详细用法介绍

Java8 Stream详细用法介绍一、Stream概述1.1、流的定义1.2、流与集合1.3、流的特性1.4、Stream的创建1.5、Stream操作分类二、Stream API 使用2.1 中间操作2.1.1、filter() 过滤2.1.2、map与flatMap 映射2.1.3、sorted() 排序2.2 终止操作2.2.1、forEach() 遍历2.2.2、collect(…

ThinkPHP 多应用模式下访问其他应用忽略入口文件

目录 问题描述&#xff1a; 解决方法&#xff1a; 1.配置两个域名分别指向项目public目录 2.项目全局配置域名绑定应用 问题描述&#xff1a; 使用TP6.0做多应用项目开发&#xff0c;分为前端Api和后台管理 项目中已配置地址重写规则 Api为默认应用&#xff0c;可忽略入…

Allegro如何手动和自动10度走线操作指导

Allegro如何手动和自动10度走线操作指导 PCB上有时需要10度走线,可以有效的避免玻纤效应的产生,尤其是在应对高速设计的时候,Allegro支持10度走线如下图 具体操作如下 选择setup Parameter选择route

50个超级有用的JavaScript单行代码

在这篇文章中&#xff0c;我列出了一个系列的50个 JavaScript 单行代码&#xff0c;它们在使用 vanilla js&#xff08;≥ ES6&#xff09;进行开发时非常有用。它们也是使用该语言在最新版本中为我们提供的所有功能来解决问题的优雅方式。 我将它们分为以下5大类&#xff1a;…