2024年Python知识点大全(非常详细)(1),一口气拿了9家公司的offer

前端框架

前端框架太多了,真的学不动了,别慌,其实对于前端的三大马车,Angular、React、Vue 只要把其中一种框架学明白,底层原理实现,其他两个学起来不会很吃力,这也取决于你以后就职的公司要求你会哪一个框架了,当然,会的越多越好,但是往往每个人的时间是有限的,对于自学的学生,或者即将面试找工作的人,当然要选择一门框架深挖原理。

以 Vue 为例,我整理了如下的面试题。

Vue部分截图

如果你觉得对你有帮助,可以戳这里获取:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

str.isspace()是否是空⽩(空 格、制表符、换⾏符等);
str.isprintable()是否可打印(空格和没有东西是可以被打印的);
str.isidentifier()是否满⾜标识符定义规 则(字母或下划线开头,只含数字、字母和下划线)

⼤⼩写转换:
str.capitaiize():转换为⾸字母⼤写,其余⼩写;str.title()各单词⾸字母⼤写。
对齐:居中str.center(长度,填充物) ;左对齐:ljust ;右对齐:rjust。
填充:str.zfill(长度)相当于右对齐,前⽅补0。如果str前有正负号,则正负号也算长度,在正负号之后填充。
移除:左右两边:str.strip(字符chars) ; 左边:str.lstrip() ;右边;rstrip()
字符串的查找:find和index
str.find(s):从左⾄右查找str中是否含s,有则返回第⼀次出现s的索引位置,否则返回-1
str.index(x):从左⾄右查找是否含有x,有则返回第⼀次出现的索引位置,没有则抛出ValueError str.rfind()和str.rindex()就是从右⾄左查找。
字符串的替换:S.replace(old,new,count)。将S中的old替换为new,如果给定count,则只替换前count个old⼦串。
拆分/分割
S.split(分隔符sep,分割次数maxsplit), maxsplit = -1或不指定时,会从左向右搜索完整个字符串。S.rsplit()是从右往左。⽣成列表。 S.partition(sep),S.rpartition(sep)(从右往左搜索)。搜索S中的⼦串sep,并从第⼀个sep处分割,返回⼀个包含三个元素的元组 – >(sep左边的部分,sep,sep右边的部分)。如果搜索不到sep,则返回中有两个元素为空,partition是后两个元素为空,rpartition 是前两个为空。
连接组合:
S.join(字符串对象)。 当对象为字符串字典时,结果是键的连接。

15、列表类型
列表list是可变对象,则对其增删改查不会改变其的id。除了list.copy(). ⽅法:

(1)添加: list.appand(x):将元素x添加到列表的尾部; list.extend(L):将列表L中所有元素添加到列表的尾部; list.insert(index,x):在列表指定位置index处添加元素x; 
(2)删除: list.remove(x):删除列表中⾸次出现的元素x; list.pop(kediedai [index] ):删除并返回指定位置的元素(可以理解为挖取出),list为空就抛IndexError异常; list.clear():删除列表中所有元素,但保留列表对象。 
(3)排序: list.reverse():倒序; list.sort():排序(正或倒); 
(4)其他: list.index(x):返回值为x⾸次出现的下标; list.count(x):返回x的出现总次数; list.copy() :返回列表对象的浅拷贝。很厉害!!它可以改变列表的ID! 浅拷贝——只拷贝⼀层。如果拷贝对象只有⼀层,那么同 b = a[:] ,两个变量相互独⽴的。但如果拷贝对象只有⼀层,就会有影响, 会跟着改变。(详见例题) !!列表推导式: [新元素表达式 for 临时变量 in 可迭代对象 if 条件表达式] 

