python面试技巧一
原创1、python整数的表示范围是多少
python整数表示范围没有限制。
2列表和元组有什么区别?
相同点
- 都是序列
- 可以存储任何数据类型。
- 可以通过索引访问
不同点
- 语法差异:列表在方括号中。[]已创建,而元组使用括号()创建的
- 变量:列表是可变的,元组是不可变的,这标志着两者之间的关键区别。由于列表是可变的,我们不能将列表用作字典。key然而,元组可以用作字典。key。
- 在python在中,字符串类型、整数类型和元组类型变量不可修改。
可以修改列表、集合和字典类型的变量。 - 重复使用和复制
无法复制元组。 原因是元组是不可变的。 - 尺寸差异:Python具有低开销的大块被分配给元组,因为它们是不可变的。 对于列表,分配小内存块。 元组的内存比列表少。 当有大量元素时,元组比列表更快。列表的长度是可变的。
3,如何实现堆栈。
什么是堆栈:
堆栈是存储在向后/项目的先出方式。这通常被称为LIFO。这与第一个进入的队列形成对比。/先出(FIFO)存储物品的方式。
list您可能经常在程序中使用的内置结构可以用作堆栈。与之相异的.push(),您可以使用它。.append()新元素将添加到堆栈的顶部,而。.pop()除去了LIFO订单的要素
如果堆栈大于当前拥有它的内存块,那么。Python需要一些内存分配。这可能会导致.append()通话时间比其他通话时间长。还有一个不太严重的问题。如果您使用.insert()在堆栈的末尾以外的位置添加元素可能需要更长的时间。然而,这通常不是您想要对堆栈执行的操作。
使用collections.deque创建一个Python堆栈该collections模块包含deque,这对于创建Python堆栈很有用。deque发音为“deck“,代表“双端队列”。您可以使用相同的方法。deque,您在上面看到的list,.append()和.pop()
from collections import deque
myStack = deque()
myStack.append(a)
myStack.append(b)
myStack.pop()
b
myStack.pop()
a
4单引号、双引号和三引号之间的区别
在python在与单引号和双引号相同的函数中,两者都可以表示字符串,也可以发挥转义功能。
事实上,三个引号的功能在转义点是相同的,
唯一的区别是三个引号 ‘’’ 和 “”"可以显示多行。
- 三个引号动作一:多行注释
我们都知道Python中调是井数。 #,但如果您需要描述多行注释,则需要每行写一行。 #或者,您可以使用三个连续的双引号。 -
角色2:定义多行字符串
避免使用换行符。 \n,通常用于定义中。SQL当语句表达式中没有变量时,例如:SQL建表语句
sql_create_table = """CREATE TABLE CUSTOMER ( FULL_NAME CHAR(20) NOT NULL, AGE INT, SEX CHAR(1), BALANCE FLOAT )"""
以上面的建表语句为例,如果不使用三个双引号,则需要使用换行符定义它们,如下所示:
# SQL建表语句
sql_create_table = "CREATE TABLE CUSTOMER (
FULL_NAME CHAR(20) NOT NULL, AGE INT, SEX CHAR(1), BALANCE FLOAT )"
5、python在中交换两个值
python交换两个值的方法非常简单,我。a,b=b,a,
方法一:
a,b=3,4
a,b=b,a
print(a,b)
方法二:
a=1
b=5
c=a
a=b
b=c
print(a,b)
6,如何在function在内部设置全局变量
解决方案是function插入的开始global声明:
def f() global x
如果只使用全局变量的值而不修改其值,则可以直接引用全局变量。无需特别声明。
在局部范围内,如果修改全局变量,则需要提前使用它。global声明它使用全局变量。函数中的变量s是局部变量,另一个s是全局变量,对局部变量的修改不会影响全局变量。
全局变量s,在局部变量中的函数中s,在赋值之前使用,错误,不确定它是全局变量还是局部变量
解决方案是函数插入的开始global声明:
def f()
global x
>>>s = "hongkong"
>>>def fn():
print(s)
s = "beijing"
print(s)
>>>fn()
Traceback (most recent call last):
File "", line 1, in
fn()
File "", line 2, in fn
print(s)
UnboundLocalError: local variable s referenced before assignment
>>>print(s)
hongkong
>>>def fn():
global s
print(s)
s = "beijing"
print(s)
>>> fn()
hongkong
beijing
>>> print(s)
beijing
7、什么是lambda作用它有什么好处
匿名函数
lambda 函数可以接收任意数量的参数。(包括可选参数)以及返回单个表达式值的函数。
(注意:lambda 函数不能包含命令,它们不能包含多个表达式)
它有什么好处
1、lambda该功能相对较轻,易于使用。它非常适合完成一个功能,但这个功能只在这个地方使用,甚至名字都很随意;
2,匿名函数,通常用于给出filter,map此类功能性编程服务;
3,作为回调函数,传递给一些应用程序,如消息处理。
lambda [arguments]:expression
>>> a=lambdax,y:x+y
>>> a(3,11)
8函数参数有几种形式。变量参数传递的两个参数是什么意思
(1),必须参数(位置参数):函数必须以正确的顺序传递,调用次数必须与声明时相同。
(2),关键字参数:无需排序,python解释器能够将参数值与参数名称匹配。
(3),默认参数:调用函数时,如果没有传递参数,则使用默认参数。
(4),不确定参数:函数需要处理比最初声明时更多的参数。
- 加了*这些参数作为元组导入,包含所有未命名的变量参数。
- 加了**这些参数将作为字典导入。
- 如果在调用函数时未指定参数,则它是一个空元组,可以将未命名的变量传递给不同的函数。
- 声明函数时,在参数中可以单独发生,以下参数必须与关键字一起传递
*args 可变长度参数、可变长度参数,接受元组的所有参数。
**kwargs可变长度参数,参数的长度不确定,所有参数都被接受到字典中。
9、装饰器
从字面上看,它是装饰对象的设备。您可以在不修改原始代码的情况下向装饰对象添加新功能或附加限制或帮助输出。装饰器有很多种,包括函数装饰器和类装饰器。装饰器的名称在许多语言中也不同。它在设计模式中体现了装饰模式,强调了开合原则。装饰器的语法为。@装饰器的名称,位于要装饰的对象的顶部。
10交换机和路由器之间的区别。
交换机和路由器一样,可以使只能由一台设备访问的网线扩展中断,从而使多台设备可以同时访问互联网。
交换机和路由器都可以用来交换网络设备,只是交换的网络级别不同。
路由器 交换机和交换机的区别:交换机主要使每个人都可以通过网线访问互联网,但每个人都单独拨号上网,并使用自己的宽带。每个人对访问互联网都没有影响,即使其他人正在下载,也不会影响访问互联网,并且使用同一交换机的所有计算机都在同一局域网中。路由器比交换机多了一个虚拟拨号功能。通过同一路由器上网的计算机共享一个宽带帐户。每个上网的人都会互相影响。例如,如果一台计算机正在下载,同一路由器上的其他计算机会明显感觉到网络速度很慢。同一路由器上的计算机也在局域网中。
交换机和路由器的区别在于:
1路由器可以拨号,交换机不能。
2无线信道路由器启用无线设备。WIFI互联网接入,交换机无法。
3、支持WDS一种无线路由器,可以用作无线桥接的辅助路由,而不是交换机。
1原始开关在不同的工作级别上工作。OSI/RM开放式架构的数据链路层(第2层),而路由器是在一开始设计的。OSI模型的网络层。由于开关在OSI第二层(数据链路层),因此工作相对简单,而路由器工作。OSI第三层(网络层),你可以获得更多的协议信息,路由器可以做出更智能的转发决策。
2转发数据的不同交换机基于物理地址或MACAddress以确定转发数据的目标地址。另一方面,路由器使用不同的网络。ID号(即IP地址)来确定转发数据的地址。IP该地址以软件实现,并描述设备所在的网络。有时,这些第三层地址也称为协议地址或网络地址。MAC地址通常随硬件提供并由网卡制造商分发,并已固化到网卡中,通常不可更改。和IP地址通常由网络管理员或系统自动分配。
(3传统交换机只能拆分冲突域,而不能拆分广播域,而路由器可以拆分广播域。由交换机连接的网段仍然属于同一广播域。广播数据包将在交换机连接的所有网段上传播,这在某些情况下会导致通信支持和安全漏洞。连接到路由器的段被分配到不同的广播域,广播数据不会通过路由器。
尽管3级及以上交换机具有VLAN功能,也可以分割广播域,但子广播域不能相互通信,它们之间的通信仍然需要路由器。
(4路由器提供防火墙的服务,防火墙只转发特定地址的数据包,不传输不支持路由协议的数据包并了解目标网络上数据包的传输情况,从而防止广播风暴。
11,访问搜狐。com有限公司流程,IP转发过程
计算机启动、系统运行、发送dhcp请求,拿到网卡。ip地址,dns,网关的IP地址。
浏览器自行联机dns服务器发送域名解析请求以解析搜狐。com有限公司网站ip地址,然后您可以将其发送到您的网关。http如果没有网关,就打包蝉。mac地址,发送arp请求,找到自己的网关。mac地址。
版权声明
所有资源都来源于爬虫采集,如有侵权请联系我们,我们将立即删除