(lambda x: x * 2)(3)
6
普通函数与匿名函数的对比:
#普通函数
def add(a,b):
return a + b
print add(2,3)
#匿名函数
add = lambda a,b : a + b
print add(2,3)
#输出===
5
5
匿名函数的命名规则,用lamdba 关键字标识,冒号(:)左侧表示函数接收的参数(a,b) ,冒号(:)右侧表示函数的返回值(a+b)。
因为lamdba在创建时不需要命名,所以,叫匿名函数
5,int64和int的区别?
int是Python的基本类型,而int64是numpy中引入的一个类,即numpy.int64;
使用numpy模块中的numpy.sum()方法得到的结果是Int64,而使用默认的sum()得到的结果是Int类型。
下面代码中,虽然执行结果a和b的数值都是6,但是类型不同。
‘’’
学习中遇到问题没人解答?小编创建了一个Python学习交流QQ群:531509025
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
‘’’
import numpy as np
a 的类型是int64
a = np.sum([1,2,3])
b 的类型是int
b = sum([1,2,3])
int64不会报除0的错误(事实上numpy中的其他类型也不会报错,比如float64等);而int会报除0错误(其他基本类型也会,比如float等)
6,sorted函数
对sequence进行排序,直接看例子:
s = [(‘a’, 3), (‘b’, 2), (‘c’, 1)]
sorted(s, key=lambda x:x[1])
s = [(‘a’, 3), (‘b’, 2), (‘c’, 1)]
更多例子:
l = [‘foo’, ‘bar’, ‘far’]
map(lambda x: x.upper(), l)
[‘FOO’, ‘BAR’, ‘FAR’]
filter(lambda x: ‘f’ in x, l)
[‘foo’, ‘far’]
map(lambda x: x.upper(), filter(lambda x: ‘f’ in x, l))
[‘FOO’, ‘FAR’]
reduce(lambda a, b: a * b, xrange(1, 5)) # 计算 123*4 = 24
24
7,序列解包(for x,y in zip(keys,values):)详解
序列解包是一个非常重要和常用的一个功能,使用序列解包可以用非常简洁的方法完成复杂的功能。增强代码的可读性,减少代码量。
zip函数接受多个(包括0个和1个)序列作为参数,返回一个tuple列表。
‘’’
学习中遇到问题没人解答?小编创建了一个Python学习交流QQ群:531509025
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
‘’’
a, b, c = 1, 2, 3
print(a, b, c)
test_tuple = (False, 3.5, ‘test’)
d, e, f = test_tuple
print(d, e, f)
x, y, z = map(str, range(3))
print(x, y, z)
输出结果为:
1 2 3
False 3.5 test
0 1 2
7.2 序列解包也可以用于列表和字典
字典的话默认是对“key” 进行操作,如需对“key”----“value” 进行操作则需要使用字典的items()方法进行操作。“value” 进行操作的话就使用values进行操作。
#列表进行解包
a = [1, 2, 3, 5, 6]
b, c, d, f, g = a
print(b, c, d, f, g)
print(‘---------------------------’)
#字典进行解包
test_dicts = {‘a’: ‘x’, ‘b’: 1, ‘c’: 3}
q, w, e = test_dicts
r, t, y = test_dicts.items()
i, o, p = test_dicts.values()
print(q, w, e)
print(r, y, t)
print(i, o, p)
输出结果:
1 2 3 5 6
a b c
(‘a’, ‘x’) (‘c’, 3) (‘b’, 1)
x 1 3
7.3 用序列解包同时遍历多个序列
‘’’
学习中遇到问题没人解答?小编创建了一个Python学习交流QQ群:531509025
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
‘’’
list_1 = [1, 2, 3, 4]
list_2 = [‘a’, ‘b’, ‘c’]
for x, y in zip(list_1, list_2):
print(x, y)
结果:
1 a
2 b
3 c
(1)Python所有方向的学习路线(新版)
这是我花了几天的时间去把Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
最近我才对这些路线做了一下新的更新,知识体系更全面了。
(2)Python学习视频
包含了Python入门、爬虫、数据分析和web开发的学习视频,总共100多个,虽然没有那么全面,但是对于入门来说是没问题的,学完这些之后,你可以按照我上面的学习路线去网上找其他的知识资源进行进阶。
(3)100多个练手项目
我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了,只是里面的项目比较多,水平也是参差不齐,大家可以挑自己能做的项目去练练。
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!