Python近期遇到不会的地方(一)2021.7.6——2021.7.17

纯记录,方便自己看的,参考内容会注明来源,无打赏盈利,侵删。

诚挚感谢各位大佬的解答与总结。

目录

断言(assert)

用法总结与注意事项:

原则:

lambda函数与apply

lamda函数

apply

普通情况

 Dataframe情况

map函数

python中下划线的作用


断言(assert)

如果是true就继续执行,否则程序终止运行。

用法总结与注意事项:

  1. 在函数开始处检验传入参数的合法性
  2. 每个assert只检验一个条件,因为同时检验多个条件时,如果断言失败,无法直观的判断是哪个条件失败
  3. 不能使用改变环境的语句,因为assert只在DEBUG个生效,如果这么做,会使用程序在真正运行时遇到问题
  4. assert和后面的语句应空一行,以形成逻辑和视觉上的一致感
  5. 有的地方,assert不能代替条件过滤  

原则:

  1. 使用断言捕捉不应该发生的非法情况。不要混淆非法情况与错误情况之间的区别,后者是必然存在的并且是一定要作出处理的。
  2. 使用断言对函数的参数进行确认。
  3. 在编写函数时,要进行反复的考查,并且自问:"我打算做哪些假定?"一旦确定了的假定,就要使用断言对假定进行检查。
  4. 一般教科书都鼓励程序员们进行防错性的程序设计,但要记住这种编程风格会隐瞒错误。当进行防错性编程时,如果"不可能发生"的事情的确发生了,则要使用断言进行报警。

博主:thisway_diy

链接:https://www.runoob.com/w3cnote/c-assert.html

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 函数返回值的新列表。

链接:https://www.runoob.com/python/python-func-map.html

python中下划线的作用

知乎:地球的外星人君

链接:https://zhuanlan.zhihu.com/p/36173202

函数前@的意义

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 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值