这学期有两门作业需要用到python,因此复习整理一波,需要记住的知识点
基础知识
缩进
#
/
io:input/print
数据类型
List []
Tuple ()
Set {}
Discitonary {}
运算符
//取整除
**幂
逻辑运算符 and/or/not
成员运算符 in/not in
身份运算符 is/is not
优先级(后面再看)
数字
数字类型转换 complex(x,y) -> 复数
字符串
三引号 -> 字符串多行输出
end关键字 -> 同一行输出
a, b = 0, 1
while b < 1000:
print(b, end=',')
a, b = b, a+b
条件控制
if elif else
循环
range -> 数字序列
pass 语句 ->占位语句
循环中的else子句
for n in range(2, 10):
for x in range(2, n):
if n % x == 0:
print(n, '等于', x, '*', n//x)
break
else:
# 循环中没有找到元素
print(n, ' 是质数')
迭代器
基本方法:iter() & next()
StopIteration异常 -> 标识迭代的完成
class MyNumbers:
def __iter__(self):
self.a = 1
return self
def __next__(self):
x = self.a
self.a += 1
return x
myclass = MyNumbers()
myiter = iter(myclass)
print(next(myiter))
print(next(myiter))
print(next(myiter))
print(next(myiter))
print(next(myiter))
生成器
使用了yield 跟普通函数不同的是,生成器是一个返回迭代器的函数,只能用于迭代操作,更简单点理解生成器就是一个迭代器。
在调用生成器运行的过程中,每次遇到 yield 时函数会暂停并保存当前所有的运行信息,返回 yield 的值, 并在下一次执行 next()
方法时从当前位置继续运行。 调用一个生成器函数,返回的是一个迭代器对象。
函数
定义 -> def
参数传递 在 python 中,strings, tuples, 和 numbers 是不可更改的对象,而 list,dict
等则是可以修改的对象。不定长参数 -> *(Tuple)/**(Dictionary)/
匿名函数 lambda -> 只包含一个语句
global(内部修改外部) 和 nonlocal(作用域嵌套)关键字
异常
except/raise
面向对象
继承:class DerivedClassName(BaseClassName1): #支持多继承
属性:两个下划线表示私有