纯记录,方便自己看的,参考内容会注明来源,无打赏盈利,侵删。
诚挚感谢各位大佬的解答与总结。
目录
断言(assert)
如果是true就继续执行,否则程序终止运行。
用法总结与注意事项:
- 在函数开始处检验传入参数的合法性
- 每个assert只检验一个条件,因为同时检验多个条件时,如果断言失败,无法直观的判断是哪个条件失败
- 不能使用改变环境的语句,因为assert只在DEBUG个生效,如果这么做,会使用程序在真正运行时遇到问题
- assert和后面的语句应空一行,以形成逻辑和视觉上的一致感
- 有的地方,assert不能代替条件过滤
原则:
- 使用断言捕捉不应该发生的非法情况。不要混淆非法情况与错误情况之间的区别,后者是必然存在的并且是一定要作出处理的。
- 使用断言对函数的参数进行确认。
- 在编写函数时,要进行反复的考查,并且自问:"我打算做哪些假定?"一旦确定了的假定,就要使用断言对假定进行检查。
- 一般教科书都鼓励程序员们进行防错性的程序设计,但要记住这种编程风格会隐瞒错误。当进行防错性编程时,如果"不可能发生"的事情的确发生了,则要使用断言进行报警。
博主:thisway_diy
lambda函数与apply
lamda函数
形式:lambda 参数:操作(参数)
会返回一个函数对象;表达式只能有一个;定义简单函数。
apply
普通情况
形式:apply(func,*args,**kwargs)
func可以是匿名函数
用途:当一个函数的参数存在于一个元组或者一个字典中时,用来间接的调用这个函数,并将元组或者字典中的参数按照顺序传递给参数
args-元组传参,必须按照位置
kwargs字典传参。
args不传递,kwargs需要传递,必须在args位置留空(写())
def function(a,b):
print(a,b)
apply(function,('good','better'))
apply(function,(2,3+6))
apply(function,('cai','quan'))
apply(function,('cai',),{'b':'caiquan'})
apply(function,(),{'a':'caiquan','b':'Tom'})
Dataframe情况
t1=df.apply(f) 对df的列应用函数
除标量外,传递给apply的函数还可以返回由多个值组成的Serie
t3=df.applymap(f)应用到每个元素
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/anshuai_aw1/article/details/82347016
map函数
map(function, iterable, ...)
map() 会根据提供的函数对指定序列做映射。
第一个参数 function 以参数序列中的每一个元素调用 function 函数,返回包含每次 function 函数返回值的新列表。
python中下划线的作用
知乎:地球的外星人君
函数前@的意义
def decorator(func):
return func
@decorator
def some_func():
pass
# 等价于
def decorator(func):
return func
def some_func():
pass
some_func = decorator(some_func)
B函数作为@后面的A函数的入参,这种操作的返回(这两部操作也组成一个函数)作为B函数的实际功能。
博主:南瓜派三蔬
链接:https://blog.csdn.net/qq_36810398/article/details/103667836