16、集合类型 集合中的元素没有顺序,且不重复。
集合set是可变的,⽤⼤括号表⽰。 但是{}表⽰空字典;set()表⽰空集合,⽤set()创建集合时,会将元素⼀个⼀个拆开,如’hello’变成’h’,‘e’,‘l’,‘l’,‘o’。
集合中元素要是固定数据类型:整数、浮点数、字符串、元组等。不可为可变的列表、字典、集合。 利⽤集合过滤掉重复的元素。 4种基本操作:交(&)、并(|)、差(-)、补(^) S.add() ;S.clear() ;S.copy() ; S.remove() ;len(S) ;x (not)in S ; S.pop():随机返回S中的⼀个元素,如果S为空,产⽣KeyError.(区分list.pop([index])) 特有的:S.discard(X);如果x在S中,移除x,不在,不报错。 主要三⼤⽤途:成员关系测试、元素去重、删除数据项。

17、字典类型(映射) {建(key):值(value)}。
键不能重复,且是不可变对象。值可变。元素没有顺序。

创建⼀个空字典:dict() ;
创建字典:dict(‘a’=1,‘b’=2)/dict(‘a’:1,‘b’:2)/dict((‘a’,1),(‘b’,2));
 查找值:Dict[key] ;
 修改键值:dict[key] = new_value ;
 增添新键值:dict[new_key] = new_value . 
 D.keys():返回所有键的列表,如dict_keys([‘a’, ‘b’, ‘c’]);
 D.values():返回所有值的列表,如dict_values([1, 2, 3]); 
 D.items():返回所有的键值对的列表,如dict_items([(‘a’, 1), (‘b’, 2), (‘c’,3)]);
 D.get(key,v):键存在则返回相应值,否则返回None(⾃定义了v时,返回v的内容);
D.pop(key.value):键存在则返回相应值,同时删除键值对,否则返None;
D.popitem():随机取出⼀个键值对,以元组(key,value)形式返回; D.setdefault(k,v):如果键k存在,返回对应值,否则添加项⽬k = v,v默认为None;
 D.update(dict):更新或添加键值对; D.clear():删除所有的键值对; del.D[key]:删除key对应的键值对。如果key不存在,则抛出KeyError。 遍历: for 变量名 in 字典名:

18、可变与不可变(关于值) 可变:列表(有序)、集合(⽆序)、字典(⽆序) 不可变:字符串(有序)、元组(有序) Python是基于值的内存管理⽅式,举例:a=[1,2,3],b=[1,2,3],a==b成⽴。 但是id(a)与id(b)不相等,id(a[0])==id(b[0])成⽴。总结就 是关乎值的就相等 什么叫可变?即值是可变的,但id是固定不变的。例如可变的列表,修改列表L中的⼀个元素的值,列表L的id是不变的。 不管是可变还是不可变的序列类型:

(1)分⽚必定产⽣新的序列; 
(2)“+”号在等号右边(L=L+[i]),必定产⽣新的序列。然后将新的序列地址赋予给等号左边的变量。(每⼀次执⾏时都会将原列表复 制⼀次,L指向新列表,并在新列表中加⼊新元素) 对三种列表添加⽅法进⾏总结: 
(1)L=L+[i]在每⼀次执⾏时都会将原列表复制⼀次,L指向新列表,并在新列表中加⼊新元素。 
(2)L.append(i)只是将新元素直接添加到原列表中,不会产⽣新列表。 (3)L+=[i]的执⾏效果和L.append(i)类似,也是在原列表中直接添加元素,不会复制原列表。 b = a VS b = a[:] b = a时,b就是跟着a变化,并且a与b的id⼀样。b = a[:]时,b与a是独⽴的整体,id就不同,只不过指向了同⼀个值。对a做修改(增删改 查),对b没有影响。 

19、程序的三种基本结构: 顺序结构、·分⽀结构(if-else、elif)、·循环结构(遍历:for…in、条件:while。循环控制:break/continue)。 异常值处理:try-except。 ⼆分⽀结构简单语法:表达式1 if 条件 else 表达式2 循环结构分遍历循环(for)和⽆限循环(while): 遍历循环:for 循环变量 in 遍历结构:语句块(从遍历结构逐⼀提取元素,放在循环变量中,对每⼀个提取出的元素执⾏⼀次语句块。) ⽆限循环:while 条件:语句块。判断条件为True就⼀直循环,为false时魂环结束,执⾏与while同级别缩进的后续语句。 break⽤于结束当前循环,如果有两层循环,break⽤于跳出最内层for或while循环,脱离该循环后程序从循环后代码继续执⾏; continue⽤来结束当前循环的当次循环过程,即跳出循环体中下⾯尚未执⾏的语句,但不跳出当前循环。 当有输⼊要求时,可运⽤异常值处理try:except:

