概述
常用数据类型
整数、浮点数、字符串、布尔值、空值、
字符串编码
默认使用unicode编码,通过encode转换成byte数组,byte通过decode转换成unicode字符串。
常用数据结构
list
tuple
set
dict
列表生成式
生成list [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]可以用list(range(1, 11)):
[x * x for x in range(1, 11) if x % 2 == 0]
生成器generator
列表生成式的[]改成(),就创建了一个generator
g = (x * x for x in range(10))
使用yield创建
def fib(max):
n, a, b = 0, 0, 1
while n < max:
yield b
a, b = b, a + b
n = n + 1
return 'done'
每次调用next()的时候执行,遇到yield语句返回,再次执行时从上次返回的yield语句处继续执行
迭代器
凡是可作用于for循环的对象都是Iterable类型;
凡是可作用于next()函数的对象都是Iterator类型,它们表示一个惰性计算的序列;
集合数据类型如list、dict、str等是Iterable但不是Iterator,不过可以通过iter()函数获得一个Iterator对象。
map/reduce
>>> def f(x):
... return x * x
...
>>> r = map(f, [1, 2, 3, 4, 5, 6, 7, 8, 9])
>>> list(r)
[1, 4, 9, 16, 25, 36, 49, 64, 81]
reduce(f, [x1, x2, x3, x4]) = f(f(f(x1, x2), x3), x4)
filter
筛选函数
def is_odd(n):
return n % 2 == 1
list(filter(is_odd, [1, 2, 4, 5, 6, 9, 10, 15]))
sorted 可以对list进行排序呢
sorted(['bob', 'about', 'Zoo', 'Credit'], key=str.lower, reverse=True)
返回函数
def lazy_sum(*args):
def sum():
ax = 0
for n in args:
ax = ax + n
return ax
return sum
当我们调用lazy_sum()时,返回的并不是求和结果,而是求和函数
匿名函数
匿名函数lambda x: x * x实际上就是:
def f(x):
return x * x
装饰器
import functools
def log(func):
@functools.wraps(func)
def wrapper(*args, **kw):
print('call %s():' % func.__name__)
return func(*args, **kw)
return wrapper
import functools
def log(text):
def decorator(func):
@functools.wraps(func)
def wrapper(*args, **kw):
print('%s %s():' % (text, func.__name__))
return func(*args, **kw)
return wrapper
return decorator
偏函数
functools.partial的作用就是,把一个函数的某些参数给固定住(也就是设置默认值),返回一个新的函数,调用这个新函数会更简单。
>>> import functools
>>> int2 = functools.partial(int, base=2)
>>> int2('1000000')
type和isinstance的区别
type()不会认为子类是一种父类类型。
isinstance()会认为子类是一种父类类型。
最后
以上就是专一紫菜为你收集整理的python的基础知识点总结_Python基础知识点总结的全部内容,希望文章能够帮你解决python的基础知识点总结_Python基础知识点总结所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复