当前位置:   article > 正文

python面试知识点—基础篇_python面试基础理论知识

python面试基础理论知识

Python基础

这篇博客看起来是针对面试题给出答案,实际上在查这些资料的过程中笔者也学到了很多基础知识,无论你是python新手还是已经遗忘了这些知识点的大牛,都建议去发散性的去看看大多数问题下面给出的链接。会让你受益很多。

1. 基础语法

*来自菜鸟编程

  • .py 脚本文件 通过python x.py可执行
  • 标识符,字母数字下划线 不能以数字开头
  • 保留字符:and,for,if,def,del,elif,class,continue,break,assert,lambda,in,is,if,global,except,from
  • 行与缩进, 可使用空格、tab但代码块内应保持统一
  • 多行语句 末尾加斜杠(\)将语句多行显示
  • 引号、双引号、三引号来表示字符, 开始与结束引号必须相同, 三引号可由多行组成,常用于文档字符串
  • 注释, 单行注释以# 开头 多行注释可用三个单引号或三个双引号
  • print输出

2.有哪些关键字,并且解释其作用

*global和nolocal的区别和用法需要看看

>>> import keyword
>>> print(keyword.kwlist)
['False', 'None', 'True', 'and', 'as', 'assert',
 'break', 'class', 'continue', 'def', 'del',
 'elif', 'else', 'except', 'finally', 'for', 'from',
 'global', 'if', 'import', 'in', 'is', 'lambda',
 'nonlocal', 'not', 'or', 'pass', 'raise',
 'return', 'try', 'while', 'with', 'yield']

# and\or\not 逻辑与或非
# False True布尔值假/真
# None特殊类型 不存在
# del删除
# while\for 循环
# if elif else 判断语句中的关键字 elif是if的其他分支
# as 与with搭配 with...as...执行上下文
# import\ from 导入模块使用
# assert表示断言,判断条件为真, 错误抛出异常,raise在函数中抛出异常
# global声明全局变量 nonlocal在函数或其他作用域中使用外层(非全局)变量
# pass 什么都不做,在类或函数中占位
# yield 返回的是生成器
# return 在函数中返回值 在代码块中return后的语句将不执行
# break 终止循环 continue结束本次循环 跳到下一次循环
# try except finally 均是异常处理语法中的关键字,try中的代码错误会进入except中,如果有finally,最终都会执行finally中的语句,finally为异常总结

# print输出
# class定义类 def定义方法
# lambda 匿名函数
# in可查看对象是否被包含于列表/集合/字典中, 也可查看字符串是否包含字符串,还可与for一起使用 for i in ...会遍历队列
# is判断两个对象是否相等 返回布尔值 判断依据是对象的id, ==是依据对象的value判断
# exec语句用来执行储存在字符串或文件中的Python语句(?其实不太理解,也不能单纯拿它当eval用)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31

3.有哪些内置方法, 介绍用法

具体用法附链接内置方法

4.什么是动态语言,动态强类型指什么

运行时可以被改变结构的语言(引自维基百科

动态强类型指运行时才检查数据类型,一旦类型确定,若不经过强制转换,就永远是这个类型

5. 编码规范

编码规范包括语言规范代码风格规范, 常用的是pep8, 大多数人会忽略语言规范,认为只要不报错就可以

关于python编码规范可以参考编码规范

6.深浅拷贝

** 引自菜鸟编程

  • 直接赋值:其实就是对象的引用(别名)。
  • 浅拷贝(copy):拷贝父对象,不会拷贝对象的内部的子对象。
  • 深拷贝(deepcopy): copy 模块的 deepcopy 方法,完全拷贝了父对象及其子对象。

再来张图解释下

7.lambda的用法以及使用场景

*引自lambda

用法: lambda 参数:操作(参数)

场景:lambda, 表达式是一行函数,与普通函数完全一样,如果你在程序中只想使用一次,可以用lambda

举例:

add = lambda x, y: x+y
add(3,5)
# 8

# 列表排序
a = [(1,1),(
  • 1
  • 2
  • 3
  • 4
  • 5
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/木道寻08/article/detail/921412
推荐阅读
相关标签
  

闽ICP备14008679号