python面试知识点总结
2020-01-02 13:42:02 94 举报
AI智能生成
python学期期末总结
作者其他创作
大纲/内容
第七章:错误与异常处理
try:pass; finally:pass
try:pass; except: pass
try: pass; except Exception as e: pass else:pass
第八章:函数
功能
实现程序结构化
减少程序复杂度
实现代码的复用
协作开发
实现特殊功能
参数传递
形参
声明函数时所声明的参数:def f(x):pass
实参
调用函数时提供的参数的值:f(2)
可选参数
声明函数时为参数指定默认值,必须先声明没有默认值的形参
def(a=5):pass
def(a, b=5):pass
def(a, b=5):pass
位置参数
调用函数时按位置顺序传递参数:
def f(one, two): return one + two
f(1, 2)
def f(one, two): return one + two
f(1, 2)
命名参数(关键字参数)
按指定名称传入的参数
f(one=1, two=2)
f(two=2, one=1)
f(two=2, one=1)
可变参数
def f(a, *c):pass
c是元组
c是元组
def f(a, b, **c):pass
c是字典
c是字典
变量作用域
全局语句global
globals()输出全局变量
locals()输出局部变量
locals()输出局部变量
非全局语句nonglobal: 在嵌套函数里使用
第九章:面向对象
对象
类对象
class Student: pass
实例对象
s = Student()
属性
实例对象属性
self.name
类对象属性
class Student: pass
count=0
count=0
私有、公有属性
__name = 'A',公有没有下划线
方法
对象实例方法
def f(self, )
静态方法
@staticmethod
def f():
def f():
类方法
@classmethod
def f(cls, )
def f(cls, )
特殊方法
__new__()
创建对象时调用
__init__()
构造方法,初始化工作
__del__()
析构函数,实现销毁类的实例所需的操作
三大特点
封装
继承
class Person: pass
class Student(Person): pass
class XiaoMing(Student): pass
class Student(Person): pass
class XiaoMing(Student): pass
多态
第十一章:集合与字典
第六章:输入输出
命令行参数
sys.argv
argv[0]脚本名
argv[1]第一个参数
argparse命令行参数解析
标准输入输出、错物流
input()、 output()
sys.stdin、sys.stdout、stderr
文件和文件对象
f = open(filename, 'r')
with open(file, 'r', encoding='utf-8) as f:
第一章:概述
Python语言特点
1.简单:易读、易学、易维护,解释型语言
2、高级语言
3、面向对象
4、可扩展性、可移植性、可嵌入性
5、丰富的库
安装
pip:用于安装和管理python扩展包
setuptools:用于发布python包
命令
安装包的最新版本
python -m pip install Numpy
安装某个版本
python -m pip install Numpy==1.4
版本范围
python -m pip install Numpy>=1.4,<2
某个兼容版本
python -m pip install Numpy
更新安装包
python -m pip install -U Numpy
第二章:基础语法
2.2.1对象概述
对象由标识、类型、值标识
type()判断对象类型
id()获取对象唯一的id标识
2.2.6动态类型语言
不需要显式的声明数据类型
2.2.7强类型语言
每个变量指向的对象均属于某个数据类型,只支持该类型操作
2.2.9对象值比较和引用判别
== 判断两变量值是否相同
is 判断两变量是否指向同一对象
2.2.10
不可变对象
int、str、tuple
可变对象
list,dict,set
2.3
标识符第一个字符必须是 “_”,字母
help()进入帮助系统,keywords查看关键字列表,quit退出帮助系统
dir(__builtins__)查看所有内置的异常名,函数名
2.4
链式赋值语句:x=y=2
删除变量:del x
语句
简单语句
表达式语句,赋值语句,assert,break等
复合语句
if,while,for,函数定义,类定义等
第三章:程序流程控制
3.3
可迭代对象
序列
字符串,列表,元组,字典等
迭代器对象
可迭代的数据集合:方法有__iter__(), __next__()
生成器函数
yield语句每次产生一个值,也可用于循环迭代
循环嵌套
代码
子主题
素数
代码
斐波那契
第四章:常用内置数据类型
内置数据类型
数值数据类型
int
int对象
int(x=0):创建int对象(十进制)。int(2)
int(x, base=10):指定进制为base(2~36)
方法
i=10; i.bit_length() or int.bit_length(i):返回i的二进制位数,不包括符号
float
python浮点类型精度与系统相关
字面量
3.14、-1.2、1. 、.2 小数点前后的0可省略
3.14e-10 : 科学计数法(3.14*10的-10次方)
float对象
TypeError:对象x转换不了float对象
ValueError:对象x转换float对象失败
正负无穷大:Inifinity、-Infinity
非数值:NaN
方法
1.25.as_integer_ratio(): 转为分数(5,4)
12.3.hex(): 转为十六进制字符串
float.fromhex('0xFF'): 十六进制转浮点数
3.14.is_integer() 判断是否int类型
str
有序的字符集合
字面量
单引号、双引号、三引号, 注意:英文的
字符串编码
ord('A') #65
chr(65) #A
转义
斐波那契
str对象:str(123)、str(3.14) #‘123’、‘3.14’
方法:str.upper('abc')、# ABC
字符串拼接:'123'+'456' # '123456'
repr()效果与str()一致
格式化
str.format("我叫{0}, 我喜欢{1}", "尼玛","打人") # 我叫尼玛,我喜欢打人
“我叫{0}, 我喜欢{1}”.format("尼玛", "打人")
n="尼玛"; a = "打人"; s = f"我叫{n}, 我喜欢{a}"
complex
字面量:1+2j
complex对象
c = complex(4, 5) # 4+5j
属性
real: 复数实部 如c.real # 4.0
imag: 虚部, c.imag # 5.0
方法conjugate() 共轭复数,c.conjugate() # 4-5j
bool
字面量:True、False
bool对象
bool(0)、bool('abc')
逻辑运算符
not
not 0 #True
and
1 and 2 #2
0 and 2 # 0
or
1 or 2 # 1
0 or 2 # 2
序列数据类型
不可变序列数据类型
字符串str:表示Unicode字符序列。如"hello"
元组tuple:表示任意类型数据的序列。如 (1,2,3)、(1, "a")
字节序列bytes: 表示字节(8位)序列数据。如 b'hello'
可变
列表类型list::可修改任意类型。如 :[1, 'two']
字节数组:表示可修改的字节数组
其他类型
模块、对象、类、函数
第五章:序列数据类型
5.2 基本操作
列表
切片:s[i:j:k] k为步长
方法
append() 追加
clear() 删除所有=del [:]
copy() 复制列表
extend(t) 把序列t添加到尾部
insert(i, x) 在i位置插入x
pop([i]) 返回并移除
remove(x) 移除第一个出现的x
reverse() 反转
sort() 排序
收藏
收藏
0 条评论
下一页