20、函数
(1)形参与实参:定义函数时的参数是形参,调⽤函数时的参数是实参。 (2)参数传递的⽅法:位置参数、默认值参数、关键字参数、命名关键字参数。。。 位置参数:按位置顺序传递参数值,位置参数要在所有参数之前,是第⼀个参数; 关键字参数:关键字参数就是在调⽤函数,传⼊实参时指定形参的变量名。关键字不⽤遵守位置的对应关系。参数之间的顺序可以任意调 整。关键字传递可以和位置传递混⽤。但位置参数要在关键字参数之前。举例:
def hello(name,age = 11,gender = ‘F’):(age = 11,gender = 'F’就是关键字参数) 。
举例:def hello(name,age = 11,gender = ‘F’):(age = 11,gender = 'F’就是关键字参数)
默认值参数:定义参数时已经给定值,⼀般参数为不可变对象,(如果为可变的空列表,可⽤于装位置参数); 可变数量参数: *args、**kw 带有星号 * 的可变参数只能出现在参数列表的后⾯。调⽤时, *参数 被当作元组类型传递到函数中。(如: def func(*args): -> func(10,20) ) 带双星号( ** )的参数,在使⽤时必须指定参数值,使⽤key=value这种形式,只能出现在参数列表的最后。调⽤时, **kw 后的那些参数被 当作字典类型传递到函数中。(如: def func(**kw): -> func(a=10,b=20) ) 强制命名参数:参数带星号或者就是⼀个星号( def f(c或,a,b,c) ),强制命令参数 *c 的含义是它后⾯的参数必须⽤实名调⽤,即必须⽤ a = … , b = … 来调⽤,不能只写值。 Python中只有函数,函数是有返回值的,**如果没有return,默认返回None。**return返回多个值时,多个值以元组形式保存。

21、⽐较

(1)list.sort()与全局sorted() list.sort(key = None,reverse = False)是列表内置排序⽅法。但其返回值为None(x.sort()的结果、print(x.sort())、x = x.sort()后x 的结果都是None),只有当⽂字说“执⾏语句x.sort(),x的值为”,x.sort()作⽤的结果,需要通过打印被作⽤的列表才可以查看结 果。true是倒序,false是正序。 sorted():Python内置⽅法。返回新的列表。 (2)list.reverse()和reversed() list.reverse()返回的是None,其作⽤的结果,需要通过打印被作⽤的列表才可以查看结果。 reversed():内置⽅法。经过reversed()作⽤之后,返回的是⼀个吧序列值经过倒序的迭代器,所以,需要通过遍历或list、tuple或 next()⽅法,才能获得作⽤后的值。 
(3)字符串的查找:find和index str.find(s):从左⾄右查找str中是否含s,有则返回第⼀次出现s的索引位置,否则返回-1 str.index(x):从左⾄右查找是否含有x,有则返回第⼀次出现的索引位置,没有则抛出ValueError str.rfind()和str.rindex()就是从右⾄左查找。 

22、函数变量的作⽤域
(1)局部变量、全局变量、global global:⽤于在函数中直接修改全局变量的值。
(2)内嵌函数 内嵌函数的作⽤域仅限其所在的函数体内。如果要在内部函数中修改外部函数中的局部变量的值,使⽤nonlocal关键字。

Python知识点汇总(二)

请添加图片描述

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

前端框架

前端框架太多了,真的学不动了,别慌,其实对于前端的三大马车,Angular、React、Vue 只要把其中一种框架学明白,底层原理实现,其他两个学起来不会很吃力,这也取决于你以后就职的公司要求你会哪一个框架了,当然,会的越多越好,但是往往每个人的时间是有限的,对于自学的学生,或者即将面试找工作的人,当然要选择一门框架深挖原理。

以 Vue 为例,我整理了如下的面试题。

Vue部分截图

如果你觉得对你有帮助,可以戳这里获取:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

  • 19
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值